diff --git a/resources/[defaultmaps]/dtpl_carrental/fxmanifest.lua b/resources/[defaultmaps]/dtpl_carrental/fxmanifest.lua new file mode 100644 index 000000000..3f6cd83fa --- /dev/null +++ b/resources/[defaultmaps]/dtpl_carrental/fxmanifest.lua @@ -0,0 +1,5 @@ +fx_version 'cerulean' +games { 'gta5' } +author 'DTPL 3D <3d@dtpl.cz>' +description 'Touchdown Car Rental' +version '1.0.1' \ No newline at end of file diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/_dtplcarrent.ymf b/resources/[defaultmaps]/dtpl_carrental/stream/_dtplcarrent.ymf new file mode 100644 index 000000000..09455cc04 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/_dtplcarrent.ymf differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark.ydr b/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark.ydr new file mode 100644 index 000000000..988372a9c Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark.ydr differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark2.ydr b/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark2.ydr new file mode 100644 index 000000000..c59c70d28 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/ap1_03_td_cpark2.ydr differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.cwproj b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.cwproj new file mode 100644 index 000000000..56a850537 --- /dev/null +++ b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.cwproj @@ -0,0 +1,21 @@ + + New CodeWalker Project + + + dtpl_carrent.ymap + hei_ap1_03_strm_2.ymap + + + dtpl_carrent.ytyp + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ymap b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ymap new file mode 100644 index 000000000..227126a09 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ymap differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ytyp b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ytyp new file mode 100644 index 000000000..b4a05fb3e Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent.ytyp differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_col.ybn b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_col.ybn new file mode 100644 index 000000000..948502977 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_col.ybn differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_doors.ydr b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_doors.ydr new file mode 100644 index 000000000..27b3f519e Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_doors.ydr differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_shell.ydr b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_shell.ydr new file mode 100644 index 000000000..d4b8571ce Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_shell.ydr differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_txd.ytd b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_txd.ytd new file mode 100644 index 000000000..009ab9940 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/dtpl_carrent_txd.ytd differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_9.ybn b/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_9.ybn new file mode 100644 index 000000000..4207679a8 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_9.ybn differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_strm_2.ymap b/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_strm_2.ymap new file mode 100644 index 000000000..5582fdd2f Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/hei_ap1_03_strm_2.ymap differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/hi@hei_ap1_03_0.ybn b/resources/[defaultmaps]/dtpl_carrental/stream/hi@hei_ap1_03_0.ybn new file mode 100644 index 000000000..b3e47d5a1 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/hi@hei_ap1_03_0.ybn differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03+hi.ytd b/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03+hi.ytd new file mode 100644 index 000000000..12fdf6366 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03+hi.ytd differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03.ytd b/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03.ytd new file mode 100644 index 000000000..6bb9bad95 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/rebrand-ext/ap1_03.ytd differ diff --git a/resources/[defaultmaps]/dtpl_carrental/stream/rental_light.ydr b/resources/[defaultmaps]/dtpl_carrental/stream/rental_light.ydr new file mode 100644 index 000000000..74042c980 Binary files /dev/null and b/resources/[defaultmaps]/dtpl_carrental/stream/rental_light.ydr differ diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/.fxap b/resources/[freizeit]/[rcore_tv]/rcore_television/.fxap similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/.fxap rename to resources/[freizeit]/[rcore_tv]/rcore_television/.fxap diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/Debug.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/Debug.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/Debug.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/Debug.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/VIP.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/VIP.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/VIP.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/VIP.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/cache_event.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/cache_event.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/cache_event.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/cache_event.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/camera.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/camera.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/camera.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/camera.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/client_editable.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/client_editable.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/client_editable.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/client_editable.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/create_television.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/create_television.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/create_television.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/create_television.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/dui_events.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/dui_events.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/dui_events.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/dui_events.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/editor.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/editor.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/editor.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/editor.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/events.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/events.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/events.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/events.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/init.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/init.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/init.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/init.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/link.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/link.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/link.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/link.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/permission.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/permission.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/permission.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/permission.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/render_scaleform.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/render_scaleform.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/render_scaleform.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/render_scaleform.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/menu.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/menu.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/menu.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/menu.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/program.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/program.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/program.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/program.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/volume.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/volume.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/television_utils/volume.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/television_utils/volume.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/utils.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/utils.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/utils.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/utils.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/client/utils_editable.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/client/utils_editable.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/client/utils_editable.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/client/utils_editable.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/config.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/config.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/config.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/config.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/const.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/const.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/const.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/const.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/custom/client/events.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/custom/client/events.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/custom/client/events.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/custom/client/events.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/es_extended only.sql b/resources/[freizeit]/[rcore_tv]/rcore_television/es_extended only.sql similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/es_extended only.sql rename to resources/[freizeit]/[rcore_tv]/rcore_television/es_extended only.sql diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/fxmanifest.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/fxmanifest.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/fxmanifest.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/fxmanifest.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/bootstrap.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/bootstrap.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/bootstrap.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/bootstrap.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/css/bootstrap.min.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/css/bootstrap.min.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/css/bootstrap.min.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/css/bootstrap.min.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/css/img/bg.jpg b/resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/css/img/bg.jpg similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/css/img/bg.jpg rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/css/img/bg.jpg diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/css/tv-menu.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/css/tv-menu.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/css/tv-menu.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/css/tv-menu.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/js/script.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/js/script.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/js/script.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/js/script.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/js/vue.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/js/vue.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/custom/menu/js/vue.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/custom/menu/js/vue.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/functions.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/functions.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/functions.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/functions.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/howler.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/howler.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/howler.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/howler.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/jquery.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/jquery.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/jquery.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/jquery.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/prefixfree.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/prefixfree.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/prefixfree.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/prefixfree.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/visualizer.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/visualizer.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/visualizer.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/visualizer.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/js/vue.min.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/js/vue.min.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/js/vue.min.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/js/vue.min.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/loaded.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/loaded.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/loaded.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/loaded.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/menu/css/img/bg.jpg b/resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/css/img/bg.jpg similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/menu/css/img/bg.jpg rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/css/img/bg.jpg diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/menu/css/tv-menu.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/css/tv-menu.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/menu/css/tv-menu.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/css/tv-menu.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/menu/menu.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/menu.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/menu/menu.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/menu.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/menu/script.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/script.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/menu/script.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/menu/script.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/off.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/off.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/off.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/off.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/bilibili/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/bilibili/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/bilibili/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/bilibili/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/douyin/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/douyin/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/douyin/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/douyin/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/music/css.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/music/css.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/music/css.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/music/css.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/music/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/music/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/music/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/music/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/other/css.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/other/css.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/other/css.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/other/css.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/other/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/other/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/other/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/other/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/readme.md b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/readme.md similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/readme.md rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/readme.md diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/twitch/css.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/twitch/css.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/twitch/css.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/twitch/css.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/twitch/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/twitch/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/twitch/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/twitch/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/video/css.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/video/css.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/video/css.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/video/css.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/video/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/video/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/video/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/video/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/css.css b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/css.css similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/css.css rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/css.css diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/index.html b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/index.html similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/index.html rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/index.html diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/yt-player.js b/resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/yt-player.js similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/html/support/youtube/yt-player.js rename to resources/[freizeit]/[rcore_tv]/rcore_television/html/support/youtube/yt-player.js diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/locales/en.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/locales/en.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/locales/en.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/locales/en.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/server/server.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/server/server.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/server/server.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/server/server.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/utils/client.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/utils/client.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/utils/client.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/utils/client.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/utils/server.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/utils/server.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/utils/server.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/utils/server.lua diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/utils/shared.lua b/resources/[freizeit]/[rcore_tv]/rcore_television/utils/shared.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/rcore_television/utils/shared.lua rename to resources/[freizeit]/[rcore_tv]/rcore_television/utils/shared.lua diff --git a/resources/[standalone]/[rcore_tv]/readme.md b/resources/[freizeit]/[rcore_tv]/readme.md similarity index 100% rename from resources/[standalone]/[rcore_tv]/readme.md rename to resources/[freizeit]/[rcore_tv]/readme.md diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/.fxap b/resources/[freizeit]/[rcore_tv]/tv_scaleform/.fxap similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/.fxap rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/.fxap diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/fxmanifest.lua b/resources/[freizeit]/[rcore_tv]/tv_scaleform/fxmanifest.lua similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/fxmanifest.lua rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/fxmanifest.lua diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_1.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_1.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_1.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_1.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_2.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_2.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_2.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_2.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_3.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_3.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_3.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_3.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_4.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_4.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_4.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_4.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_5.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_5.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_5.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_5.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_6.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_6.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_6.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_6.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_7.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_7.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_7.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_7.gfx diff --git a/resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_8.gfx b/resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_8.gfx similarity index 100% rename from resources/[standalone]/[rcore_tv]/tv_scaleform/stream/television_scaleform_8.gfx rename to resources/[freizeit]/[rcore_tv]/tv_scaleform/stream/television_scaleform_8.gfx diff --git a/resources/[standalone]/vms_firework/README.md b/resources/[freizeit]/vms_firework/README.md similarity index 100% rename from resources/[standalone]/vms_firework/README.md rename to resources/[freizeit]/vms_firework/README.md diff --git a/resources/[standalone]/vms_firework/client.lua b/resources/[freizeit]/vms_firework/client.lua similarity index 100% rename from resources/[standalone]/vms_firework/client.lua rename to resources/[freizeit]/vms_firework/client.lua diff --git a/resources/[standalone]/vms_firework/config.lua b/resources/[freizeit]/vms_firework/config.lua similarity index 100% rename from resources/[standalone]/vms_firework/config.lua rename to resources/[freizeit]/vms_firework/config.lua diff --git a/resources/[standalone]/vms_firework/fxmanifest.lua b/resources/[freizeit]/vms_firework/fxmanifest.lua similarity index 100% rename from resources/[standalone]/vms_firework/fxmanifest.lua rename to resources/[freizeit]/vms_firework/fxmanifest.lua diff --git a/resources/[standalone]/vms_firework/server.lua b/resources/[freizeit]/vms_firework/server.lua similarity index 100% rename from resources/[standalone]/vms_firework/server.lua rename to resources/[freizeit]/vms_firework/server.lua diff --git a/resources/[inventory]/cs_shops/config/config.lua b/resources/[inventory]/cs_shops/config/config.lua index 2e8f8c274..8d480f2e4 100644 --- a/resources/[inventory]/cs_shops/config/config.lua +++ b/resources/[inventory]/cs_shops/config/config.lua @@ -1485,13 +1485,7 @@ CodeStudio.Products = { itemName = "AR-15", itemStock = 50, itemPrice = 0, - itemInfo = "Versatile rifle with attachments", - itemMetaData = { -- Also Supports Adding Attachement's [Example: For QBCore Server] - attachments = { - { component = 'flashlight_attachment', label = 'Flashlight' }, - { component = 'holoscope_attachment', label = '3x Scope' }, - } - } + itemInfo = "", }, ['weapon_nightstick'] = { itemName = "Schlagstok", diff --git a/resources/[inventory]/cs_shops/config/functions/sv_function.lua b/resources/[inventory]/cs_shops/config/functions/sv_function.lua index a75a7ea4c..4863bdd60 100644 --- a/resources/[inventory]/cs_shops/config/functions/sv_function.lua +++ b/resources/[inventory]/cs_shops/config/functions/sv_function.lua @@ -93,16 +93,45 @@ function RemovePlayerMoney(player, amount, bank) end function AddItem(source, item, amount, metadata) - if not metadata then metadata = {} end + -- Initialize metadata if not provided + metadata = metadata or {} + if GetResourceState('ox_inventory') == 'started' then exports['ox_inventory']:AddItem(source, item, amount, metadata) + elseif GetResourceState('qs-inventory') == 'started' then exports['qs-inventory']:AddItem(source, item, amount, false, metadata) + elseif GetResourceState('tgiann-inventory') == 'started' then - exports["tgiann-inventory"]:AddItem(source, item, amount, slot, metadata, isClotheSlot) + -- For tgiann-inventory, we need to handle weapons differently + local upperItem = string.upper(tostring(item)) + + if string.match(upperItem, "WEAPON_") then + -- Create a completely new metadata table for weapons to avoid any reference issues + local weaponMetadata = { + -- Always use a string for serie, generated fresh each time + serie = tostring(math.random(100000, 999999)), + -- Copy any existing metadata values that should be preserved + ammo = metadata.ammo or 0, + quality = metadata.quality or 100 + } + + -- Debug output to verify the metadata structure + print("Adding weapon: " .. item) + print("Metadata: serie=" .. weaponMetadata.serie .. ", type=" .. type(weaponMetadata.serie)) + + -- Use the clean weapon metadata instead of the original + exports["tgiann-inventory"]:AddItem(source, item, amount, nil, weaponMetadata, nil) + else + -- For non-weapon items, use the original metadata + exports["tgiann-inventory"]:AddItem(source, item, amount, nil, metadata, nil) + end + elseif GetResourceState('origen_inventory') == 'started' then exports['origen_inventory']:addItem(source, item, amount, metadata, false) + else + -- Default handling for QB/ESX local Player = GetPlayer(source) if CodeStudio.ServerType == 'QB' then Player.Functions.AddItem(item, amount, nil, metadata) @@ -112,6 +141,9 @@ function AddItem(source, item, amount, metadata) end end + + + function BuyItems(data) local item = data.item local amount = tonumber(data.amount) or 1 diff --git a/resources/[inventory]/nordi_schredder/client.lua b/resources/[inventory]/nordi_schredder/client.lua new file mode 100644 index 000000000..c4af2bd2d --- /dev/null +++ b/resources/[inventory]/nordi_schredder/client.lua @@ -0,0 +1,261 @@ +local QBCore = exports['qb-core']:GetCoreObject() + +-- Müllschredder Locations mit Props +local shredderLocations = { + { + coords = vector3(287.5, -1334.5, 29.3), + heading = 0.0, + prop = 'prop_dumpster_4' -- Ändere hier das Prop + }, + { + coords = vector3(148.54, 269.21, 109.97), + heading = 90.0, + prop = 'prop_bin_08a' -- Anderes Prop Beispiel + } +} + +local createdProps = {} + +-- Erstelle Müllschredder Props und Targets +Citizen.CreateThread(function() + for i, location in ipairs(shredderLocations) do + -- Prop Model laden + local model = GetHashKey(location.prop) + RequestModel(model) + while not HasModelLoaded(model) do + Wait(1) + end + + -- Prop erstellen + local shredder = CreateObject(model, location.coords.x, location.coords.y, location.coords.z, false, false, false) + SetEntityHeading(shredder, location.heading) + FreezeEntityPosition(shredder, true) + SetEntityInvincible(shredder, true) + + table.insert(createdProps, shredder) + + -- QB-Target hinzufügen + exports['qb-target']:AddTargetEntity(shredder, { + options = { + { + type = "client", + event = "shredder:openInventory", + icon = "fas fa-dumpster", + label = "Müllschredder öffnen", + canInteract = function() + return true + end, + }, + { + type = "client", + event = "shredder:openMenu", + icon = "fas fa-fire", + label = "Items vernichten", + canInteract = function() + return true + end, + } + }, + distance = 2.0 + }) + end +end) + +-- Schredder Inventar öffnen +RegisterNetEvent('shredder:openInventory', function() + local playerPed = PlayerPedId() + local coords = GetEntityCoords(playerPed) + + -- Prüfen ob Spieler nah genug an einem Schredder ist + local nearShredder = false + for i, location in ipairs(shredderLocations) do + local distance = #(coords - location.coords) + if distance <= 3.0 then + nearShredder = true + break + end + end + + if not nearShredder then + lib.notify({ + title = 'Müllschredder', + description = 'Du bist zu weit vom Schredder entfernt!', + type = 'error' + }) + return + end + + -- Schredder Inventar öffnen + TriggerServerEvent('shredder:server:openInventory') +end) + +-- Vernichtungsmenü öffnen +RegisterNetEvent('shredder:openMenu', function() + local playerPed = PlayerPedId() + local coords = GetEntityCoords(playerPed) + + -- Prüfen ob Spieler nah genug an einem Schredder ist + local nearShredder = false + for i, location in ipairs(shredderLocations) do + local distance = #(coords - location.coords) + if distance <= 3.0 then + nearShredder = true + break + end + end + + if not nearShredder then + lib.notify({ + title = 'Müllschredder', + description = 'Du bist zu weit vom Schredder entfernt!', + type = 'error' + }) + return + end + + TriggerServerEvent('shredder:server:getItems') +end) + +-- Menü mit Items anzeigen +RegisterNetEvent('shredder:client:showMenu', function(items) + if not items or #items == 0 then + lib.notify({ + title = 'Müllschredder', + description = 'Der Schredder ist leer!', + type = 'error' + }) + return + end + + local menuOptions = {} + + -- Alle Items vernichten Option + table.insert(menuOptions, { + title = '🔥 ALLE ITEMS VERNICHTEN', + description = 'Vernichtet alle Items im Schredder permanent!', + icon = 'fire', + onSelect = function() + confirmDestroyAll() + end + }) + + table.insert(menuOptions, { + title = '─────────────────', + description = 'Einzelne Items:', + disabled = true + }) + + -- Einzelne Items zum Menü hinzufügen + for slot, item in pairs(items) do + if item and item.amount and item.amount > 0 then + table.insert(menuOptions, { + title = (item.label or item.name), + description = 'Anzahl: ' .. item.amount .. ' | Slot: ' .. slot, + icon = 'trash', + onSelect = function() + confirmDestroySingle(item.name, item.amount, slot) + end + }) + end + end + + lib.registerContext({ + id = 'shredder_menu', + title = '🗑️ Müllschredder Verwaltung', + options = menuOptions + }) + + lib.showContext('shredder_menu') +end) + +-- Einzelnes Item vernichten bestätigen +function confirmDestroySingle(itemName, amount, slot) + lib.registerContext({ + id = 'shred_single_confirm', + title = '⚠️ Item vernichten?', + options = { + { + title = '🔥 Ja, vernichten', + description = itemName .. ' (' .. amount .. 'x) wird permanent gelöscht!', + icon = 'check', + onSelect = function() + TriggerServerEvent('shredder:server:destroySingle', itemName, amount, slot) + end + }, + { + title = '❌ Abbrechen', + description = 'Zurück zum Hauptmenü', + icon = 'times', + onSelect = function() + TriggerServerEvent('shredder:server:getItems') + end + } + } + }) + + lib.showContext('shred_single_confirm') +end + +-- Alle Items vernichten bestätigen +function confirmDestroyAll() + lib.registerContext({ + id = 'shred_all_confirm', + title = '⚠️ WARNUNG ⚠️', + options = { + { + title = '🔥 JA, ALLES VERNICHTEN', + description = 'ALLE Items im Schredder werden permanent gelöscht!', + icon = 'fire', + onSelect = function() + TriggerServerEvent('shredder:server:destroyAll') + end + }, + { + title = '❌ Abbrechen', + description = 'Zurück zum Hauptmenü', + icon = 'times', + onSelect = function() + TriggerServerEvent('shredder:server:getItems') + end + } + } + }) + + lib.showContext('shred_all_confirm') +end + +-- Erfolgs-Notification mit Effekt +RegisterNetEvent('shredder:client:itemDestroyed', function(message) + lib.notify({ + title = 'Müllschredder', + description = message, + type = 'success', + duration = 4000 + }) + + -- Partikel-Effekt + local playerPed = PlayerPedId() + local coords = GetEntityCoords(playerPed) + + RequestNamedPtfxAsset("core") + while not HasNamedPtfxAssetLoaded("core") do + Wait(1) + end + + UseParticleFxAssetNextCall("core") + StartParticleFxNonLoopedAtCoord("ent_sht_steam", coords.x, coords.y, coords.z + 1.0, 0.0, 0.0, 0.0, 2.0, false, false, false) + + -- Sound Effect + PlaySoundFrontend(-1, "CHECKPOINT_PERFECT", "HUD_MINI_GAME_SOUNDSET", 1) +end) + +-- Cleanup beim Resource Stop +AddEventHandler('onResourceStop', function(resourceName) + if GetCurrentResourceName() == resourceName then + for _, prop in pairs(createdProps) do + if DoesEntityExist(prop) then + DeleteEntity(prop) + end + end + end +end) diff --git a/resources/[inventory]/nordi_schredder/fxmanifest.lua b/resources/[inventory]/nordi_schredder/fxmanifest.lua new file mode 100644 index 000000000..24ce28025 --- /dev/null +++ b/resources/[inventory]/nordi_schredder/fxmanifest.lua @@ -0,0 +1,25 @@ +fx_version 'cerulean' +game 'gta5' + +author 'YourName' +description 'Müllschredder mit separatem Inventar für tgiann-inventory' +version '1.0.0' + +shared_scripts { + '@ox_lib/init.lua' +} + +client_scripts { + 'client.lua' +} + +server_scripts { + 'server.lua' +} + +dependencies { + 'qb-core', + 'qb-target', + 'ox_lib', + 'tgiann-inventory' +} diff --git a/resources/[inventory]/nordi_schredder/server.lua b/resources/[inventory]/nordi_schredder/server.lua new file mode 100644 index 000000000..051fc2c0d --- /dev/null +++ b/resources/[inventory]/nordi_schredder/server.lua @@ -0,0 +1,108 @@ +local QBCore = exports['qb-core']:GetCoreObject() + +-- Schredder Inventar öffnen +RegisterNetEvent('shredder:server:openInventory', function() + local src = source + local Player = QBCore.Functions.GetPlayer(src) + + if not Player then return end + + -- Schredder Inventar öffnen (tgiann-inventory) + exports['tgiann-inventory']:OpenInventory(src, 'stash', 'shredder_' .. src, { + maxweight = 50000, -- 50kg max + slots = 20, -- 20 Slots + label = 'Müllschredder' + }) +end) + +-- Items aus Schredder abrufen +RegisterNetEvent('shredder:server:getItems', function() + local src = source + local Player = QBCore.Functions.GetPlayer(src) + + if not Player then return end + + -- Schredder Inventar Items abrufen + local stashId = 'shredder_' .. src + local items = exports['tgiann-inventory']:GetInventory(stashId) + + TriggerClientEvent('shredder:client:showMenu', src, items or {}) +end) + +-- Einzelnes Item vernichten +RegisterNetEvent('shredder:server:destroySingle', function(itemName, amount, slot) + local src = source + local Player = QBCore.Functions.GetPlayer(src) + + if not Player then return end + + local stashId = 'shredder_' .. src + + -- Item aus Schredder entfernen + local success = exports['tgiann-inventory']:RemoveItemFromInventory(stashId, itemName, amount, slot) + + if success then + -- Log für Admins + print('^3[SHREDDER]^7 ' .. GetPlayerName(src) .. ' (' .. Player.PlayerData.citizenid .. ') hat ' .. amount .. 'x ' .. itemName .. ' vernichtet') + + -- Discord Webhook + TriggerEvent('qb-log:server:CreateLog', 'shredder', 'Item Vernichtet', 'orange', + '**Spieler:** ' .. GetPlayerName(src) .. '\n**Citizen ID:** ' .. Player.PlayerData.citizenid .. '\n**Item:** ' .. amount .. 'x ' .. itemName .. '\n**Aktion:** Einzelnes Item vernichtet') + + TriggerClientEvent('shredder:client:itemDestroyed', src, amount .. 'x ' .. itemName .. ' wurde vernichtet!') + + -- Menü neu laden + Wait(1000) + TriggerEvent('shredder:server:getItems', src) + else + TriggerClientEvent('QBCore:Notify', src, 'Fehler beim Vernichten des Items!', 'error') + end +end) + +-- Alle Items vernichten +RegisterNetEvent('shredder:server:destroyAll', function() + local src = source + local Player = QBCore.Functions.GetPlayer(src) + + if not Player then return end + + local stashId = 'shredder_' .. src + local items = exports['tgiann-inventory']:GetInventory(stashId) + + if not items or next(items) == nil then + TriggerClientEvent('QBCore:Notify', src, 'Der Schredder ist bereits leer!', 'error') + return + end + + local destroyedItems = {} + local totalItems = 0 + + -- Alle Items vernichten + for slot, item in pairs(items) do + if item and item.amount and item.amount > 0 then + local success = exports['tgiann-inventory']:RemoveItemFromInventory(stashId, item.name, item.amount, slot) + if success then + table.insert(destroyedItems, {name = item.name, amount = item.amount}) + totalItems = totalItems + item.amount + end + end + end + + if #destroyedItems > 0 then + -- Log für Admins + print('^3[SHREDDER]^7 ' .. GetPlayerName(src) .. ' (' .. Player.PlayerData.citizenid .. ') hat ALLE Items vernichtet (' .. totalItems .. ' Items)') + + -- Discord Webhook mit Item Liste + local itemList = "" + for _, item in pairs(destroyedItems) do + itemList = itemList .. '• ' .. item.amount .. 'x ' .. item.name .. '\n' + end + + TriggerEvent('qb-log:server:CreateLog', 'shredder', 'Alle Items Vernichtet', 'red', + '**Spieler:** ' .. GetPlayerName(src) .. '\n**Citizen ID:** ' .. Player.PlayerData.citizenid .. '\n**Aktion:** Alle Items vernichtet\n**Anzahl Items:** ' .. totalItems .. '\n**Items:**\n' .. itemList) + + TriggerClientEvent('shredder:client:itemDestroyed', src, 'ALLE Items (' .. totalItems .. ' Stück) wurden vernichtet!') + else + TriggerClientEvent('QBCore:Notify', src, 'Keine Items zum Vernichten gefunden!', 'error') + end +end) diff --git a/resources/[inventory]/tgiann-inventory/items/items.lua b/resources/[inventory]/tgiann-inventory/items/items.lua index cb12ca7dc..e28e5a5c1 100644 --- a/resources/[inventory]/tgiann-inventory/items/items.lua +++ b/resources/[inventory]/tgiann-inventory/items/items.lua @@ -4783,7 +4783,7 @@ itemsData = { useable = true, weight = 150, type = 'item', - unique = false, + unique = true, description = 'Spritzig, lecker, absolut neu und revolutionär. Ähnlichkeiten zu anderen Limos? Niemals. Reinste Zufälle. Wirklich.', image = 'spazi_limo.png', shouldClose = true, @@ -8574,7 +8574,7 @@ itemsData = { type = 'item', unique = true, description = 'Kult-Getränk aus Japan: Erfrischende Limonade mit fruchtigem Geschmack und der typischen Glasmurmel', - image = 'marblepop.png', + image = 'marble_pop_limo.png', shouldClose = true, label = 'Marble Pop Limo', name = 'marble_pop_limo', diff --git a/resources/[inventory]/tgiann-inventory/items/weapons.lua b/resources/[inventory]/tgiann-inventory/items/weapons.lua index 309457b51..d5f923468 100644 --- a/resources/[inventory]/tgiann-inventory/items/weapons.lua +++ b/resources/[inventory]/tgiann-inventory/items/weapons.lua @@ -72,7 +72,7 @@ local weaponsList = { -- Assault Rifles weapon_assaultrifle = { name = 'weapon_assaultrifle', label = 'AK 75', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_assaultrifle.png', description = 'A rapid-fire, magazine-fed automatic rifle designed for infantry use' }, weapon_assaultrifle_mk2 = { name = 'weapon_assaultrifle_mk2', label = 'Assault Rifle Mk II', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_assaultrifle_mk2.png', description = 'Assault Rifle MK2' }, - weapon_carbinerifle = { name = 'weapon_carbinerifle', label = 'AR 15', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_carbinerifle.png', description = 'A light weight automatic rifle' }, + weapon_carbinerifle = { name = 'weapon_carbinerifle', label = 'AR 15', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_carbinerifle.png', description = 'Carbine Rifle' }, weight automatic rifle' }, weapon_carbinerifle_mk2 = { name = 'weapon_carbinerifle_mk2', label = 'Trainings Gewehr', weight = 1000, ammotype = 'AMMO_TRAINING', image = 'weapon_carbinerifle_mk2.png', description = 'Carbine Rifle MK2' }, weapon_advancedrifle = { name = 'weapon_advancedrifle', label = 'Advanced Rifle', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_advancedrifle.png', description = 'An assault version of a rapid-fire, magazine-fed automatic rifle designed for infantry use' }, weapon_specialcarbine = { name = 'weapon_specialcarbine', label = 'KH 450', weight = 1000, ammotype = 'AMMO_RIFLE', image = 'weapon_specialcarbine.png', description = 'An extremely versatile assault rifle for any combat situation' }, diff --git a/resources/[inventory]/tgiann-weapons-on-back/.fxap b/resources/[inventory]/tgiann-weapons-on-back/.fxap new file mode 100644 index 000000000..f01780bd6 Binary files /dev/null and b/resources/[inventory]/tgiann-weapons-on-back/.fxap differ diff --git a/resources/[inventory]/tgiann-weapons-on-back/checkInv.lua b/resources/[inventory]/tgiann-weapons-on-back/checkInv.lua new file mode 100644 index 000000000..c7a602bab --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/checkInv.lua @@ -0,0 +1,28 @@ +config.useDefaultInventory = true + +local function log(msg) + print(string.format('\x1b[32m[tgiann-weapons-on-back]\x1b[0m %s', msg)) +end + +-- Chezza Studios inventory works fine with normal esx(don't add to the list) +local inventorys = { + "tgiann-inventory", + "mf-inventory", + "ox_inventory", + "core_inventory", + "qs-inventory", + "codem-inventory", + "origen_inventory" +} + +for i = 1, #inventorys do + local inventory = inventorys[i] + local isStarted = GetResourceState(inventory) == "started" + if isStarted then + config[inventory] = true + config.useDefaultInventory = false + log(string.format("Started with %s inventory", inventory)) + end +end + +if config.useDefaultInventory then log(string.format("Started with %s default inventory", config.framework == "qb" and "QB" or "ESX")) end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/codem_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/codem_inv.lua new file mode 100644 index 000000000..490b46e57 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/codem_inv.lua @@ -0,0 +1,89 @@ +if not config["codem-inventory"] then return end + +local playerJob = "" +local lastItems = {} + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + SetTimeout(2000, function() -- some waiting time because the character's inventory data is loaded later + lastItems = exports['codem-inventory']:GetClientPlayerInventory() + weaponCheck() + end) +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +RegisterNetEvent('codem-inventory:client:additem') +AddEventHandler('codem-inventory:client:additem', function(slot, data) + lastItems[tostring(slot)] = data + weaponCheck() +end) + +RegisterNetEvent('codem-inventory:client:removeitemtoclientInventory') +AddEventHandler('codem-inventory:client:removeitemtoclientInventory', function(slot, amount) + slot = tostring(slot) + if lastItems[slot] then + local itemAmount = lastItems[slot].count or lastItems[slot].amount + if itemAmount == amount then + lastItems[slot] = nil + end + end + weaponCheck() +end) + +RegisterNetEvent('codem-inventory:client:clearinventory') +AddEventHandler('codem-inventory:client:clearinventory', function() + lastItems = {} + weaponCheck() +end) + +RegisterNetEvent('codem-inventory:client:setitembyslot') +AddEventHandler('codem-inventory:client:setitembyslot', function(slot, itemData) + lastItems[tostring(slot)] = itemData + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if key == item.info?.serie or item.name then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and item.type == "weapon" then + self.Functions.AddWeapon({ + weapon = item.name, + key = item?.info?.serie or item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.info.tgiattachments, joaat(item.name)) or item.info.attachments, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/core_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/core_inv.lua new file mode 100644 index 000000000..4c3a8ae84 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/core_inv.lua @@ -0,0 +1,116 @@ +-- https://docs.c8re.store/core-inventory/api +if not config.core_inventory then return end + +local function splitStr(str, delimiter) + local result = {} + local from = 1 + local delim_from, delim_to = string.find(str, delimiter, from) + while delim_from do + result[#result + 1] = string.sub(str, from, delim_from - 1) + from = delim_to + 1 + delim_from, delim_to = string.find(str, delimiter, from) + end + result[#result + 1] = string.sub(str, from) + return result +end + +local playerJob = "" +local invItems = {} +local playerItems = {} + +local function getInventoryItems() + tgiCore.cbFunction('tgiann-weapons-on-back:core_inventory:server:getInventory', function(newPlayerItems) + playerItems = newPlayerItems + weaponCheck(true) + end) +end + +RegisterNetEvent('core_inventory:client:sync', function(inventory, data) + local split = splitStr(inventory, '-')[1] + if config.enableInv[split] then + playerItems[split] = data.content + end +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + if not PlayerData then return end + playerJob = PlayerData.job.name + getInventoryItems(PlayerData.identifier) +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck(false) +end) + +if config.framework == "qb" then + RegisterNetEvent('QBCore:Player:SetPlayerData', function(PlayerData) + playerJob = PlayerData.job.name + if not config.enableInv["content"] then return end + playerItems["content"] = PlayerData?.items + weaponCheck(true) + end) +else + RegisterNetEvent('esx:addInventoryItem') + AddEventHandler('esx:addInventoryItem', function(job) + local PlayerData = exports["tgiann-core"]:getPlayerData() + if not PlayerData then return end + getInventoryItems(PlayerData.identifier) + end) + + RegisterNetEvent('esx:removeInventoryItem') + AddEventHandler('esx:removeInventoryItem', function(job) + local PlayerData = exports["tgiann-core"]:getPlayerData() + if not PlayerData then return end + getInventoryItems(PlayerData.identifier) + end) +end + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(invItems) do + if item and key == (item.metadata?.serial or item.name) then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck(updateData) + if updateData then + invItems = {} + for _, inv in pairs(playerItems) do + for _, item in pairs(inv) do + invItems[#invItems + 1] = item + end + end + end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(invItems) do + if item and string.find(string.lower(item.name), "weapon") then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.metadata?.serial or item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.metadata.tgiattachments, joaat(item.name)) or item.metadata.attachments, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/esx_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/esx_inv.lua new file mode 100644 index 000000000..ff1881be5 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/esx_inv.lua @@ -0,0 +1,88 @@ +if config.framework ~= "esx" then return end +if not config.useDefaultInventory then return end + +local playerJob = "" +local lastItems = {} + +local function getInventoryItems() + tgiCore.cbFunction('tgiann-weapons-on-back:esx_inv:server:getInventory', function(playerItems, loadout) + local itemList = {} + -- ESX is suck + if loadout and #loadout > 0 then + for i = 1, #loadout do + itemList[#itemList + 1] = loadout[i] + end + end + + if playerItems and #playerItems > 0 then + for i = 1, #playerItems do + if playerItems[i].count > 0 then + itemList[#itemList + 1] = playerItems[i] + end + end + end + lastItems = itemList + weaponCheck() + end) +end + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + getInventoryItems() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('esx:addInventoryItem') +AddEventHandler('esx:addInventoryItem', function(job) + getInventoryItems() +end) + +RegisterNetEvent('esx:removeInventoryItem') +AddEventHandler('esx:removeInventoryItem', function(job) + getInventoryItems() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if item and key == item.name then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + self.Functions.CheckWeaponIsRemoved() + Wait(100) + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and string.find(string.lower(item.name), "weapon") then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item?.info?.tgiattachments, joaat(item.name)) or item.components, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/main.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/main.lua new file mode 100644 index 000000000..786946d5f --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/main.lua @@ -0,0 +1,99 @@ +tgiCore = nil +CreateThread(function() + while not tgiCore do + tgiCore = tgiCoreExports:getCore() + Wait(200) + end +end) + +local function LoadModel(model) + if HasModelLoaded(model) then return end + RequestModel(model) + while not HasModelLoaded(model) do Wait(0) end +end + +self.Functions.AddAttachments = function(entity, weaponName, weaponHash, attachments) + if not attachments then return end + if config.tgiann_attachments then + for _, data in pairs(attachments) do + local model = GetWeaponComponentTypeModel(data.component) + if model ~= 0 then + LoadModel(model) + GiveWeaponComponentToWeaponObject(entity, data.component) + SetModelAsNoLongerNeeded(data.component) + else + SetWeaponObjectTintIndex(entity, data.component) + end + end + elseif config.core_inventory then + for _, data in pairs(attachments) do + local model = GetWeaponComponentTypeModel(data.componentHash) + if model ~= 0 then + LoadModel(model) + GiveWeaponComponentToWeaponObject(entity, data.componentHash) + SetModelAsNoLongerNeeded(data.componentHash) + else + SetWeaponObjectTintIndex(entity, data.componentHash) + end + end + elseif config.ox_inventory then + if not oxItems then oxItems = exports.ox_inventory:Items() end + for i = 1, #attachments do + local components = oxItems[attachments[i]].client.component + for v = 1, #components do + local component = components[v] + if DoesWeaponTakeWeaponComponent(weaponHash, component) then + local model = GetWeaponComponentTypeModel(component) + if model ~= 0 then + LoadModel(model) + GiveWeaponComponentToWeaponObject(entity, component) + SetModelAsNoLongerNeeded(component) + end + end + end + end + elseif config.framework == "qb" then + for _, data in pairs(attachments) do + local model = GetWeaponComponentTypeModel(data.component) + if model ~= 0 then + LoadModel(model) + GiveWeaponComponentToWeaponObject(entity, data.component) + SetModelAsNoLongerNeeded(data.component) + else + SetWeaponObjectTintIndex(entity, data.component) + end + end + else + --ESX is suck + for i = 1, #attachments do + local componentData = tgiCore.core.GetWeaponComponent(weaponName, attachments[i]) + if componentData then + local hash = componentData.hash + local model = GetWeaponComponentTypeModel(hash) + if model ~= 0 then + LoadModel(model) + GiveWeaponComponentToWeaponObject(entity, hash) + SetModelAsNoLongerNeeded(hash) + else + SetWeaponObjectTintIndex(entity, hash) + end + end + end + end +end + +function getTgiannAttachments(tgiattachments, weapon) + local invSettings = exports["tgiann-attachment"]:inventoryConfig() + if invSettings then + return tgiattachments + else + local returnVal = nil + local waitCb = true + tgiCore.cbFunction("tgiann-attachment:getAttachment", function(data) + returnVal = data + waitCb = false + end, weapon) + while waitCb do Wait(10) end + return returnVal + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/mf_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/mf_inv.lua new file mode 100644 index 000000000..c8bcde8df --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/mf_inv.lua @@ -0,0 +1,77 @@ +if not config["mf-inventory"] then return end + +local playerJob = "" +local lastItems = {} + +local function getInventoryItems(identifier) + exports["mf-inventory"]:getInventoryItems(identifier, function(items) + lastItems = items + weaponCheck() + end) +end + +RegisterNetEvent('esx:playerLoaded') +AddEventHandler('esx:playerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + getInventoryItems(PlayerData.identifier) +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('esx:addInventoryItem') +AddEventHandler('esx:addInventoryItem', function(job) + local PlayerData = exports["tgiann-core"]:getPlayerData() + if not PlayerData then return end + getInventoryItems(PlayerData.identifier) +end) + +RegisterNetEvent('esx:removeInventoryItem') +AddEventHandler('esx:removeInventoryItem', function(job) + local PlayerData = exports["tgiann-core"]:getPlayerData() + if not PlayerData then return end + getInventoryItems(PlayerData.identifier) +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if item and key == item.name then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved(lastItems) + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and string.find(string.lower(item.name), "weapon") then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.metadata.tgiattachments, joaat(item.name)), + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/origen_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/origen_inv.lua new file mode 100644 index 000000000..aee6b831a --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/origen_inv.lua @@ -0,0 +1,79 @@ +if not config.origen_inventory then return end + +local origen_inventory = exports.origen_inventory +local playerJob = "" +local lastItems = {} + +local function getInventoryItems() + lastItems = origen_inventory:GetInventory() + weaponCheck() +end + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + getInventoryItems() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +--QB +RegisterNetEvent('QBCore:Player:SetPlayerData', function(PlayerData) + playerJob = PlayerData.job.name + getInventoryItems() +end) + +--ESX +RegisterNetEvent('esx:addInventoryItem') +AddEventHandler('esx:addInventoryItem', function() + getInventoryItems() +end) + +RegisterNetEvent('esx:removeInventoryItem') +AddEventHandler('esx:removeInventoryItem', function() + getInventoryItems() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if key == item.info.serie then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and item.type == "weapon" then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.info.serie, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.info.tgiattachments, joaat(item.name)) or item.info.attachments, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/ox_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/ox_inv.lua new file mode 100644 index 000000000..84715b1e3 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/ox_inv.lua @@ -0,0 +1,64 @@ +if not config.ox_inventory then return end + +local playerJob = "" +local lastItems = {} + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + lastItems = exports.ox_inventory:GetPlayerItems() or {} + weaponCheck() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +AddEventHandler('ox_inventory:updateInventory', function(changes) + for i, value in pairs(changes) do + lastItems[i] = value or nil + end + weaponCheck() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if item and key == (item.metadata.serial or item.name) then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and string.find(string.lower(item.name), "weapon") then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.metadata.serial or item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.metadata.tgiattachments, joaat(item.name)) or item.metadata.components, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qb_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qb_inv.lua new file mode 100644 index 000000000..7ee834347 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qb_inv.lua @@ -0,0 +1,64 @@ +if config.framework ~= "qb" then return end +if not config.useDefaultInventory then return end + +local playerJob = "" +local lastItems = {} + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + lastItems = PlayerData?.items + weaponCheck() +end) + +RegisterNetEvent('QBCore:Player:SetPlayerData', function(PlayerData) + playerJob = PlayerData.job.name + lastItems = PlayerData?.items + weaponCheck() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if key == item.info.serie then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and item.type == "weapon" then + self.Functions.AddWeapon({ + weapon = item.name, + key = item.info.serie, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.info.tgiattachments, joaat(item.name)) or item.info.attachments, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qs_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qs_inv.lua new file mode 100644 index 000000000..387313a79 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/qs_inv.lua @@ -0,0 +1,89 @@ +if not config["qs-inventory"] then return end + +local playerJob = "" +local lastItems = {} +local isBussy = false + +local function getInventoryItems() + if isBussy then return end + isBussy = true + while exports['qs-inventory']:inInventory() do Wait(10) end -- getUserInventory not updating when inventory is open + Wait(1000) -- getUserInventory is updating late + lastItems = exports['qs-inventory']:getUserInventory() + weaponCheck(playerJob, true) + isBussy = false +end + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + getInventoryItems() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +--ESX +RegisterNetEvent('esx:addInventoryItem') +AddEventHandler('esx:addInventoryItem', function() + getInventoryItems() +end) + +RegisterNetEvent('esx:removeInventoryItem') +AddEventHandler('esx:removeInventoryItem', function() + getInventoryItems() +end) + +--QB +RegisterNetEvent('QBCore:Player:SetPlayerData', function(PlayerData) + playerJob = PlayerData.job.name + lastItems = PlayerData?.items + weaponCheck() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck(playerJob) +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if item and key == (item.info?.serie or item.name) then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item then + local isWeapon = string.find(string.lower(item.name), "weapon") + debug(item.name .. " Check For Add Weapon", "isWeapon: " .. tostring(isWeapon)) + if isWeapon then + debug(item.name .. " Added") + self.Functions.AddWeapon({ + weapon = item.name, + key = item.info?.serie or item.name, + attachments = config.tgiann_attachments and + getTgiannAttachments(item.info.tgiattachments, joaat(item.name)) or item.info?.attachments, + playerJob = playerJob, + isMale = isMale + }) + end + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/bridge/tgiann_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/tgiann_inv.lua new file mode 100644 index 000000000..71e036f7f --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/bridge/tgiann_inv.lua @@ -0,0 +1,62 @@ +if not config["tgiann-inventory"] then return end + +local playerJob = "" +local lastItems = {} + +RegisterNetEvent('tgiCore:Client:OnPlayerLogout', function() + self.Functions.RemoveAllWeapons() +end) + +RegisterNetEvent('tgiCore:Client:OnPlayerLoaded') +AddEventHandler('tgiCore:Client:OnPlayerLoaded', function(PlayerData) + playerJob = PlayerData.job.name + lastItems = exports["tgiann-inventory"]:GetPlayerItems() + weaponCheck() +end) + +RegisterNetEvent('tgiann-inventory:inventoryUpdated') +AddEventHandler('tgiann-inventory:inventoryUpdated', function(items) + lastItems = items + weaponCheck() +end) + +RegisterNetEvent('tgiCore:Client:OnJobUpdate') +AddEventHandler('tgiCore:Client:OnJobUpdate', function(job) + self.Functions.RemoveAllWeapons() + playerJob = job.name + weaponCheck() +end) + +self.Functions.CheckWeaponIsRemoved = function() + if not next(self.weapons) then return end + for key, _ in pairs(self.weapons) do + local success = false + for _, item in pairs(lastItems) do + if key == item?.info?.serie then + success = true + break + end + end + if not success then + self.Functions.RemoveWeapon(key) + end + end +end + +function weaponCheck() + if not lastItems then return end + Wait(100) + self.Functions.CheckWeaponIsRemoved() + local isMale = GetEntityModel(PlayerPedId()) == `mp_m_freemode_01` + for _, item in pairs(lastItems) do + if item and item.type == "weapon" then + self.Functions.AddWeapon({ + weapon = string.gsub(item.name, "_police", ""), + key = item?.info?.serie or item.name, + attachments = item?.info?.tgiattachments or {}, + playerJob = playerJob, + isMale = isMale + }) + end + end +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/client.lua b/resources/[inventory]/tgiann-weapons-on-back/client/client.lua new file mode 100644 index 000000000..b45246355 Binary files /dev/null and b/resources/[inventory]/tgiann-weapons-on-back/client/client.lua differ diff --git a/resources/[inventory]/tgiann-weapons-on-back/client/editable.lua b/resources/[inventory]/tgiann-weapons-on-back/client/editable.lua new file mode 100644 index 000000000..a5f9866b3 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/client/editable.lua @@ -0,0 +1,12 @@ +function canShow(targetPed) + local isEntityVisible = IsEntityVisible(targetPed) + local getEntityAlpha = GetEntityAlpha(targetPed) + local pedIsVisible = isEntityVisible and getEntityAlpha == 255 + debug("pedIsVisible: " .. tostring(pedIsVisible), "ped:" .. targetPed, "isEntityVisible: " .. tostring(isEntityVisible), "getEntityAlpha: " .. getEntityAlpha) + return pedIsVisible +end + +function debug(...) + if not config.debug then return end + print(...) +end diff --git a/resources/[inventory]/tgiann-weapons-on-back/configs/config.lua b/resources/[inventory]/tgiann-weapons-on-back/configs/config.lua new file mode 100644 index 000000000..db92c0b04 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/configs/config.lua @@ -0,0 +1,206 @@ +--[[ + - this script needs tgiann-core script to work, you can download the script from your keymaster account + Start tgiann-core script after es_extented/qb-core script and before tgiann-* scripts + Adjust the tgiann-core config file according to the framework you are using + + https://tgiann.gitbook.io/tgiann/scripts/tgiann-weapons-on-back + + Note: If you want the weapons to be invisible while in Noclip, the character must be completely invisible. If your character is invisible to other players, other players cannot see these weapons. + If you want to edit this, take a look at client/editable.lua +]] + +tgiCoreExports = exports["tgiann-core"] +config = tgiCoreExports:getConfig() +config.debug = false + +config.tgiann_attachments = GetResourceState("tgiann-attachment") ~= "missing" -- https://tgiann.tebex.io/package/5399235 + +-- Weapon positions for male and female characters. You can add additional positions here if you like. +config.positions = { + male = { + back = { -- We have set 3 positions for the back. You can add or remove extra positions if you like. This setting also applies to other positions. + { -- position 1 + bone = 24816, + offset = vector3(0.285, -0.17, 0.13), + rot = vector3(0.0, 170.0, 0.0), + }, + { -- position 2 + bone = 24816, + offset = vector3(0.285, -0.17, 0.0), + rot = vector3(0.0, 170.0, 0.0), + }, + { -- position 3 + bone = 24816, + offset = vector3(0.285, -0.17, -0.13), + rot = vector3(0.0, 170.0, 0.0), + } + }, + front = { + { + bone = 24818, + offset = vector3(-0.03, 0.19, 0.0), + rot = vector3(-10.0, 40.0, 5.0), + } + }, + right = { + { + bone = 11816, + offset = vector3(-0.01, 0.02, 0.215), + rot = vector3(-100.0, 60.0, 45.0), + } + }, + rLegBack = { + { + bone = 11816, + offset = vector3(-0.15, -0.11, 0.22), + rot = vector3(0.0, 95.0, 180.0), + } + }, + waist = { + { + bone = 11816, + offset = vector3(-0.07, -0.13, 0.05), + rot = vector3(180.0, -30.0, 10.0), + } + }, + -- You can add extra positions here if you like. + -- The positions you add can be used in the `config.weaponPositions`, `config.weaponGroupPositions` and `config.weaponGroupJobPositions` settings. + --[[ exampleCustomName = { + { + bone = 11816, + offset = vector3(-0.07, -0.13, 0.05), + rot = vector3(180.0, -30.0, 10.0), + } + }, ]] + }, + female = { + back = { + { + bone = 24816, + offset = vector3(0.285, -0.15, 0.13), + rot = vector3(0.0, 170.0, 0.0), + }, + { + bone = 24816, + offset = vector3(0.285, -0.15, 0.0), + rot = vector3(0.0, 170.0, 0.0), + }, + { + bone = 24816, + offset = vector3(0.285, -0.15, -0.13), + rot = vector3(0.0, 170.0, 0.0), + } + }, + front = { + { + bone = 24818, + offset = vector3(-0.03, 0.21, 0.0), + rot = vector3(-10.0, 40.0, 5.0), + } + }, + right = { + { + bone = 11816, + offset = vector3(-0.09, 0.03, 0.18), + rot = vector3(-105.0, 75.0, 45.0), + } + }, + rLegBack = { + { + bone = 11816, + offset = vector3(-0.15, -0.11, 0.22), + rot = vector3(0.0, 95.0, 180.0), + } + }, + waist = { + { + bone = 11816, + offset = vector3(-0.07, -0.09, 0.05), + rot = vector3(180.0, -30.0, 10.0), + } + } + } + +} + +-- Weapons in the list do not appear on the character +config.disabledWeapons = { + weapon_flashlight = true, + weapon_knuckle = true, + weapon_bottle = true, + weapon_snowball = true, +} + +-- adjusts the location of the weapon regardless of its group +config.weaponPositions = { + --weapon_pistol = "right", +} + +-- adjusts the position of the weapon regardless of its group +config.weaponCustomPositions = { + male = { + weapon_bat = { + bone = 24816, + offset = vector3(0.0, -0.15, 0.03), + rot = vector3(0.0, 80.0, 0.0), + } + }, + female = { + weapon_bat = { + bone = 24816, + offset = vector3(0.0, -0.15, 0.03), + rot = vector3(0.0, 80.0, 0.0), + } + } +} + +--"waist" - "back" - "front" - "rigt" - "rLegBack" - "none" +config.weaponGroupPostions = { + [3539449195] = "back", --GROUP_DIGISCANNER + [-37788308] = "rLegBack", --GROUP_FIREEXTINGUISHER + [1175761940] = "none", --GROUP_HACKINGDEVICE + [2725924767] = "back", --GROUP_HEAVY + [-728555052] = "back", --GROUP_MELEE + [3759491383] = "none", --GROUP_METALDETECTOR + [1159398588] = "back", --GROUP_MG + [3493187224] = "none", --GROUP_NIGHTVISION + [431593103] = "none", --GROUP_PARACHUTE + [1595662460] = "none", --GROUP_PETROLCAN + [416676503] = "waist", --GROUP_PISTOL + [970310034] = "back", --GROUP_RIFLE + [860033945] = "back", --GROUP_SHOTGUN + [-957766203] = "front", --GROUP_SMG + [-1212426201] = "back", --GROUP_SNIPER + [690389602] = "none", --GROUP_STUNGUN + [1548507267] = "none", --GROUP_THROWN + [75159441] = "back", --GROUP_TRANQILIZER + [2685387236] = "none", --GROUP_UNARMED +} + +-- weapon locations for jobs +config.weaponGroupJobPostions = { + { + jobs = { "police" }, -- u can add multible job name + postions = { + [3539449195] = "back", --GROUP_DIGISCANNER + [-37788308] = "rLegBack", --GROUP_FIREEXTINGUISHER + [1175761940] = "none", --GROUP_HACKINGDEVICE + [2725924767] = "back", --GROUP_HEAVY + [-728555052] = "back", --GROUP_MELEE + [3759491383] = "none", --GROUP_METALDETECTOR + [1159398588] = "back", --GROUP_MG + [3493187224] = "none", --GROUP_NIGHTVISION + [431593103] = "none", --GROUP_PARACHUTE + [1595662460] = "none", --GROUP_PETROLCAN + [416676503] = "right", --GROUP_PISTOL + [970310034] = "back", --GROUP_RIFLE + [860033945] = "back", --GROUP_SHOTGUN + [-957766203] = "front", --GROUP_SMG + [-1212426201] = "back", --GROUP_SNIPER + [690389602] = "none", --GROUP_STUNGUN + [1548507267] = "none", --GROUP_THROWN + [75159441] = "back", --GROUP_TRANQILIZER + [2685387236] = "none", --GROUP_UNARMED + } + } +} diff --git a/resources/[inventory]/tgiann-weapons-on-back/configs/core_inv_config.lua b/resources/[inventory]/tgiann-weapons-on-back/configs/core_inv_config.lua new file mode 100644 index 000000000..be3ce7e4f --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/configs/core_inv_config.lua @@ -0,0 +1,5 @@ +config.enableInv = { + ["content"] = true, + ["primary"] = true, + ["secondry"] = true, +} \ No newline at end of file diff --git a/resources/[inventory]/tgiann-weapons-on-back/fxmanifest.lua b/resources/[inventory]/tgiann-weapons-on-back/fxmanifest.lua new file mode 100644 index 000000000..c59b2fef0 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/fxmanifest.lua @@ -0,0 +1,34 @@ +fx_version 'cerulean' +game 'gta5' +version '1.0.1' + +lua54 'yes' + +dependencies { + 'tgiann-core', +} + +escrow_ignore { + 'configs/*.lua', + 'checkInv.lua', + 'client/bridge/*.lua', + 'client/editable.lua', + 'server/bridge/*.lua' +} + +shared_script { + 'configs/*.lua', + 'checkInv.lua', +} + +client_scripts { + 'client/*.lua', + 'client/bridge/*.lua' +} + +server_scripts { + "server/server.lua", + 'server/bridge/*.lua', +} + +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[inventory]/tgiann-weapons-on-back/server/bridge/core_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/server/bridge/core_inv.lua new file mode 100644 index 000000000..b330e546d --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/server/bridge/core_inv.lua @@ -0,0 +1,13 @@ +if not config.core_inventory then return end + +tgiCore.cbFunction('tgiann-weapons-on-back:core_inventory:server:getInventory', function(source, cb) + local src = source + local xPlayer = tgiCore.getPlayer(src) + if not xPlayer then return end + local citizenid = tgiCore.getCid(xPlayer) + local playerItems = {} + for inv, canAdd in pairs(config.enableInv) do + if canAdd then playerItems[inv] = exports['core_inventory']:getInventory(string.format("%s-%s", inv, citizenid)) end + end + cb(playerItems) +end) diff --git a/resources/[inventory]/tgiann-weapons-on-back/server/bridge/esx_inv.lua b/resources/[inventory]/tgiann-weapons-on-back/server/bridge/esx_inv.lua new file mode 100644 index 000000000..a59396790 --- /dev/null +++ b/resources/[inventory]/tgiann-weapons-on-back/server/bridge/esx_inv.lua @@ -0,0 +1,10 @@ +if config.framework ~= "esx" then return end +if not config.useDefaultInventory then return end + +-- esx is very bad, I can't access current inventory data from client +tgiCore.cbFunction('tgiann-weapons-on-back:esx_inv:server:getInventory', function(source, cb) + local src = source + local xPlayer = tgiCore.getPlayer(src) + if not xPlayer then return end + cb(xPlayer.getInventory(), xPlayer.getLoadout()) +end) \ No newline at end of file diff --git a/resources/[inventory]/tgiann-weapons-on-back/server/server.lua b/resources/[inventory]/tgiann-weapons-on-back/server/server.lua new file mode 100644 index 000000000..794191b64 Binary files /dev/null and b/resources/[inventory]/tgiann-weapons-on-back/server/server.lua differ diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/client/client.lua b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/client/client.lua index 4104bbc54..d1af2034a 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/client/client.lua +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/client/client.lua @@ -9,6 +9,8 @@ local PlyInCarCam = false local bcamstate = false local carCam = false local onRec = false +local isRecording = false +local isDashcamRecording = false -- for prop and ped local propNetID = nil @@ -767,22 +769,88 @@ RegisterNetEvent('spy-bodycam:client:deleteDecoyPed',function(plyId) end) RegisterNetEvent('spy-bodycam:client:startRec',function(webhook,serviceUsed) - SendNUIMessage({ - action = "toggle_record", - hook = webhook, - service = serviceUsed, - recTiming = Config.RecordTime, - }) - if Config.ForceViewCam then - SetTimecycleModifier(Config.CameraEffect.bodycam) - SetTimecycleModifierStrength(0.5) - CreateThread(function() - onRec = true - while onRec do - SetFollowPedCamViewMode(4) - Wait(0) - end - end) + if isRecording then + SendNUIMessage({action = "cancel_rec_force"}) + isRecording = false + NotifyPlayer('Recording stopped!', 'success', 2500) + + if Config.ForceViewCam then + onRec = false + SetFollowPedCamViewMode(1) + SetTimecycleModifier('default') + SetTimecycleModifierStrength(1.0) + end + else + SendNUIMessage({ + action = "toggle_record", + hook = webhook, + service = serviceUsed, + recTiming = Config.RecordTime, + }) + isRecording = true + NotifyPlayer('Recording started!', 'success', 2500) + + if Config.ForceViewCam then + SetTimecycleModifier(Config.CameraEffect.bodycam) + SetTimecycleModifierStrength(0.5) + CreateThread(function() + onRec = true + while onRec do + SetFollowPedCamViewMode(4) + Wait(0) + end + end) + end + end +end) + +RegisterNetEvent('spy-bodycam:client:startDashcamRec', function(webhook, serviceUsed, netId) + if isDashcamRecording then + SendNUIMessage({action = "stop_dashcam_recording"}) + isDashcamRecording = false + NotifyPlayer('Dashcam recording stopped!', 'success', 2500) + + if Config.ForceViewCam then + onRec = false + SetFollowPedCamViewMode(1) + SetTimecycleModifier('default') + SetTimecycleModifierStrength(1.0) + end + else + local veh = NetworkGetEntityFromNetworkId(netId) + if not DoesEntityExist(veh) then + NotifyPlayer('Vehicle not found!', 'error', 2500) + return + end + + -- Get vehicle info for recording overlay + local carPlate = GetVehicleNumberPlateText(veh) + local carName = GetVehDisplayName(GetEntityModel(veh)) + + -- Send message to NUI to start recording + SendNUIMessage({ + action = "toggle_dashcam_record", + hook = webhook, + service = serviceUsed, + recTiming = Config.RecordTime, + vehicleId = netId, + vehiclePlate = carPlate, + vehicleName = carName + }) + isDashcamRecording = true + NotifyPlayer('Dashcam recording started!', 'success', 2500) + + if Config.ForceViewCam then + SetTimecycleModifier(Config.CameraEffect.dashcam) + SetTimecycleModifierStrength(0.5) + CreateThread(function() + onRec = true + while onRec do + SetFollowPedCamViewMode(4) + Wait(0) + end + end) + end end end) @@ -805,6 +873,42 @@ RegisterNetEvent('spy-bodycam:client:refreshRecords',function(records,isBoss) }) end) +-- Register hotkeys for recording if enabled in config +Citizen.CreateThread(function() + if Config.EnableRecordingHotkeys then + -- Bodycam recording hotkey + RegisterKeyMapping('bodycamrecord', 'Start/Stop bodycam recording', 'keyboard', Config.RecordHotkey) + RegisterCommand('bodycamrecord', function() + if bcamstate then -- Only if bodycam is active + TriggerServerEvent('spy-bodycam:server:toggleRecording') + else + NotifyPlayer('Bodycam not activated!', 'error', 2500) + end + end, false) + + -- Dashcam recording hotkey + RegisterKeyMapping('dashcamrecord', 'Start/Stop dashcam recording', 'keyboard', Config.DashcamHotkey) + RegisterCommand('dashcamrecord', function() + if IsPedInAnyVehicle(cache.ped, false) then + local veh = GetVehiclePedIsIn(cache.ped, false) + if isCarAuth(veh) then + local netId = NetworkGetNetworkIdFromEntity(veh) + if GlobalState.CarsOnBodycam[netId] then + TriggerServerEvent('spy-bodycam:server:toggleDashcamRecording', netId) + else + NotifyPlayer('Dashcam not activated in this vehicle!', 'error', 2500) + end + else + NotifyPlayer('Vehicle not authorized for dashcam!', 'error', 2500) + end + else + NotifyPlayer('You need to be in a vehicle to use dashcam!', 'error', 2500) + end + end, false) + end +end) + + RegisterKeyMapping('bodycamexit', 'Exit bodycam spectate', 'keyboard', Config.ExitCamKey) RegisterCommand('bodycamexit', function() if PlyInCam or PlyInCarCam then @@ -827,7 +931,7 @@ RegisterNUICallback('videoLog', function(data, cb) local videoUrl = data.vidurl local pos = GetEntityCoords(cache.ped) local s1, s2 = GetStreetNameAtCoord(pos.x, pos.y, pos.z) - TriggerServerEvent('spy-bodycam:server:logVideoDetails', videoUrl,GetStreetNameFromHashKey(s1)) + TriggerServerEvent('spy-bodycam:server:logVideoDetails', videoUrl, GetStreetNameFromHashKey(s1), data.isDashcam) end end) @@ -1041,6 +1145,7 @@ function PlayWatchAnim(ped,isNet) Citizen.Wait(10) end local prop = CreateObject(tabletprop, x, y, z + 0.2, isNet, true, false) + AttachEntityToEntity(prop, ped, GetPedBoneIndex(ped, 28422), -0.05, 0.0, 0.0, 0.0, 0.0, 0.0, AttachEntityToEntity(prop, ped, GetPedBoneIndex(ped, 28422), -0.05, 0.0, 0.0, 0.0, 0.0, 0.0, true, true, false, true, 1, true) local animDict = 'amb@code_human_in_bus_passenger_idles@female@tablet@idle_a' RequestAnimDict(animDict) @@ -1220,4 +1325,37 @@ function HasItemsCheck(itemname) return false end +-- Register hotkeys for recording +if Config.EnableRecordingHotkeys then + RegisterCommand('+bodycamrecord', function() + if bcamstate then + TriggerServerEvent('spy-bodycam:server:toggleRecording') + else + NotifyPlayer('Bodycam not activated!', 'error', 2500) + end + end, false) + + RegisterCommand('+dashcamrecord', function() + if IsPedInAnyVehicle(cache.ped, false) then + local veh = GetVehiclePedIsIn(cache.ped, false) + if isCarAuth(veh) then + local netId = NetworkGetNetworkIdFromEntity(veh) + if GlobalState.CarsOnBodycam[netId] then + TriggerServerEvent('spy-bodycam:server:toggleDashcamRecording', netId) + else + NotifyPlayer('Dashcam not activated in this vehicle!', 'error', 2500) + end + else + NotifyPlayer('Vehicle not authorized for dashcam!', 'error', 2500) + end + else + NotifyPlayer('You need to be in a vehicle to use dashcam!', 'error', 2500) + end + end, false) + + RegisterKeyMapping('+bodycamrecord', 'Start/Stop bodycam recording', 'keyboard', Config.RecordHotkey) + RegisterKeyMapping('+dashcamrecord', 'Start/Stop dashcam recording', 'keyboard', Config.DashcamHotkey) +end + + diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/config.lua b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/config.lua index cb9ef331b..1ac06914d 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/config.lua +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/config.lua @@ -21,10 +21,13 @@ Config.Dependency = { UseProgress = 'qb', -- qb | ox | esx UseMenu = 'qb', -- qb | ox | esx UseNotify = 'qb', -- qb | ox | esx - UseAppearance = 'illenium', -- qb | illenium | false + UseAppearance = 'illenium', -- qb | illenium | false } Config.ExitCamKey = 'BACK' +Config.RecordHotkey = 'F1' -- Hotkey for bodycam recording +Config.DashcamHotkey = 'F10' -- Hotkey for dashcam recording +Config.EnableRecordingHotkeys = true -- Enable/disable hotkey functionality Config.CameraEffect = { bodycam = 'Island_CCTV_ChannelFuzz', @@ -119,4 +122,4 @@ Config.VehCamOffset = { -- 19: Military -- 20: Commercial -- 21: Trains --- 22: Open Wheel \ No newline at end of file +-- 22: Open Wheel diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/server/server.lua b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/server/server.lua index bf4ee74dc..8748be1d3 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/server/server.lua +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/server/server.lua @@ -161,13 +161,71 @@ Citizen.CreateThread(function() end end) -RegisterNetEvent('spy-bodycam:server:logVideoDetails', function(videoUrl,streetName) +-- Handle bodycam recording toggle +RegisterNetEvent('spy-bodycam:server:toggleRecording', function() + local src = source + if PlayerOnBodycam[src] then + local defwebhook + if Upload.ServiceUsed == 'discord' then + local jobKey + if Config.Framework == 'qb' then + local Player = QBCore.Functions.GetPlayer(src) + jobKey = Player.PlayerData.job.name + else + local xPlayer = ESX.GetPlayerFromId(src) + jobKey = xPlayer.getJob().name + end + if Upload.JobUploads[jobKey] then + defwebhook = Upload.JobUploads[jobKey].webhook + else + defwebhook = Upload.DefaultUploads.webhook + end + elseif Upload.ServiceUsed == 'fivemanage' or Upload.ServiceUsed == 'fivemerr' then + defwebhook = Upload.Token + end + TriggerClientEvent('spy-bodycam:client:startRec', src, defwebhook, Upload.ServiceUsed) + else + NotifyPlayerSv('Bodycam not turned on!', 'error', 3000, src) + end +end) + +-- Handle dashcam recording toggle +RegisterNetEvent('spy-bodycam:server:toggleDashcamRecording', function(netId) + local src = source + if CarsOnBodycam[netId] then + local defwebhook + if Upload.ServiceUsed == 'discord' then + local jobKey + if Config.Framework == 'qb' then + local Player = QBCore.Functions.GetPlayer(src) + jobKey = Player.PlayerData.job.name + else + local xPlayer = ESX.GetPlayerFromId(src) + jobKey = xPlayer.getJob().name + end + if Upload.JobUploads[jobKey] then + defwebhook = Upload.JobUploads[jobKey].webhook + else + defwebhook = Upload.DefaultUploads.webhook + end + elseif Upload.ServiceUsed == 'fivemanage' or Upload.ServiceUsed == 'fivemerr' then + defwebhook = Upload.Token + end + TriggerClientEvent('spy-bodycam:client:startDashcamRec', src, defwebhook, Upload.ServiceUsed, netId) + else + NotifyPlayerSv('Dashcam not turned on!', 'error', 3000, src) + end +end) + + +RegisterNetEvent('spy-bodycam:server:logVideoDetails', function(videoUrl, streetName, isDashcam) local src = source local offName local offJob local offRank local jobKey local date = os.date('%Y-%m-%d') + local recordType = isDashcam and "dashcam" or "bodycam" if Config.Framework == 'qb' then local Player = QBCore.Functions.GetPlayer(src) @@ -184,12 +242,13 @@ RegisterNetEvent('spy-bodycam:server:logVideoDetails', function(videoUrl,streetN end ---SQL UPLOAD - MySQL.Async.execute('INSERT INTO spy_bodycam (job, videolink, street, date, playername) VALUES (@job, @videolink, @street, @date, @playername)', { + MySQL.Async.execute('INSERT INTO spy_bodycam (job, videolink, street, date, playername, recordtype) VALUES (@job, @videolink, @street, @date, @playername, @recordtype)', { ['@job'] = jobKey, ['@videolink'] = videoUrl, ['@street'] = streetName, ['@date'] = date, - ['@playername'] = offName + ['@playername'] = offName, + ['@recordtype'] = recordType }, function(rowsChanged) end) if Upload.DiscordLogs.Enabled then @@ -204,7 +263,7 @@ RegisterNetEvent('spy-bodycam:server:logVideoDetails', function(videoUrl,streetN end local embedData = { { - title = Upload.DiscordLogs.Title, + title = Upload.DiscordLogs.Title .. (isDashcam and " (Dashcam)" or " (Bodycam)"), color = 16761035, fields = { { name = "Name:", value = offName, inline = false }, @@ -212,7 +271,7 @@ RegisterNetEvent('spy-bodycam:server:logVideoDetails', function(videoUrl,streetN { name = "Job Rank:", value = offRank, inline = false }, }, footer = { - text = "Date: " .. os.date("!%Y-%m-%d %H:%M:%S", os.time()), + text = "Date: " .. os.date("!%Y-%m-%d %H:%M:%S", os.time()), icon_url = "https://i.imgur.com/CuSyeZT.png", }, author = author @@ -370,4 +429,58 @@ AddEventHandler('onResourceStart', function(resourceName) checkForUpdates() end end) +-- Handle bodycam recording toggle +RegisterNetEvent('spy-bodycam:server:toggleRecording', function() + local src = source + if PlayerOnBodycam[src] then + local defwebhook + if Upload.ServiceUsed == 'discord' then + local jobKey + if Config.Framework == 'qb' then + local Player = QBCore.Functions.GetPlayer(src) + jobKey = Player.PlayerData.job.name + else + local xPlayer = ESX.GetPlayerFromId(src) + jobKey = xPlayer.getJob().name + end + if Upload.JobUploads[jobKey] then + defwebhook = Upload.JobUploads[jobKey].webhook + else + defwebhook = Upload.DefaultUploads.webhook + end + elseif Upload.ServiceUsed == 'fivemanage' or Upload.ServiceUsed == 'fivemerr' then + defwebhook = Upload.Token + end + TriggerClientEvent('spy-bodycam:client:startRec', src, defwebhook, Upload.ServiceUsed) + else + NotifyPlayerSv('Bodycam not turned on!', 'error', 3000, src) + end +end) +-- Handle dashcam recording toggle +RegisterNetEvent('spy-bodycam:server:toggleDashcamRecording', function(netId) + local src = source + if CarsOnBodycam[netId] then + local defwebhook + if Upload.ServiceUsed == 'discord' then + local jobKey + if Config.Framework == 'qb' then + local Player = QBCore.Functions.GetPlayer(src) + jobKey = Player.PlayerData.job.name + else + local xPlayer = ESX.GetPlayerFromId(src) + jobKey = xPlayer.getJob().name + end + if Upload.JobUploads[jobKey] then + defwebhook = Upload.JobUploads[jobKey].webhook + else + defwebhook = Upload.DefaultUploads.webhook + end + elseif Upload.ServiceUsed == 'fivemanage' or Upload.ServiceUsed == 'fivemerr' then + defwebhook = Upload.Token + end + TriggerClientEvent('spy-bodycam:client:startDashcamRec', src, defwebhook, Upload.ServiceUsed, netId) + else + NotifyPlayerSv('Dashcam not turned on!', 'error', 3000, src) + end +end) diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/index.html b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/index.html index 23ade29bb..d7463b4dd 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/index.html +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/index.html @@ -79,9 +79,18 @@ + +
+
+
+ DASHCAM RECORDING +
+
Police Cruiser - ABC123
+
00:00
+
- \ No newline at end of file + diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/js/app.js b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/js/app.js index ff0b16b3d..929f4db9f 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/js/app.js +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/js/app.js @@ -1,7 +1,10 @@ import { GameView } from './gameview.js'; const gameview = new GameView(); let isRecording = false; +let isDashcamRecording = false; let recordingTimeout; +let dashcamRecordingTimeout; +let dashcamTimer; $(document).ready(function () { $('.overlayCont').hide(); @@ -10,6 +13,7 @@ $(document).ready(function () { $('.recCont').hide(); $('.askMain').hide(); $('.vidplaycont').hide(); + $('#dashcam-recording-ui').hide(); const beepSound = document.getElementById('beep-sound'); const offSound = document.getElementById('off-sound'); @@ -98,7 +102,7 @@ $(document).ready(function () { startRecording(data.hook, data.service); recordingTimeout = setTimeout(() => { if (isRecording) { - // Stop recording automatically after 30 seconds + // Stop recording automatically after configured time isRecording = false; $('.HeadText').html('' + 'Recording Stopped'); setTimeout(() => { @@ -118,6 +122,53 @@ $(document).ready(function () { stopRecording(); } } + if (data.action === 'toggle_dashcam_record') { + clearTimeout(dashcamRecordingTimeout); + if (!isDashcamRecording) { + // Start dashcam recording + isDashcamRecording = true; + $('#dashcam-recording-ui').show(); + $('#dashcam-vehicle-info').text(`${data.vehicleName} - ${data.vehiclePlate}`); + + // Start a timer for the dashcam recording + let seconds = 0; + dashcamTimer = setInterval(() => { + seconds++; + const mins = Math.floor(seconds / 60); + const secs = seconds % 60; + $('#dashcam-timer').text(`${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`); + }, 1000); + + // Start recording using the existing function + startRecording(data.hook, data.service, data.recTiming, true); + + // Auto-stop after the configured time + dashcamRecordingTimeout = setTimeout(() => { + if (isDashcamRecording) { + isDashcamRecording = false; + $('#dashcam-recording-ui').hide(); + clearInterval(dashcamTimer); + stopRecording(true); + } + }, data.recTiming * 1000); + } else { + // Stop dashcam recording + isDashcamRecording = false; + $('#dashcam-recording-ui').hide(); + clearTimeout(dashcamRecordingTimeout); + clearInterval(dashcamTimer); + stopRecording(true); + } + } + if (data.action === 'stop_dashcam_recording') { + if (isDashcamRecording) { + isDashcamRecording = false; + $('#dashcam-recording-ui').hide(); + clearTimeout(dashcamRecordingTimeout); + clearInterval(dashcamTimer); + stopRecording(true); + } + } if (data.action === 'cancel_rec_force') { if (isRecording) { // Force stop recording @@ -129,6 +180,13 @@ $(document).ready(function () { }, 1000); stopRecording(); } + if (isDashcamRecording) { + isDashcamRecording = false; + $('#dashcam-recording-ui').hide(); + clearTimeout(dashcamRecordingTimeout); + clearInterval(dashcamTimer); + stopRecording(true); + } } // RECORDS SHOWING @@ -138,16 +196,18 @@ $(document).ready(function () { if (Array.isArray(data.recordData) && data.recordData.length > 0) { $.each(data.recordData, function (index, record) { + var recordType = record.recordtype || 'bodycam'; + var recordIcon = recordType === 'dashcam' ? 'fa-car' : 'fa-video'; var camBox = $( `
${record.playername} [${record.street}]
-
Date: ${record.date}
+
${recordType.toUpperCase()} | Date: ${record.date}
- ${data.isBoss ? `
` : ''} + ${data.isBoss ? `
` : ''}
` @@ -166,16 +226,18 @@ $(document).ready(function () { $('.recInnerScroll').empty(); if (Array.isArray(data.recordData) && data.recordData.length > 0) { $.each(data.recordData, function (index, record) { + var recordType = record.recordtype || 'bodycam'; + var recordIcon = recordType === 'dashcam' ? 'fa-car' : 'fa-video'; var camBox = $( `
${record.playername} [${record.street}]
-
Date: ${record.date}
+
${recordType.toUpperCase()} | Date: ${record.date}
- ${data.isBoss ? `
` : ''} + ${data.isBoss ? `
` : ''}
` @@ -196,7 +258,7 @@ $(document).ready(function () { function updateVisibility(searchText) { $('.camBox').each(function () { var camTitleText = $(this).find('.camTitle').text().toLowerCase(); - var camDescDate = $(this).find('.camDesc').text().trim().replace('Date: ', ''); + var camDescDate = $(this).find('.camDesc').text().trim().replace(/.*Date: /, ''); if ((searchText === '' || camTitleText.includes(searchText)) && ($(this).css('display') !== 'none' || camDescDate === $('.selectedDate').val()) ) { @@ -220,7 +282,7 @@ $(document).ready(function () { $('.selectedDate').on('change', function () { var selectedDate = $(this).val(); $('.camBox').each(function () { - var camDescDate = $(this).find('.camDesc').text().trim().replace('Date: ', ''); + var camDescDate = $(this).find('.camDesc').text().trim().replace(/.*Date: /, ''); if (selectedDate === '') { $(this).show(); } else if (selectedDate === camDescDate) { @@ -235,7 +297,7 @@ $(document).ready(function () { $(document).on('click', '.camDelete', function () { const camBox = $(this).closest('.camBox'); - deleteUrl = camBox.find('.camShow').data('stored'); + deleteUrl = $(this).data('url'); $('.askMain').fadeIn(); }); @@ -287,7 +349,7 @@ let mediaRecorder; let audioStream; const canvasElement = document.querySelector('canvas'); -async function uploadBlob(videoBlob, hook, service) { +async function uploadBlob(videoBlob, hook, service, isDashcam = false) { $.post(`https://${GetParentResourceName()}/exitBodyCam`, '{}'); const formData = new FormData(); try { @@ -306,7 +368,8 @@ async function uploadBlob(videoBlob, hook, service) { } responseData = await response.json(); $.post(`https://${GetParentResourceName()}/videoLog`, JSON.stringify({ - vidurl: responseData.url + vidurl: responseData.url, + isDashcam: isDashcam })); } else if (service === 'fivemerr') { formData.append('file', videoBlob, 'video.webm'); @@ -322,7 +385,8 @@ async function uploadBlob(videoBlob, hook, service) { } responseData = await response.json(); $.post(`https://${GetParentResourceName()}/videoLog`, JSON.stringify({ - vidurl: responseData.url + vidurl: responseData.url, + isDashcam: isDashcam })); } else if (service === 'discord') { formData.append('file', videoBlob, 'video.webm'); @@ -335,7 +399,8 @@ async function uploadBlob(videoBlob, hook, service) { } responseData = await response.json(); $.post(`https://${GetParentResourceName()}/videoLog`, JSON.stringify({ - vidurl: responseData.attachments[0].url + vidurl: responseData.attachments[0].url, + isDashcam: isDashcam })); } } catch (error) { @@ -353,15 +418,16 @@ async function startMicrophoneCapture() { } } -async function startRecording(hook, service) { +async function startRecording(hook, service, recordTime, isDashcam = false) { audioStream = await startMicrophoneCapture(); - if (!isRecording){ + if (!isRecording && !isDashcamRecording) { if (audioStream) { audioStream.getAudioTracks().forEach(track => track.stop()); } - return + return; } - console.log('Video Recording Started'); + + console.log(isDashcam ? 'Dashcam Recording Started' : 'Bodycam Recording Started'); const gameView = gameview.createGameView(canvasElement); const canvasStream = canvasElement.captureStream(30); @@ -379,7 +445,7 @@ async function startRecording(hook, service) { mediaRecorder.onstop = async () => { const videoBlob = new Blob(videoChunks, { type: 'video/webm' }); if (videoBlob.size > 0) { - uploadBlob(videoBlob, hook, service); + uploadBlob(videoBlob, hook, service, isDashcam); } if (audioStream) { audioStream.getAudioTracks().forEach(track => track.stop()); @@ -387,8 +453,15 @@ async function startRecording(hook, service) { }; } -function stopRecording() { +function stopRecording(isDashcam = false) { if (mediaRecorder && mediaRecorder.state === 'recording') { mediaRecorder.stop(); } -} \ No newline at end of file + + if (isDashcam) { + isDashcamRecording = false; + $('#dashcam-recording-ui').hide(); + } else { + isRecording = false; + } +} diff --git a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/style.css b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/style.css index 8aa3d53f0..63e98b69d 100644 --- a/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/style.css +++ b/resources/[jobs]/[police]/[spy-bodycam]/spy-bodycam/web/style.css @@ -448,4 +448,57 @@ color: rgba(255, 255, 255, 0.26); font-size: 3rem; font-family: "Fjalla One", sans-serif; -} \ No newline at end of file +} + +/* Dashcam Recording UI */ +#dashcam-recording-ui { + position: absolute; + top: 20px; + left: 20px; + background-color: rgba(0, 0, 0, 0.7); + color: white; + padding: 15px; + border-radius: 5px; + font-family: "Play", sans-serif; + display: none; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); + border: 1px solid rgba(255, 0, 0, 0.3); + min-width: 250px; +} + +.dashcam-header { + display: flex; + align-items: center; + margin-bottom: 10px; + font-weight: bold; + font-size: 16px; +} + +#dashcam-vehicle-info { + font-size: 14px; + margin-bottom: 5px; + color: #f0f0f0; +} + +#dashcam-timer { + font-size: 20px; + font-weight: bold; + color: #ff3333; + text-align: center; +} + +.dashcam-recording-indicator { + width: 12px; + height: 12px; + background-color: red; + border-radius: 50%; + display: inline-block; + margin-right: 10px; + animation: blink 1s infinite; +} + +@keyframes blink { + 0% { opacity: 1; } + 50% { opacity: 0; } + 100% { opacity: 1; } +} diff --git a/resources/[jobs]/[weapons]/Winchester_1873/__resource.lua b/resources/[jobs]/[weapons]/Winchester_1873/__resource.lua deleted file mode 100644 index 567e450fd..000000000 --- a/resources/[jobs]/[weapons]/Winchester_1873/__resource.lua +++ /dev/null @@ -1,7 +0,0 @@ -resource_manifest_version "44febabe-d386-4d18-afbe-5e627f4af937" - -files { - 'audio/sfx/weapons_player/snp_rifle.awc', -} - -data_file 'AUDIO_WAVEPACK' 'audio/sfx/weapons_player' \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/Winchester_1873/audio/sfx/weapons_player/snp_rifle.awc b/resources/[jobs]/[weapons]/Winchester_1873/audio/sfx/weapons_player/snp_rifle.awc deleted file mode 100644 index 1edc861a8..000000000 Binary files a/resources/[jobs]/[weapons]/Winchester_1873/audio/sfx/weapons_player/snp_rifle.awc and /dev/null differ diff --git a/resources/[standalone]/nordi_tdm/client.lua b/resources/[standalone]/nordi_tdm/client.lua index 04211cd27..e3bc6d0b0 100644 --- a/resources/[standalone]/nordi_tdm/client.lua +++ b/resources/[standalone]/nordi_tdm/client.lua @@ -17,9 +17,25 @@ local playerStats = { gamesPlayed = 0 } +-- Debug-Funktion für Konsole +local function debugPrint(message) + print("^2[TDM DEBUG]^7 " .. message) +end + +-- Funktion zum Prüfen, ob eine Waffe eine Airsoft-Waffe ist +function isAirsoftWeapon(weaponHash) + return Config.airsoftWeapons[weaponHash] or Config.treatAllWeaponsAsAirsoft +end + +-- Funktion zum Prüfen, ob der Spieler im Ragdoll-Zustand ist +function isPedInRagdoll(ped) + return IsPedRagdoll(ped) or IsPedFalling(ped) or IsPedDiving(ped) +end + -- Events RegisterNetEvent('tdm:updateGamesList', function(games) activeGames = games + debugPrint("Spieleliste aktualisiert: " .. (games and table.count(games) or 0) .. " aktive Spiele") end) RegisterNetEvent('tdm:joinGame', function(gameId, team, fieldId) @@ -53,6 +69,8 @@ RegisterNetEvent('tdm:joinGame', function(gameId, team, fieldId) description = 'Du bist dem Spiel beigetreten! Team: ' .. team, type = 'success' }) + + debugPrint("Spiel beigetreten: " .. gameId .. ", Team: " .. team .. ", Feld: " .. fieldId) end) RegisterNetEvent('tdm:leaveGame', function() @@ -88,7 +106,7 @@ RegisterNetEvent('tdm:leaveGame', function() else -- Notfall-Fallback Position (anpassen an deine Map) SetEntityCoords(PlayerPedId(), -1042.4, -2745.8, 21.4) - print("^3[TDM WARNING]^7 Keine Lobby gefunden, Fallback-Position verwendet!") + debugPrint("WARNUNG: Keine Lobby gefunden, Fallback-Position verwendet!") end -- Maske entfernen @@ -104,6 +122,8 @@ RegisterNetEvent('tdm:leaveGame', function() description = 'Du hast das Spiel verlassen!', type = 'error' }) + + debugPrint("Spiel verlassen") end) RegisterNetEvent('tdm:joinRequest', function(gameId, playerName, playerId) @@ -142,34 +162,102 @@ RegisterNetEvent('tdm:joinRequestResult', function(approved, gameName) end) RegisterNetEvent('tdm:playerHit', function() - if not inTDM or isHit then return end + if not inTDM then + debugPrint("WARNUNG: Hit-Event empfangen, aber nicht im TDM!") + return + end + if isHit then + debugPrint("WARNUNG: Hit-Event empfangen, aber bereits getroffen!") + return + end + + debugPrint("Spieler wurde getroffen - Starte Respawn-Sequenz") isHit = true local ped = PlayerPedId() - RequestAnimDict("random@mugging3") - while not HasAnimDictLoaded("random@mugging3") do - Wait(1) - end - - TaskPlayAnim(ped, "random@mugging3", "handsup_standing_base", 8.0, -8.0, -1, 50, 0, false, false, false) - + -- Benachrichtigung lib.notify({ title = 'TeamDeathmatch', - description = 'Du wurdest getroffen! Gehe zurück zu deiner Team Zone!', + description = 'Du wurdest getroffen! Respawn in ' .. (Config.respawnDelay / 1000) .. ' Sekunden...', type = 'error' }) - highlightTeamZone(currentTeam) + -- Optional: Ragdoll aktivieren + SetPedToRagdoll(ped, 2000, 2000, 0, true, true, false) + + -- Verbesserte Respawn-Logik mit automatischem Teleport + SetTimeout(Config.respawnDelay, function() + if not inTDM then + debugPrint("Respawn abgebrochen - nicht mehr im TDM") + return + end + + debugPrint("Respawn wird ausgeführt...") + + -- Respawn zum Team Spawn + local fieldConfig = Config.gameFields[currentField] + if not fieldConfig then + debugPrint("FEHLER: Feldkonfiguration nicht gefunden für Respawn!") + return + end + + local spawnPoints = fieldConfig.teamSpawns[currentTeam] + if not spawnPoints or #spawnPoints == 0 then + debugPrint("FEHLER: Keine Spawn-Punkte gefunden für Respawn!") + return + end + + local randomSpawn = spawnPoints[math.random(#spawnPoints)] + debugPrint("Respawn-Position: " .. randomSpawn.x .. ", " .. randomSpawn.y .. ", " .. randomSpawn.z) + + -- Teleport zum Spawn mit Fade + DoScreenFadeOut(500) + Wait(600) + + -- Stellen Sie sicher, dass der Spieler lebt + NetworkResurrectLocalPlayer(randomSpawn.x, randomSpawn.y, randomSpawn.z, 0.0, true, false) + debugPrint("Spieler wiederbelebt") + + -- Alle Animationen stoppen + ClearPedTasksImmediately(ped) + + -- Teleport direkt zum Spawn-Punkt + SetEntityCoords(ped, randomSpawn.x, randomSpawn.y, randomSpawn.z) + SetEntityHealth(ped, GetEntityMaxHealth(ped)) + + -- Spieler ist wieder aktiv + isHit = false + debugPrint("Respawn abgeschlossen - Spieler ist wieder aktiv") + + Wait(100) + DoScreenFadeIn(500) + + lib.notify({ + title = 'TeamDeathmatch', + description = 'Du bist wieder im Spiel!', + type = 'success' + }) + end) end) RegisterNetEvent('tdm:updateScore', function(team1Score, team2Score, gameStats) + -- Debug-Ausgabe + debugPrint("Score Update empfangen: Team1=" .. team1Score .. ", Team2=" .. team2Score) + if gameStats then + debugPrint("GameStats: Hits=" .. (gameStats.hits or "nil") .. ", Deaths=" .. (gameStats.deaths or "nil")) + end + + -- Verwende gameStats falls verfügbar, sonst lokale Stats + local myHits = gameStats and gameStats.hits or playerStats.hits + local myDeaths = gameStats and gameStats.deaths or playerStats.deaths + local displayText = string.format( '[Team 1: %d] VS [Team 2: %d] | Deine Treffer: %d | Tode: %d', team1Score, team2Score, - playerStats.hits, - playerStats.deaths + myHits, + myDeaths ) lib.showTextUI(displayText, { @@ -188,11 +276,28 @@ RegisterNetEvent('tdm:hitRegistered', function() duration = 2000 }) + -- Spiele einen Sound ab + PlaySoundFrontend(-1, "WEAPON_PURCHASE", "HUD_AMMO_SHOP_SOUNDSET", true) + showHitMarker() + + -- Score sofort aktualisieren + if currentGameId then + TriggerServerEvent('tdm:requestScoreUpdate', currentGameId) + end + + debugPrint("Treffer registriert! Neue Hits: " .. playerStats.hits) end) RegisterNetEvent('tdm:deathRegistered', function() playerStats.deaths = playerStats.deaths + 1 + + -- Score sofort aktualisieren + if currentGameId then + TriggerServerEvent('tdm:requestScoreUpdate', currentGameId) + end + + debugPrint("Tod registriert! Neue Deaths: " .. playerStats.deaths) end) RegisterNetEvent('tdm:gameEnded', function(winnerTeam, team1Score, team2Score) @@ -227,6 +332,8 @@ RegisterNetEvent('tdm:gameEnded', function(winnerTeam, team1Score, team2Score) Wait(5000) TriggerServerEvent('tdm:leaveGame') + + debugPrint("Spiel beendet! Gewinner: " .. (winnerTeam or "Unentschieden")) end) -- Funktionen @@ -242,7 +349,12 @@ function setTeamMask(team) local genderMask = maskData[playerGender] if genderMask then SetPedComponentVariation(ped, genderMask.component, genderMask.drawable, genderMask.texture, 0) + debugPrint("Maske gesetzt: " .. team .. " (" .. playerGender .. ")") + else + debugPrint("Keine Maske für " .. team .. " (" .. playerGender .. ") gefunden!") end + else + debugPrint("Keine Masken-Daten für Team " .. team .. " gefunden!") end end @@ -255,6 +367,7 @@ function createTeamZoneBlip(team, fieldConfig) SetBlipAlpha(blip, 128) teamZoneBlips[team] = blip + debugPrint("Team Zone Blip erstellt für " .. team) end function removeTeamZoneBlips() @@ -264,6 +377,7 @@ function removeTeamZoneBlips() end end teamZoneBlips = {} + debugPrint("Team Zone Blips entfernt") end function highlightTeamZone(team) @@ -273,15 +387,19 @@ function highlightTeamZone(team) end function showHitMarker() + debugPrint("Zeige Hit-Marker an") CreateThread(function() local startTime = GetGameTimer() + local duration = 500 -- 500ms display - while GetGameTimer() - startTime < 500 do + while GetGameTimer() - startTime < duration do Wait(0) + -- Draw hit marker DrawRect(0.5, 0.5, 0.02, 0.002, 255, 0, 0, 255) DrawRect(0.5, 0.5, 0.002, 0.02, 255, 0, 0, 255) + -- Draw hit text SetTextFont(4) SetTextProportional(1) SetTextScale(0.5, 0.5) @@ -480,36 +598,6 @@ function openJoinGameMenu(fieldId) lib.showContext('tdm_join_menu_' .. fieldId) end --- Zone Checker Thread -CreateThread(function() - while true do - Wait(500) - - if inTDM and isHit and currentTeam and currentField then - local ped = PlayerPedId() - local playerPos = GetEntityCoords(ped) - local zone = Config.gameFields[currentField].teamZones[currentTeam] - - local distance = #(playerPos - zone.center) - - if distance <= zone.radius then - isHit = false - ClearPedTasks(ped) - - if teamZoneBlips[currentTeam] and DoesBlipExist(teamZoneBlips[currentTeam]) then - SetBlipFlashes(teamZoneBlips[currentTeam], false) - end - - lib.notify({ - title = 'TeamDeathmatch', - description = 'Du bist wieder im Spiel!', - type = 'success' - }) - end - end - end -end) - -- Zone Marker Renderer CreateThread(function() while true do @@ -546,199 +634,191 @@ CreateThread(function() end end) --- Damage Handler +-- Verbesserte Damage Handler für Airsoft-Waffen CreateThread(function() while true do - Wait(100) - if inTDM and not isHit then local ped = PlayerPedId() + -- Prüfe, ob der Spieler Schaden genommen hat if HasEntityBeenDamagedByAnyPed(ped) then - local damager = GetPedSourceOfDeath(ped) - local damagerPlayer = nil + debugPrint("Schaden erkannt - Identifiziere Angreifer und Waffe") - for _, player in pairs(GetActivePlayers()) do - if GetPlayerPed(player) == damager then + local damager = nil + local damagerPlayer = nil + local weaponHash = 0 + + -- Versuche den Angreifer und die Waffe zu identifizieren + for _, player in ipairs(GetActivePlayers()) do + local playerPed = GetPlayerPed(player) + if HasPedBeenDamagedBy(ped, playerPed) then + damager = playerPed damagerPlayer = GetPlayerServerId(player) + + -- Versuche die Waffe zu ermitteln + weaponHash = GetSelectedPedWeapon(playerPed) + debugPrint("Angreifer identifiziert: " .. damagerPlayer .. " mit Waffe: " .. weaponHash) break end end - ClearEntityLastDamageEntity(ped) + -- Prüfe, ob es eine Airsoft-Waffe ist oder alle Waffen als Airsoft behandelt werden + if isAirsoftWeapon(weaponHash) then + debugPrint("Airsoft-Treffer erkannt mit Waffe: " .. weaponHash) + + -- Schaden zurücksetzen + ClearEntityLastDamageEntity(ped) + ClearPedLastWeaponDamage(ped) + SetEntityHealth(ped, GetEntityMaxHealth(ped)) + + -- Lokale Stats sofort updaten + playerStats.deaths = playerStats.deaths + 1 + + debugPrint("Getroffen von: " .. (damagerPlayer or "Unbekannt")) + + -- Treffer-Events auslösen + TriggerEvent('tdm:playerHit') + TriggerServerEvent('tdm:playerWasHit', currentGameId, currentTeam, damagerPlayer) + + -- Warten um mehrfache Auslösung zu verhindern + Wait(500) + else + debugPrint("Keine Airsoft-Waffe erkannt: " .. weaponHash) + -- Schaden trotzdem zurücksetzen + ClearEntityLastDamageEntity(ped) + SetEntityHealth(ped, GetEntityMaxHealth(ped)) + end + end + Wait(0) + else + Wait(500) + end + end +end) + +-- Zusätzlicher Event-Handler für zuverlässigere Treffer-Erkennung +AddEventHandler('gameEventTriggered', function(name, args) + if name == "CEventNetworkEntityDamage" then + local victimId = args[1] + local attackerId = args[2] + local isDead = args[4] == 1 + local weaponHash = args[5] + local isMelee = args[10] == 1 + + if inTDM and not isHit and victimId == PlayerPedId() then + local attackerServerId = nil + + -- Versuche den Angreifer zu identifizieren + for _, player in ipairs(GetActivePlayers()) do + if GetPlayerPed(player) == attackerId then + attackerServerId = GetPlayerServerId(player) + break + end + end + + debugPrint("Schaden-Event erkannt: Angreifer=" .. (attackerServerId or "NPC/Unbekannt") .. ", Waffe=" .. weaponHash) + + -- Prüfe, ob es eine Airsoft-Waffe ist oder alle Waffen als Airsoft behandelt werden + if isAirsoftWeapon(weaponHash) and attackerServerId then + -- Lokale Stats sofort updaten + playerStats.deaths = playerStats.deaths + 1 + + -- Verhindern, dass der Spieler stirbt + SetEntityHealth(PlayerPedId(), GetEntityMaxHealth(PlayerPedId())) + + -- Treffer-Events auslösen TriggerEvent('tdm:playerHit') - TriggerServerEvent('tdm:playerWasHit', currentGameId, currentTeam, damagerPlayer) + TriggerServerEvent('tdm:playerWasHit', currentGameId, currentTeam, attackerServerId) end end end end) --- Death Handler +-- Direkter Waffen-Schaden Monitor für zusätzliche Zuverlässigkeit CreateThread(function() while true do - Wait(1000) - - if inTDM then + Wait(0) + if inTDM and not isHit then local ped = PlayerPedId() - if IsEntityDead(ped) then - TriggerServerEvent('tdm:playerDied', currentGameId) + -- Prüfe auf Projektil-Treffer + if HasEntityBeenDamagedByWeapon(ped, 0, 2) then -- 2 = Projektilwaffen + debugPrint("Projektil-Treffer erkannt") - lib.notify({ - title = 'TeamDeathmatch', - description = 'Du bist ausgeschieden!', - type = 'error' - }) + -- Schaden zurücksetzen + ClearEntityLastDamageEntity(ped) + ClearPedLastWeaponDamage(ped) + SetEntityHealth(ped, GetEntityMaxHealth(ped)) - Wait(3000) - TriggerServerEvent('tdm:leaveGame') + -- Lokale Stats sofort updaten + playerStats.deaths = playerStats.deaths + 1 + + -- Treffer-Events auslösen + TriggerEvent('tdm:playerHit') + TriggerServerEvent('tdm:playerWasHit', currentGameId, currentTeam) + + -- Warten um mehrfache Auslösung zu verhindern + Wait(500) end - end - end -end) - --- NPC Setup für alle Felder -CreateThread(function() - -- Für jedes Spielfeld Blip und NPC erstellen - for fieldId, fieldData in pairs(Config.gameFields) do - if fieldData.lobby and fieldData.lobby.pos and fieldData.lobby.npc then - local lobbyPos = fieldData.lobby.pos - local npcData = fieldData.lobby.npc - - -- Blip erstellen - local blip = AddBlipForCoord(lobbyPos.x, lobbyPos.y, lobbyPos.z) - SetBlipSprite(blip, 432) - SetBlipDisplay(blip, 4) - SetBlipScale(blip, 0.8) - SetBlipColour(blip, 1) - SetBlipAsShortRange(blip, true) - BeginTextCommandSetBlipName("STRING") - AddTextComponentString("TDM - " .. fieldData.name) - EndTextCommandSetBlipName(blip) - - tdmBlips[fieldId] = blip - - -- NPC erstellen - RequestModel(GetHashKey(npcData.model)) - while not HasModelLoaded(GetHashKey(npcData.model)) do - Wait(1) - end - - local npc = CreatePed(4, GetHashKey(npcData.model), npcData.coords.x, npcData.coords.y, npcData.coords.z, npcData.coords.w, false, true) - SetEntityInvincible(npc, true) - FreezeEntityPosition(npc, true) - SetBlockingOfNonTemporaryEvents(npc, true) - - spawnedNPCs[fieldId] = npc - - -- Target für diesen NPC - exports['qb-target']:AddTargetEntity(npc, { - options = { - { - type = "client", - event = "tdm:openFieldMenu", - icon = "fas fa-crosshairs", - label = "TeamDeathmatch - " .. fieldData.name, - fieldId = fieldId - }, - }, - distance = 2.5 - }) else - print("^3[TDM WARNING]^7 Feld " .. fieldId .. " hat keine vollständige Lobby-Konfiguration!") + Wait(500) end end end) --- Event für Feld-spezifisches Menü -RegisterNetEvent('tdm:openFieldMenu', function(data) - if data and data.fieldId then - openMainMenu(data.fieldId) - else - lib.notify({ - title = 'Fehler', - description = 'Keine Feld-ID übertragen!', - type = 'error' - }) +-- Ragdoll-Erkennung Thread +CreateThread(function() + local lastDamager = nil + local lastDamageTime = 0 + + while true do + Wait(100) + if inTDM and not isHit then + local ped = PlayerPedId() + + -- Speichere den letzten Angreifer, wenn Schaden genommen wurde + if HasEntityBeenDamagedByAnyPed(ped) then + for _, player in ipairs(GetActivePlayers()) do + local playerPed = GetPlayerPed(player) + if HasPedBeenDamagedBy(ped, playerPed) then + lastDamager = GetPlayerServerId(player) + lastDamageTime = GetGameTimer() + debugPrint("Letzter Angreifer gespeichert: " .. lastDamager) + break + end + end + ClearEntityLastDamageEntity(ped) + end + + -- Prüfe, ob der Spieler im Ragdoll-Zustand ist + if isPedInRagdoll(ped) then + debugPrint("Ragdoll-Zustand erkannt - Zählt als Tod") + + -- Lokale Stats sofort updaten + playerStats.deaths = playerStats.deaths + 1 + + -- Bestimme den Angreifer (verwende den letzten Angreifer, wenn innerhalb von 3 Sekunden) + local attacker = nil + if lastDamager and (GetGameTimer() - lastDamageTime) < 3000 then + attacker = lastDamager + debugPrint("Ragdoll-Tod zugeordnet an Angreifer: " .. attacker) + else + debugPrint("Kein Angreifer für Ragdoll-Tod gefunden") + end + + -- Treffer-Events auslösen + TriggerEvent('tdm:playerHit') + TriggerServerEvent('tdm:playerWasHit', currentGameId, currentTeam, attacker) + + -- Zurücksetzen des letzten Angreifers + lastDamager = nil + + -- Warten um mehrfache Auslösung zu verhindern + Wait(500) + end + else + Wait(500) + end end end) --- Chat Command zum Spiel verlassen -RegisterCommand('leavetdm', function() - if inTDM then - TriggerServerEvent('tdm:leaveGame') - lib.notify({ - title = 'TeamDeathmatch', - description = 'Du hast das Spiel über Command verlassen!', - type = 'info' - }) - else - lib.notify({ - title = 'TeamDeathmatch', - description = 'Du bist in keinem Spiel!', - type = 'error' - }) - end -end, false) - --- Keybind zum Spiel verlassen -RegisterKeyMapping('leavetdm', 'TeamDeathmatch verlassen', 'keyboard', 'F7') - --- Debug Command zum Testen der Config -RegisterCommand('debugtdm', function() - print("^2[TDM DEBUG]^7 Aktuelle Werte:") - print("inTDM: " .. tostring(inTDM)) - print("currentField: " .. tostring(currentField)) - print("currentLobbyField: " .. tostring(currentLobbyField)) - print("currentTeam: " .. tostring(currentTeam)) - - print("^2[TDM DEBUG]^7 Verfügbare Felder:") - for fieldId, fieldData in pairs(Config.gameFields) do - local hasLobby = fieldData.lobby and fieldData.lobby.pos and "✅" or "❌" - print("- " .. fieldId .. ": " .. fieldData.name .. " " .. hasLobby) - end -end, false) - --- Debug Commands für Masken -RegisterCommand('testmask', function(source, args) - if not args[1] or not args[2] then - lib.notify({ - title = 'Debug', - description = 'Verwendung: /testmask [team1/team2] [male/female]', - type = 'error' - }) - return - end - - local team = args[1] - local gender = args[2] - - if Config.teamMasks[team] and Config.teamMasks[team][gender] then - local maskData = Config.teamMasks[team][gender] - local ped = PlayerPedId() - - SetPedComponentVariation(ped, maskData.component, maskData.drawable, maskData.texture, 0) - - lib.notify({ - title = 'Debug', - description = 'Maske gesetzt: ' .. team .. ' (' .. gender .. ')', - type = 'success' - }) - else - lib.notify({ - title = 'Debug', - description = 'Maske nicht gefunden!', - type = 'error' - }) - end -end, false) - --- Command zum Entfernen der Maske -RegisterCommand('removemask', function() - SetPedComponentVariation(PlayerPedId(), 1, 0, 0, 0) - lib.notify({ - title = 'Debug', - description = 'Maske entfernt!', - type = 'info' - }) -end, false) diff --git a/resources/[standalone]/nordi_tdm/config.lua b/resources/[standalone]/nordi_tdm/config.lua index 6aa6ff033..3a923132e 100644 --- a/resources/[standalone]/nordi_tdm/config.lua +++ b/resources/[standalone]/nordi_tdm/config.lua @@ -1,13 +1,11 @@ Config = {} - -- Spielfelder Konfiguration Config.gameFields = { field1 = { name = "Arena 1", maxPlayers = 20, - -- Eigene Lobby für dieses Feld lobby = { pos = vector3(2022.6752, 2836.8718, 49.3064), @@ -127,7 +125,7 @@ Config.gameFields = { } } - +-- Team Masken Konfiguration Config.teamMasks = { team1 = { male = { @@ -158,3 +156,33 @@ Config.teamMasks = { -- Game Settings Config.maxGameTime = 600 -- 10 Minuten Config.maxHits = 30 -- Spiel endet bei 30 Treffern +Config.respawnDelay = 3000 -- 3 Sekunden Respawn-Verzögerung + +-- Airsoft-Einstellungen +Config.treatAllWeaponsAsAirsoft = true -- Alle Waffen als Airsoft behandeln +Config.airsoftDamageMultiplier = 0.1 -- Reduzierter Schaden für Airsoft-Waffen + +-- Airsoft-Waffen (Hash-Werte) +Config.airsoftWeapons = { + -- Pistolen + [`WEAPON_AIRSOFTGLOCK20`] = true, + + -- SMGs + [`WEAPON_AIRSFOTMIRCOUZI`] = true, + [`WEAPON_AIRSOFTMP5`] = true, + + -- Gewehre + [`WEAPON_AIRSOFTM4`] = true, + [`WEAPON_AIRSOFTAK47`] = true, + [`WEAPON_AIRSOFTM249`] = true, + [`WEAPON_AIRSOFTG46C`] = true, + [`WEAPON_AIRSOFTR870`] = true, + + -- Scharfschützengewehre + [`WEAPON_AIRSOFTR700`] = true, + + +} + +-- Debug Settings +Config.debugMode = true -- Auf false setzen für Produktion diff --git a/resources/[standalone]/nordi_tdm/fxmanifest.lua b/resources/[standalone]/nordi_tdm/fxmanifest.lua index f080f9ff0..bebfa8b5d 100644 --- a/resources/[standalone]/nordi_tdm/fxmanifest.lua +++ b/resources/[standalone]/nordi_tdm/fxmanifest.lua @@ -3,7 +3,7 @@ game 'gta5' author 'YourName' description 'TeamDeathmatch System für QBCore' -version '1.0.0' +version '1.0.1' shared_scripts { '@ox_lib/init.lua', diff --git a/resources/[standalone]/nordi_tdm/server.lua b/resources/[standalone]/nordi_tdm/server.lua index e1da8b70a..1c4756156 100644 --- a/resources/[standalone]/nordi_tdm/server.lua +++ b/resources/[standalone]/nordi_tdm/server.lua @@ -4,16 +4,25 @@ local QBCore = exports['qb-core']:GetCoreObject() local activeGames = {} local gameIdCounter = 1 +-- Debug-Funktion für Konsole +local function debugPrint(message) + print("^2[TDM SERVER]^7 " .. message) +end + -- Events RegisterNetEvent('tdm:createGame', function(gameName, fieldId, gameType, password) local src = source local Player = QBCore.Functions.GetPlayer(src) - if not Player then return end + if not Player then + debugPrint("Spielerstellung fehlgeschlagen - Spieler nicht gefunden: " .. src) + return + end -- Prüfen ob Spielfeld bereits belegt for gameId, gameData in pairs(activeGames) do if gameData.fieldId == fieldId then + debugPrint("Spielerstellung abgelehnt - Feld bereits belegt: " .. fieldId) TriggerClientEvent('QBCore:Notify', src, 'Dieses Spielfeld ist bereits belegt!', 'error') return end @@ -37,17 +46,20 @@ RegisterNetEvent('tdm:createGame', function(gameName, fieldId, gameType, passwor score = {team1 = 0, team2 = 0}, startTime = nil, maxTime = Config.maxGameTime, - maxHits = Config.maxHits + maxHits = Config.maxHits, + playerStats = {} -- Spieler-Statistiken initialisieren } local typeText = gameType == 'public' and 'öffentliches' or 'privates' TriggerClientEvent('QBCore:Notify', src, 'Dein ' .. typeText .. ' Spiel "' .. gameName .. '" wurde erstellt!', 'success') updateGamesListForAll() + debugPrint("Spiel erstellt: " .. gameId .. " von " .. Player.PlayerData.name .. " (Feld: " .. fieldId .. ")") end) RegisterNetEvent('tdm:requestGamesList', function() local src = source + debugPrint("Spiele-Liste angefordert von: " .. src) TriggerClientEvent('tdm:updateGamesList', src, activeGames) end) @@ -55,13 +67,19 @@ RegisterNetEvent('tdm:requestJoinGame', function(gameId, password) local src = source local Player = QBCore.Functions.GetPlayer(src) - if not Player or not activeGames[gameId] then return end + if not Player or not activeGames[gameId] then + debugPrint("Spielbeitritt fehlgeschlagen - Spieler oder Spiel nicht gefunden: " .. src .. ", " .. gameId) + return + end local game = activeGames[gameId] local playerName = Player.PlayerData.charinfo.firstname .. ' ' .. Player.PlayerData.charinfo.lastname + debugPrint("Beitrittsanfrage von " .. playerName .. " (ID: " .. src .. ") für Spiel " .. gameId) + -- Passwort prüfen falls vorhanden if game.hasPassword and game.password ~= password then + debugPrint("Beitritt abgelehnt - Falsches Passwort") TriggerClientEvent('QBCore:Notify', src, 'Falsches Passwort!', 'error') return end @@ -69,12 +87,14 @@ RegisterNetEvent('tdm:requestJoinGame', function(gameId, password) -- Spieler bereits im Spiel? for _, playerId in ipairs(game.team1) do if playerId == src then + debugPrint("Beitritt abgelehnt - Spieler bereits in Team 1") TriggerClientEvent('QBCore:Notify', src, 'Du bist bereits in diesem Spiel!', 'error') return end end for _, playerId in ipairs(game.team2) do if playerId == src then + debugPrint("Beitritt abgelehnt - Spieler bereits in Team 2") TriggerClientEvent('QBCore:Notify', src, 'Du bist bereits in diesem Spiel!', 'error') return end @@ -85,6 +105,7 @@ RegisterNetEvent('tdm:requestJoinGame', function(gameId, password) local maxPlayers = Config.gameFields[game.fieldId].maxPlayers if currentPlayers >= maxPlayers then + debugPrint("Beitritt abgelehnt - Spiel ist voll") TriggerClientEvent('QBCore:Notify', src, 'Spiel ist voll!', 'error') return end @@ -93,6 +114,7 @@ RegisterNetEvent('tdm:requestJoinGame', function(gameId, password) if game.gameType == 'private' then local AdminPlayer = QBCore.Functions.GetPlayer(game.admin) if not AdminPlayer then + debugPrint("Beitritt abgelehnt - Admin nicht online") TriggerClientEvent('QBCore:Notify', src, 'Der Spiel-Admin ist nicht online!', 'error') return end @@ -100,9 +122,11 @@ RegisterNetEvent('tdm:requestJoinGame', function(gameId, password) -- Join Logic basierend auf Spiel Typ if game.gameType == 'public' then + debugPrint("Öffentliches Spiel - Direkter Beitritt") joinPlayerToGame(src, gameId) TriggerClientEvent('QBCore:Notify', src, 'Du bist dem öffentlichen Spiel beigetreten!', 'success') else + debugPrint("Privates Spiel - Sende Anfrage an Admin") TriggerClientEvent('tdm:joinRequest', game.admin, gameId, playerName, src) TriggerClientEvent('QBCore:Notify', src, 'Join-Anfrage gesendet an ' .. game.adminName, 'info') end @@ -112,18 +136,24 @@ RegisterNetEvent('tdm:approveJoinRequest', function(gameId, playerId, approved) local src = source local game = activeGames[gameId] - if not game or game.admin ~= src then return end + if not game or game.admin ~= src then + debugPrint("Join-Anfrage Bearbeitung fehlgeschlagen - Ungültiges Spiel oder nicht Admin") + return + end if approved then + debugPrint("Join-Anfrage genehmigt für Spieler " .. playerId .. " in Spiel " .. gameId) joinPlayerToGame(playerId, gameId) TriggerClientEvent('tdm:joinRequestResult', playerId, true, game.name) else + debugPrint("Join-Anfrage abgelehnt für Spieler " .. playerId .. " in Spiel " .. gameId) TriggerClientEvent('tdm:joinRequestResult', playerId, false, game.name) end end) RegisterNetEvent('tdm:leaveGame', function() local src = source + debugPrint("Spieler " .. src .. " möchte alle Spiele verlassen") for gameId, game in pairs(activeGames) do removePlayerFromGame(src, gameId) @@ -132,66 +162,118 @@ RegisterNetEvent('tdm:leaveGame', function() TriggerClientEvent('tdm:leaveGame', src) end) -RegisterNetEvent('tdm:playerWasHit', function(gameId, victimTeam, shooterId) - local src = source - local game = activeGames[gameId] +RegisterNetEvent('tdm:playerWasHit', function(gameId, victimTeam, attackerId) + local victim = source - if not game then return end - - local shooterTeam = nil - if shooterId then - for _, playerId in ipairs(game.team1) do - if playerId == shooterId then - shooterTeam = 'team1' - break - end - end - if not shooterTeam then - for _, playerId in ipairs(game.team2) do - if playerId == shooterId then - shooterTeam = 'team2' - break - end - end - end + if not activeGames[gameId] then + debugPrint("Hit registriert, aber Spiel " .. gameId .. " existiert nicht!") + return end - if shooterTeam and shooterTeam ~= victimTeam then - game.score[shooterTeam] = game.score[shooterTeam] + 1 - - if shooterId then - TriggerClientEvent('tdm:hitRegistered', shooterId) - end - - TriggerClientEvent('tdm:deathRegistered', src) - - updateScoreForGame(gameId) - - if game.score[shooterTeam] >= game.maxHits then - endGame(gameId, shooterTeam) - end + local game = activeGames[gameId] + + debugPrint("Hit registriert - Opfer: " .. victim .. " (Team: " .. victimTeam .. "), Angreifer: " .. (attackerId or "Unbekannt")) + + -- Spieler Stats initialisieren falls nicht vorhanden + if not game.playerStats then + game.playerStats = {} + end + + if not game.playerStats[victim] then + game.playerStats[victim] = {hits = 0, deaths = 0} + end + + if attackerId and not game.playerStats[attackerId] then + game.playerStats[attackerId] = {hits = 0, deaths = 0} + end + + -- Stats updaten + game.playerStats[victim].deaths = (game.playerStats[victim].deaths or 0) + 1 + + if attackerId then + game.playerStats[attackerId].hits = (game.playerStats[attackerId].hits or 0) + 1 + TriggerClientEvent('tdm:hitRegistered', attackerId) + debugPrint("Treffer von " .. attackerId .. " gegen " .. victim .. " registriert") + else + debugPrint("Treffer gegen " .. victim .. " von unbekanntem Angreifer registriert") + end + + -- Team Score erhöhen + if victimTeam == 'team1' then + game.score.team2 = game.score.team2 + 1 + debugPrint("Punkt für Team 2 - Neuer Score: " .. game.score.team2) + else + game.score.team1 = game.score.team1 + 1 + debugPrint("Punkt für Team 1 - Neuer Score: " .. game.score.team1) + end + + TriggerClientEvent('tdm:deathRegistered', victim) + + -- Score an alle Spieler senden + updateScoreForGame(gameId) + + -- Spiel beenden prüfen + if game.score.team1 >= game.maxHits or game.score.team2 >= game.maxHits then + local winnerTeam = game.score.team1 >= game.maxHits and 'team1' or 'team2' + debugPrint("Max Punkte erreicht - Beende Spiel. Gewinner: " .. winnerTeam) + endGame(gameId, winnerTeam) end end) RegisterNetEvent('tdm:playerDied', function(gameId) local src = source + debugPrint("Spieler " .. src .. " ist gestorben in Spiel " .. gameId) removePlayerFromGame(src, gameId) end) +RegisterNetEvent('tdm:requestScoreUpdate', function(gameId) + local src = source + + if activeGames[gameId] then + debugPrint("Score-Update angefordert von " .. src .. " für Spiel " .. gameId) + updateScoreForGame(gameId) + else + debugPrint("Score-Update fehlgeschlagen - Spiel " .. gameId .. " nicht gefunden") + end +end) + +RegisterNetEvent('tdm:debugPlayerStats', function(gameId) + local src = source + if activeGames[gameId] and activeGames[gameId].playerStats and activeGames[gameId].playerStats[src] then + local stats = activeGames[gameId].playerStats[src] + debugPrint("Stats für Spieler " .. src .. ": Hits=" .. (stats.hits or 0) .. ", Deaths=" .. (stats.deaths or 0)) + TriggerClientEvent('QBCore:Notify', src, 'Server Stats - Hits: ' .. (stats.hits or 0) .. ', Deaths: ' .. (stats.deaths or 0), 'info') + else + debugPrint("Keine Stats gefunden für Spieler " .. src .. " in Spiel " .. gameId) + TriggerClientEvent('QBCore:Notify', src, 'Keine Stats gefunden!', 'error') + end +end) + -- Funktionen function joinPlayerToGame(playerId, gameId) local game = activeGames[gameId] - if not game then return end + if not game then + debugPrint("Spielbeitritt fehlgeschlagen - Spiel nicht gefunden: " .. gameId) + return + end -- Team mit weniger Spielern wählen local team = #game.team1 <= #game.team2 and 'team1' or 'team2' table.insert(game[team], playerId) + -- Spieler-Stats initialisieren + if not game.playerStats then + game.playerStats = {} + end + + game.playerStats[playerId] = {hits = 0, deaths = 0} + -- Spiel starten wenn mindestens 2 Spieler if #game.team1 + #game.team2 >= 2 and game.status == 'waiting' then game.status = 'active' game.startTime = os.time() + debugPrint("Spiel " .. gameId .. " gestartet - Mindestens 2 Spieler erreicht") -- Game Timer starten startGameTimer(gameId) @@ -200,6 +282,8 @@ function joinPlayerToGame(playerId, gameId) TriggerClientEvent('tdm:joinGame', playerId, gameId, team, game.fieldId) updateScoreForGame(gameId) updateGamesListForAll() + + debugPrint("Spieler " .. playerId .. " ist Spiel " .. gameId .. " beigetreten (Team: " .. team .. ")") end function removePlayerFromGame(playerId, gameId) @@ -207,22 +291,36 @@ function removePlayerFromGame(playerId, gameId) if not game then return end -- Spieler aus Teams entfernen + local removed = false + for i, id in ipairs(game.team1) do if id == playerId then table.remove(game.team1, i) + debugPrint("Spieler " .. playerId .. " aus Team 1 entfernt") + removed = true break end end - for i, id in ipairs(game.team2) do - if id == playerId then - table.remove(game.team2, i) - break + if not removed then + for i, id in ipairs(game.team2) do + if id == playerId then + table.remove(game.team2, i) + debugPrint("Spieler " .. playerId .. " aus Team 2 entfernt") + removed = true + break + end end end + if not removed then + debugPrint("Spieler " .. playerId .. " nicht in Spiel " .. gameId .. " gefunden") + return + end + -- Wenn Admin das Spiel verlässt, Spiel beenden if game.admin == playerId then + debugPrint("Admin hat das Spiel verlassen - Beende Spiel " .. gameId) endGame(gameId, nil, 'Admin hat das Spiel verlassen') return end @@ -233,7 +331,10 @@ end function endGame(gameId, winnerTeam, reason) local game = activeGames[gameId] - if not game then return end + if not game then + debugPrint("Spielende fehlgeschlagen - Spiel nicht gefunden: " .. gameId) + return + end game.status = 'finished' @@ -247,6 +348,7 @@ function endGame(gameId, winnerTeam, reason) -- Game End Event an alle Spieler for _, playerId in ipairs(allPlayers) do + debugPrint("Sende Spielende-Event an Spieler " .. playerId) TriggerClientEvent('tdm:gameEnded', playerId, winnerTeam, game.score.team1, game.score.team2) end @@ -254,10 +356,13 @@ function endGame(gameId, winnerTeam, reason) SetTimeout(10000, function() activeGames[gameId] = nil updateGamesListForAll() + debugPrint("Spiel " .. gameId .. " aus der Liste entfernt") end) if reason then - print('[TDM] Spiel ' .. gameId .. ' beendet: ' .. reason) + debugPrint("Spiel " .. gameId .. " beendet: " .. reason) + else + debugPrint("Spiel " .. gameId .. " beendet. Gewinner: " .. (winnerTeam or "Unentschieden")) end end @@ -269,15 +374,23 @@ function startGameTimer(gameId) local maxTime = game.maxTime local startTime = os.time() + debugPrint("Timer für Spiel " .. gameId .. " gestartet. Maximale Zeit: " .. maxTime .. " Sekunden") + while game and game.status == 'active' and (os.time() - startTime) < maxTime do Wait(1000) game = activeGames[gameId] -- Refresh game data + + -- Alle 30 Sekunden Debug-Info + if (os.time() - startTime) % 30 == 0 then + debugPrint("Spiel " .. gameId .. " läuft seit " .. (os.time() - startTime) .. " Sekunden") + end end -- Zeit abgelaufen if game and game.status == 'active' then local winnerTeam = game.score.team1 > game.score.team2 and 'team1' or game.score.team2 > game.score.team1 and 'team2' or nil + debugPrint("Spielzeit abgelaufen - Beende Spiel " .. gameId) endGame(gameId, winnerTeam, 'Zeit abgelaufen') end end) @@ -290,27 +403,38 @@ function checkGameEnd(gameId) local totalPlayers = #game.team1 + #game.team2 if totalPlayers < 2 and game.status == 'active' then + debugPrint("Zu wenig Spieler - Beende Spiel " .. gameId) endGame(gameId, nil, 'Zu wenig Spieler') elseif totalPlayers == 0 then activeGames[gameId] = nil updateGamesListForAll() + debugPrint("Spiel " .. gameId .. " gelöscht (keine Spieler)") end end function updateScoreForGame(gameId) local game = activeGames[gameId] - if not game then return end + if not game then + debugPrint("Score-Update fehlgeschlagen - Spiel nicht gefunden: " .. gameId) + return + end - local gameStats = { - totalHits = game.score.team1 + game.score.team2, - gameTime = game.startTime and (os.time() - game.startTime) or 0 - } + debugPrint("Score Update für Spiel " .. gameId .. ": Team1=" .. game.score.team1 .. ", Team2=" .. game.score.team2) for _, playerId in ipairs(game.team1) do - TriggerClientEvent('tdm:updateScore', playerId, game.score.team1, game.score.team2, gameStats) + local playerStats = game.playerStats[playerId] or {hits = 0, deaths = 0} + TriggerClientEvent('tdm:updateScore', playerId, game.score.team1, game.score.team2, { + hits = playerStats.hits or 0, + deaths = playerStats.deaths or 0 + }) end + for _, playerId in ipairs(game.team2) do - TriggerClientEvent('tdm:updateScore', playerId, game.score.team1, game.score.team2, gameStats) + local playerStats = game.playerStats[playerId] or {hits = 0, deaths = 0} + TriggerClientEvent('tdm:updateScore', playerId, game.score.team1, game.score.team2, { + hits = playerStats.hits or 0, + deaths = playerStats.deaths or 0 + }) end end @@ -328,6 +452,8 @@ AddEventHandler('playerDropped', function() for gameId, game in pairs(activeGames) do removePlayerFromGame(src, gameId) end + + debugPrint("Spieler " .. src .. " hat den Server verlassen - aus allen Spielen entfernt") end) -- Server Start - Games Liste leeren @@ -335,7 +461,7 @@ AddEventHandler('onResourceStart', function(resourceName) if GetCurrentResourceName() == resourceName then activeGames = {} gameIdCounter = 1 - print('[TDM] TeamDeathmatch System gestartet!') + debugPrint("TeamDeathmatch System gestartet!") end end) @@ -357,7 +483,78 @@ AddEventHandler('onResourceStop', function(resourceName) end activeGames = {} - print('[TDM] TeamDeathmatch System gestoppt!') + debugPrint("TeamDeathmatch System gestoppt!") end end) +-- Admin-Befehle +RegisterCommand('tdmreset', function(source, args) + local src = source + if src > 0 then -- Spieler + local Player = QBCore.Functions.GetPlayer(src) + if not Player or not Player.PlayerData.job or Player.PlayerData.job.name ~= 'admin' then + TriggerClientEvent('QBCore:Notify', src, 'Du hast keine Berechtigung!', 'error') + return + end + end + + -- Alle Spieler aus TDM entfernen + for gameId, game in pairs(activeGames) do + local allPlayers = {} + for _, playerId in ipairs(game.team1) do + table.insert(allPlayers, playerId) + end + for _, playerId in ipairs(game.team2) do + table.insert(allPlayers, playerId) + end + + for _, playerId in ipairs(allPlayers) do + TriggerClientEvent('tdm:leaveGame', playerId) + end + end + + activeGames = {} + gameIdCounter = 1 + + debugPrint("TeamDeathmatch System zurückgesetzt!") + + if src > 0 then + TriggerClientEvent('QBCore:Notify', src, 'TDM System zurückgesetzt!', 'success') + end +end, true) + +-- Debug-Befehl für Server-Status +RegisterCommand('tdmstatus', function(source, args) + local src = source + if src > 0 then -- Spieler + local Player = QBCore.Functions.GetPlayer(src) + if not Player or not Player.PlayerData.job or Player.PlayerData.job.name ~= 'admin' then + TriggerClientEvent('QBCore:Notify', src, 'Du hast keine Berechtigung!', 'error') + return + end + end + + debugPrint("=== TDM STATUS ===") + debugPrint("Aktive Spiele: " .. table.count(activeGames)) + + for gameId, game in pairs(activeGames) do + debugPrint("Spiel: " .. gameId .. " - " .. game.name) + debugPrint(" Status: " .. game.status) + debugPrint(" Feld: " .. game.fieldId) + debugPrint(" Team 1: " .. #game.team1 .. " Spieler, Score: " .. game.score.team1) + debugPrint(" Team 2: " .. #game.team2 .. " Spieler, Score: " .. game.score.team2) + end + + if src > 0 then + TriggerClientEvent('QBCore:Notify', src, 'TDM Status in Server-Konsole', 'info') + end +end, true) + +-- Hilfsfunktion für table.count +table.count = function(tbl) + local count = 0 + for _, _ in pairs(tbl) do + count = count + 1 + end + return count +end diff --git a/resources/[standalone]/rtx_carry/.fxap b/resources/[standalone]/rtx_carry/.fxap deleted file mode 100644 index 6f6a5c72b..000000000 Binary files a/resources/[standalone]/rtx_carry/.fxap and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/Readme.txt b/resources/[standalone]/rtx_carry/Readme.txt deleted file mode 100644 index aa2ec6f45..000000000 --- a/resources/[standalone]/rtx_carry/Readme.txt +++ /dev/null @@ -1,15 +0,0 @@ -Thank you for purchasing rtx_carry, we're grateful for your support. If you'd ever have a question and / or need our help, please reach out to us by sending an email or go ahead and create a ticket on our discord: https://discord.gg/P6KdaDpgAk - -Install instructions: -1. Put rtx_carry folder to your resources -2. Configure your config.lua to your preferences -3. If you want use new carry style, remove old folder html and rename folder html_new to html -4. Put rtx_carry to the server.cfg - - -License agreement / Terms of Service -1. Any purchase is non-refundable. -2. Each product is to be used on a singular server, with the exception of a test server. -3. Any form of redistribution of our content is considered copyright infringement. -4. If any of these rules are broken, legal actions can be taken. -© 2024 RTX Development, all rights reserved. \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/client/main.lua b/resources/[standalone]/rtx_carry/client/main.lua deleted file mode 100644 index b53e4c8f6..000000000 Binary files a/resources/[standalone]/rtx_carry/client/main.lua and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/client/other.lua b/resources/[standalone]/rtx_carry/client/other.lua deleted file mode 100644 index ca1d4b447..000000000 Binary files a/resources/[standalone]/rtx_carry/client/other.lua and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/config.lua b/resources/[standalone]/rtx_carry/config.lua deleted file mode 100644 index 970964088..000000000 --- a/resources/[standalone]/rtx_carry/config.lua +++ /dev/null @@ -1,130 +0,0 @@ -Config = {} - -Config.Language = "Deutsch" -- text language from code - -Config.Framework = "standalone" -- types (standalone, qbcore, esx) - -Config.InterfaceColor = "#ff66ff" -- change interface color, color must be in hex - -Config.Target = false -- enable this if you want use target - -Config.Targettype = "qtarget" -- types - qtarget, qbtarget, oxtarget - -Config.TargetSystemsNames = {qtarget = "qtarget", qbtarget = "qb-target", oxtarget = "ox_target"} - -Config.TargetIcons = {carry1icon = "fa-solid fa-user", carry2icon = "fa-solid fa-user", carry3icon = "fa-solid fa-user"} - -Config.TargetCarryTypesAllowed = { --here you can disable or enable different carry types in the target - [1] = true, -- Type 1 - [2] = true, -- Type 2 - [3] = true, -- Type 3 -} - -Config.DefaultKeyBindAccept = "y" -- carry accept key - -Config.DefaultKeyBindDecline = "n" -- carry decline key - -Config.CarryViaCommand = true -- You can trigger carry via event from some menu for example TriggerEvent("rtx_carry:Carry") for trigger carry with certain type selected for example TriggerEvent("rtx_carry:Carry", "1") Types 1-3 - -Config.CarryCommand = "carry" -- You can execute carry types withount menu /carry 1 /carry 2 /carry 3 - -Config.CarryMarker = true -- carry marker to requested player - -Config.CarryLine = true -- carry line to requested player - -Config.ReleasePlayerViaBind = true -- enable this function if you want to drop the player to the ground by pressing the button - -Config.ReleasePlayerViaBindKey = "x" -- -- carry release key - -Config.CarryInterfaceWhileCarryed = true -- interface when player is carryed - -Config.CarryDistance = 5.0 -- maximum distance from player for carry - -Config.CarryDistanceDraw = 5.0 --maximum distance of draw line and marker - -Config.RequestDuration = 60 -- in seconds - -Config.DisablePlayerKeyboard = false -- if you want disable player keyboard when is carryed - -Config.AutoAcceptWhileDeath = false -- auto accept carry when player is death - -Config.CarryDisabledInZones = false -- players cannot use carry in config zones if this is enabled - -Config.CarryedPlayerCanStopCarry = true -- if carryed player can use /carry from stopping to be carryed - -Config.PedTaskCancelImmediately = true -- if you want use Immediately cancel - -Config.StopCarryViaEvent = false -- enable if you want stop carry via event, for example for hospital respawn -- TriggerEvent("rtx_carry:StopCarryViaEvent") -- example trigger that event when player respawn - -Config.DisableRunWhileCarryPlayer = false -- disable run for player which carry someone - -Config.DisableRequestSystem = false -- disable carry request system, players will accept carry automaticly - -Config.DeathCustomEvent = false -- enable this if you using custom death system example qbcore, you need add this trigger event TriggerEvent("rtx_carry:PlayerIsDead", true) when player dies and you need add this trigger event TriggerEvent("rtx_carry:PlayerIsDead", false) when player is revived - -Config.CarryDisabledZones = { - {coords = vector3(0.0, 0.0, 0.0), radius = 100.0}, -} - -Config.CarryDefaultOffsets = { - type1offset = {coords = vector3(0.30, 0.00, 0.65), rotation = vector3(0.5, 0.5, 180.0)}, --default offsets for carry type 1 - type2offset = {coords = vector3(0.02, 0.4, 0.10), rotation = vector3(0.10, 0.30, 90.0)}, --default offsets for carry type 2 - type3offset = {coords = vector3(0.0, -0.07, 0.45), rotation = vector3(0.5, 0.5, 0.0)}, --default offsets for carry type 3 -} - -Config.CarryModelOffsets = { - { - modelname = "player_one", -- ped model - type1offset = {coords = vector3(0.30, 0.00, 0.65), rotation = vector3(0.5, 0.5, 180.0)}, --offsets for carry type 1 - type2offset = {coords = vector3(0.02, 0.4, 0.10), rotation = vector3(0.10, 0.30, 90.0)}, --offsets for carry type 2 - type3offset = {coords = vector3(0.0, -0.07, 0.45), rotation = vector3(0.5, 0.5, 0.0)}, --offsets for carry type 3 - }, -} - -Config.PlayerLoadedEvent = { -- load methods of carry - esx = "esx:playerLoaded", - qbcore = "QBCore:Client:OnPlayerLoaded", - standalone = "playerLoaded", - customevent = true, -- enable this if you dont want load carry after player loaded to server. (enable this for example for servers with multicharacter) - standaloneevent = false, -- enable this if you dont want load carry after player loaded to server. (for standalone version) -} - --- EVENTS - -function Notify(text) - exports["rtx_notify"]:Notify("Carry", text, 5000, "info") -- if you get error in this line its because you dont use our notify system buy it here https://rtx.tebex.io/package/5402098 or you can use some other notify system just replace this notify line with your notify system - --exports["mythic_notify"]:SendAlert("inform", text, 5000) -end - -function DisableCarryKeyboard() - DisableControlAction(0, 16, true) -- Next Weapon - DisableControlAction(0, 17, true) -- Select Previous Weapon - DisableControlAction(0, 22, true) -- Jump - DisableControlAction(0, 23, true) -- Enter vehicle - DisableControlAction(0, 24, true) -- Attack - DisableControlAction(0, 25, true) -- Aim - DisableControlAction(0, 26, true) -- Look Behind - DisableControlAction(0, 36, true) -- Input Duck/Sneak - DisableControlAction(0, 37, true) -- Weapon Wheel - DisableControlAction(0, 44, true) -- Cover - DisableControlAction(0, 47, true) -- Detonate - DisableControlAction(0, 55, true) -- Dive - DisableControlAction(0, 69, true) -- Vehicle attack - DisableControlAction(0, 73, true) -- Vehicle attack - DisableControlAction(0, 81, true) -- Next Radio (Vehicle) - DisableControlAction(0, 82, true) -- Previous Radio (Vehicle) - DisableControlAction(0, 91, true) -- Passenger Aim (Vehicle) - DisableControlAction(0, 92, true) -- Passenger Attack (Vehicle) - DisableControlAction(0, 99, true) -- Select Next Weapon (Vehicle) - DisableControlAction(0, 106, true) -- Control Override (Vehicle) - DisableControlAction(0, 114, true) -- Fly Attack (Flying) - DisableControlAction(0, 115, true) -- Next Weapon (Flying) - DisableControlAction(0, 121, true) -- Fly Camera (Flying) - DisableControlAction(0, 122, true) -- Control OVerride (Flying) - DisableControlAction(0, 135, true) -- Control OVerride (Sub) - DisableControlAction(0, 140, true) -- Melee attack light - DisableControlAction(0, 142, true) -- Attack alternate - DisableControlAction(0, 257, true) -- Attack 2 - DisableControlAction(0, 30, true) -- Player Movement - DisableControlAction(0, 31, true) -- Player Movement -end \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/fxmanifest.lua b/resources/[standalone]/rtx_carry/fxmanifest.lua deleted file mode 100644 index 413244785..000000000 --- a/resources/[standalone]/rtx_carry/fxmanifest.lua +++ /dev/null @@ -1,43 +0,0 @@ -fx_version 'adamant' - -game 'gta5' - -description 'RTX CARRY' - -version '25.0' - -server_scripts { - 'config.lua', - 'server/main.lua' -} - -client_scripts { - 'config.lua', - 'language/main.lua', - 'client/other.lua', - 'client/main.lua' -} - -files { - 'html/ui.html', - 'html/styles.css', - 'html/scripts.js', - 'html/debounce.min.js', - 'html/BebasNeueBold.ttf', - 'html/img/*.png' -} - -ui_page 'html/ui.html' - -exports { - 'IsPlayerCarried', -- exports["rtx_carry"]:IsPlayerCarried() Through this export you can check if the player is carried - 'IsPlayerCarrySomeone', -- exports["rtx_carry"]:IsPlayerCarrySomeone() Through this export you can check if the player carry someone -} - -lua54 'yes' - -escrow_ignore { - 'config.lua', - 'language/main.lua' -} -dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/html/BebasNeueBold.ttf b/resources/[standalone]/rtx_carry/html/BebasNeueBold.ttf deleted file mode 100644 index 45268ef03..000000000 Binary files a/resources/[standalone]/rtx_carry/html/BebasNeueBold.ttf and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html/debounce.min.js b/resources/[standalone]/rtx_carry/html/debounce.min.js deleted file mode 100644 index 648fe5d3c..000000000 --- a/resources/[standalone]/rtx_carry/html/debounce.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * jQuery throttle / debounce - v1.1 - 3/7/2010 - * http://benalman.com/projects/jquery-throttle-debounce-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this); diff --git a/resources/[standalone]/rtx_carry/html/img/carrytype1.png b/resources/[standalone]/rtx_carry/html/img/carrytype1.png deleted file mode 100644 index 223ae8ef6..000000000 Binary files a/resources/[standalone]/rtx_carry/html/img/carrytype1.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html/img/carrytype2.png b/resources/[standalone]/rtx_carry/html/img/carrytype2.png deleted file mode 100644 index 8fd99f4e1..000000000 Binary files a/resources/[standalone]/rtx_carry/html/img/carrytype2.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html/img/carrytype3.png b/resources/[standalone]/rtx_carry/html/img/carrytype3.png deleted file mode 100644 index 1c9e9569d..000000000 Binary files a/resources/[standalone]/rtx_carry/html/img/carrytype3.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html/img/close.png b/resources/[standalone]/rtx_carry/html/img/close.png deleted file mode 100644 index 5ef6454e1..000000000 Binary files a/resources/[standalone]/rtx_carry/html/img/close.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html/scripts.js b/resources/[standalone]/rtx_carry/html/scripts.js deleted file mode 100644 index 95235deaf..000000000 --- a/resources/[standalone]/rtx_carry/html/scripts.js +++ /dev/null @@ -1,104 +0,0 @@ -var carryresourcename = "carryresourcename"; - -function closeMain() { - $("body").css("display", "none"); -} -function openMain() { - $("body").css("display", "block"); -} - -$(".closetypemenu").click(function(){ - $.post('http://'+carryresourcename+'/closetypeselect', JSON.stringify({})); -}); - -window.addEventListener('message', function (event) { - - var item = event.data; - - if (item.message == "showcarryrequestreceiever") { - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $('#carryreceiever').show(); - openMain(); - } - - if (item.message == "showcarryrequestrequester") { - $('#carryreceiever').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $('#carryrequester').show(); - document.getElementById("secondsremainingrequest").innerHTML = item.remainingseconds; - openMain(); - } - - if (item.message == "showcarryed") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').show(); - openMain(); - } - - if (item.message == "hidecarryed") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').hide(); - } - - if (item.message == "showtypes") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').show(); - openMain(); - } - - if (item.message == "hide") { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').hide(); - } - - if (item.message == "updateinterfacedata") { - carryresourcename = item.carryresouredata; - let root = document.documentElement; - root.style.setProperty('--color', item.interfacecolordata); - } -}); - -$(".carry1select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type1" - })); -}); - -$(".carry2select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type2" - })); -}); - -$(".carry3select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type3" - })); -}); \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/html/styles.css b/resources/[standalone]/rtx_carry/html/styles.css deleted file mode 100644 index 0e5c57bef..000000000 --- a/resources/[standalone]/rtx_carry/html/styles.css +++ /dev/null @@ -1,390 +0,0 @@ -:root { - --color: var(--color); -} - -@import url('https://kit-pro.fontawesome.com/releases/v5.11.2/css/pro.min.css'); - -@font-face { - font-family: BebasNeueBold; - src: url(BebasNeueBold.ttf); -} - -*{ - user-select: none; /* supported by Chrome and Opera */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ -} - -*{ - user-select: none; /* supported by Chrome and Opera */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ -} - -html { - overflow: hidden; - font-family: 'Open Sans', sans-serif; -} - -body{ - display: none; - color: #a8a8aa; -} - -.carrytype1 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 18%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype1 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry1select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry1select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytype2 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype2 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry2select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry2select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytype3 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 82%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype3 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry3select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry3select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytextheader { - padding-top: 10px; - font-size: 35px; - color: var(--color); - text-align:center; -} - -.carrytextkey { - padding-bottom: 10px; - font-size: 35px; - color: #ffffff; - text-align:center; -} - -.carrytextmain { - font-size: 30px; - color: #ffffff; - text-align:center; -} - -h4{ - text-align:center; - margin-top: 20px; - margin-bottom: 0; -} - -button:focus, -input:focus { - outline:0; -} - -.container { - color: #ffffff; - font-size: 30px; -} - -.full-screen { - width: 100%; - height:100%; - display: flex; - align-items: center; -} - -.btnQuit { - width:100%; -} - -.closetypemenu { - position: absolute; - left: 98%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - top: 3.5% -} - -.carryrequest-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border: 1px solid var(--color); - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carryrequester-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border: 1px solid var(--color); - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carrysomeone-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border: 1px solid var(--color); - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carryrequest-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border: 1px solid var(--color); - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carrytype-container { - width: 70%; - height: 50%; - background-color: rgba(0, 0, 0, 0.70); - border: 3px solid var(--color); - margin: 0; - position: absolute; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding-bottom:7%; -} - -.CarryTypeMenuHeaderText { - position: absolute; - margin: 0; - font-size: 50px; - color: #ffffff; - text-align: center; - top: 12.5%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; -} - -.headercarrymenu { - position: absolute; - width:100%; - height: 2%; - color: #ffffff; - display: flex; - background-color: rgba(0, 0, 0, 1); - border-bottom: 3px solid var(--color); - flex-direction: row; - flex-wrap: wrap; - padding-bottom:5%; - margin-right: -50%; - transform: translate(-50%, -50%); - top: 3.5%; - left: 50%; -} - -.HeaderCarryMenuText { - position: absolute; - margin: 0; - font-size: 32px; - color: #ffffff; - text-align: center; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; -} - -.body { - overflow: auto; - width: 100%; - height: 90%; - display: flex; - flex-direction: row; - flex-wrap: wrap; - font-family: BebasNeueBold; -} - -*{ - font-family: BebasNeueBold; -} diff --git a/resources/[standalone]/rtx_carry/html/ui.html b/resources/[standalone]/rtx_carry/html/ui.html deleted file mode 100644 index 01a419e5d..000000000 --- a/resources/[standalone]/rtx_carry/html/ui.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - -
-
-
Carry
-
Someone wants to carry you
-
Y for Accept
-
N for Decline
-
-
-
Carry
-
Request was sent, expires in 120 seconds
-
-
-
Carry
-
Someone carries you
-
-
-
-

Choose your carry type

-
Quit
-
-
- Carry 1 -
Carry 1
-
Select
-
-
- Carry 2 -
Carry 2
-
Select
-
-
- Carry 3 -
Carry 3
-
Select
-
-
-
- - - - - - \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/html_new/BebasNeueBold.ttf b/resources/[standalone]/rtx_carry/html_new/BebasNeueBold.ttf deleted file mode 100644 index 45268ef03..000000000 Binary files a/resources/[standalone]/rtx_carry/html_new/BebasNeueBold.ttf and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html_new/debounce.min.js b/resources/[standalone]/rtx_carry/html_new/debounce.min.js deleted file mode 100644 index 648fe5d3c..000000000 --- a/resources/[standalone]/rtx_carry/html_new/debounce.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * jQuery throttle / debounce - v1.1 - 3/7/2010 - * http://benalman.com/projects/jquery-throttle-debounce-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this); diff --git a/resources/[standalone]/rtx_carry/html_new/img/carrytype1.png b/resources/[standalone]/rtx_carry/html_new/img/carrytype1.png deleted file mode 100644 index 223ae8ef6..000000000 Binary files a/resources/[standalone]/rtx_carry/html_new/img/carrytype1.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html_new/img/carrytype2.png b/resources/[standalone]/rtx_carry/html_new/img/carrytype2.png deleted file mode 100644 index 8fd99f4e1..000000000 Binary files a/resources/[standalone]/rtx_carry/html_new/img/carrytype2.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html_new/img/carrytype3.png b/resources/[standalone]/rtx_carry/html_new/img/carrytype3.png deleted file mode 100644 index 1c9e9569d..000000000 Binary files a/resources/[standalone]/rtx_carry/html_new/img/carrytype3.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html_new/img/close.png b/resources/[standalone]/rtx_carry/html_new/img/close.png deleted file mode 100644 index 5ef6454e1..000000000 Binary files a/resources/[standalone]/rtx_carry/html_new/img/close.png and /dev/null differ diff --git a/resources/[standalone]/rtx_carry/html_new/scripts.js b/resources/[standalone]/rtx_carry/html_new/scripts.js deleted file mode 100644 index a354e304e..000000000 --- a/resources/[standalone]/rtx_carry/html_new/scripts.js +++ /dev/null @@ -1,104 +0,0 @@ -var carryresourcename = "'+carryresourcename+'"; - -function closeMain() { - $("body").css("display", "none"); -} -function openMain() { - $("body").css("display", "block"); -} - -$(".closetypemenu").click(function(){ - $.post('http://'+carryresourcename+'/closetypeselect', JSON.stringify({})); -}); - -window.addEventListener('message', function (event) { - - var item = event.data; - - if (item.message == "showcarryrequestreceiever") { - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $('#carryreceiever').show(); - openMain(); - } - - if (item.message == "showcarryrequestrequester") { - $('#carryreceiever').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $('#carryrequester').show(); - document.getElementById("secondsremainingrequest").innerHTML = item.remainingseconds; - openMain(); - } - - if (item.message == "showcarryed") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').show(); - openMain(); - } - - if (item.message == "hidecarryed") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').hide(); - } - - if (item.message == "showtypes") { - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').show(); - openMain(); - } - - if (item.message == "hide") { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carrytype').hide(); - $('#carryed').hide(); - } - - if (item.message == "updateinterfacedata") { - carryresourcename = item.carryresouredata; - let root = document.documentElement; - root.style.setProperty('--color', item.interfacecolordata); - } -}); - -$(".carry1select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type1" - })); -}); - -$(".carry2select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type2" - })); -}); - -$(".carry3select").click(function () { - closeMain(); - $('#carryreceiever').hide(); - $('#carryrequester').hide(); - $('#carryed').hide(); - $('#carrytype').hide(); - $.post('http://'+carryresourcename+'/selecttype', JSON.stringify({ - carrytype: "type3" - })); -}); \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/html_new/styles.css b/resources/[standalone]/rtx_carry/html_new/styles.css deleted file mode 100644 index 44d6b2f7a..000000000 --- a/resources/[standalone]/rtx_carry/html_new/styles.css +++ /dev/null @@ -1,362 +0,0 @@ -:root { - --color: var(--color); -} - -@import url('https://kit-pro.fontawesome.com/releases/v5.11.2/css/pro.min.css'); - -@font-face { - font-family: BebasNeueBold; - src: url(BebasNeueBold.ttf); -} - -*{ - user-select: none; /* supported by Chrome and Opera */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ -} - -html { - overflow: hidden; - font-family: 'Open Sans', sans-serif; -} - -body{ - display: none; - color: #a8a8aa; -} - -.carrytype1 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 18%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype1 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry1select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry1select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytype2 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype2 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry2select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry2select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytype3 { - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - width: 25%; - height: 60%; - margin: 0; - position: absolute; - top: 60%; - left: 82%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding: 1.7%; -} - -.carrytype3 img { - position: absolute; - width: 65%; - height: 65%; - left: 50%; - top: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - z-index: 9999999; -} - -.carry3select { - position: absolute; - margin: 0; - background-color: rgba(0, 0, 0, 1); - border: 2px solid var(--color); - color: #ffffff; - font-size: 30px; - padding-top: 10px; - padding-bottom: 10px; - padding-left: 8px; - padding-right: 8px; - text-decoration: none; - text-align: center; - left: 50%; - top: 90%; - margin-right: -50%; - transform: translate(-50%, -50%); - width: 50%; -} - -.carry3select:hover { - cursor: pointer; - background: var(--color); - text-decoration: none; -} - -.carrytextheader { - padding-top: 10px; - font-size: 35px; - color: var(--color); - text-align:center; -} - -.carrytextkey { - padding-bottom: 10px; - font-size: 35px; - color: #ffffff; - text-align:center; -} - -.carrytextmain { - font-size: 30px; - color: #ffffff; - text-align:center; -} - -h4{ - text-align:center; - margin-top: 20px; - margin-bottom: 0; -} - -button:focus, -input:focus { - outline:0; -} - -.full-screen { - width: 100%; - height:100%; - display: flex; - align-items: center; -} - -.closetypemenu { - position: absolute; - left: 98%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - top: 3.5% -} - -.carryrequest-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border-bottom: 3px solid var(--color); - border-radius: 10px; - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carryrequester-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border-bottom: 3px solid var(--color); - border-radius: 10px; - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carrysomeone-container { - width: 25%; - background-color: rgba(0, 0, 0, 0.70); - border-bottom: 3px solid var(--color); - border-radius: 10px; - margin: 0; - position: absolute; - top: 85%; - left: 85%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - padding: 10px; - z-index: 9999999; - display: none; -} - -.carrytype-container { - width: 70%; - height: 50%; - background-color: rgba(0, 0, 0, 0.70); - border-bottom: 3px solid var(--color); - border-radius: 10px; - margin: 0; - position: absolute; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; - padding-bottom:7%; - display: none; -} - -.CarryTypeMenuHeaderText { - position: absolute; - margin: 0; - font-size: 50px; - color: #ffffff; - text-align: center; - top: 17%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; -} - -.headercarrymenu { - position: absolute; - width:100%; - height: 7%; - color: #ffffff; - display: flex; - background-color: rgba(0, 0, 0, 1); - border-bottom: 3px solid var(--color); - flex-direction: row; - flex-wrap: wrap; - margin-right: -50%; - transform: translate(-50%, -50%); - top: 3.8%; - left: 50%; -} - -.HeaderCarryMenuText { - position: absolute; - margin: 0; - font-size: 35px; - color: #ffffff; - text-align: center; - top: 50%; - left: 50%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; -} - -.closetypemenu { - position: absolute; - margin: 0; - top: 50%; - left: 97%; - margin-right: -50%; - transform: translate(-50%, -50%); - overflow: hidden; - z-index: 9999999; -} - -*{ - font-family: BebasNeueBold; -} diff --git a/resources/[standalone]/rtx_carry/html_new/ui.html b/resources/[standalone]/rtx_carry/html_new/ui.html deleted file mode 100644 index 2e756570a..000000000 --- a/resources/[standalone]/rtx_carry/html_new/ui.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - -
-
-
Carry
-
Someone wants to carry you
-
Y for Accept
-
N for Decline
-
-
-
Carry
-
Request was sent, expires in 120 seconds
-
-
-
Carry
-
Someone carries you
-
-
-
-

Carry

- CloseCarryMenu -
-

Choose your carry type

-
- Carry 1 -
Carry 1
-
Select
-
-
- Carry 2 -
Carry 2
-
Select
-
-
- Carry 3 -
Carry 3
-
Select
-
-
-
- - - - - - \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/language/main.lua b/resources/[standalone]/rtx_carry/language/main.lua deleted file mode 100644 index 8c9eeaf47..000000000 --- a/resources/[standalone]/rtx_carry/language/main.lua +++ /dev/null @@ -1,59 +0,0 @@ -Language = { - ["Englisch"] = { - ["noplayernearby"] = "No player nearby.", - ["invehicle"] = "You are in the vehicle.", - ["youcarrysomeone"] = "You already carry someone.", - ["someonecarryou"] = "Someone carries you.", - ["requestalready"] = "You've already sent a request to someone.", - ["targetcarrysomeone"] = "Target carries someone.", - ["targetcarryed"] = "Target is carried already.", - ["targethaverequest"] = "Target have carry request from someone already.", - ["targetmenu"] = "Target have carry menu opened.", - ["norequestdistance"] = "You are not nearby requesting player.", - ["requestdenied"] = "Request for carry was denied.", - ["agreecarry"] = "Accept Carry", - ["declinecarry"] = "Decline Carry", - ["carrytarget1"] = "Carry 1", - ["carrytarget2"] = "Carry 2", - ["carrytarget3"] = "Carry 3", - ["releaseplayer"] = "Release the player", - }, - ["Czech"] = { - ["noplayernearby"] = "Žadný hráč v blízkosti.", - ["invehicle"] = "Jste ve vozidle.", - ["youcarrysomeone"] = "Již někoho nosíte.", - ["someonecarryou"] = "Někdo vás nosí.", - ["requestalready"] = "Již jste někomu odeslal žádost.", - ["targetcarrysomeone"] = "Hráč již někoho nosí.", - ["targetcarryed"] = "Hráč již je nosen.", - ["targethaverequest"] = "Hráč má již žádost od někoho jiného", - ["targetmenu"] = "Hráč má otevřené menu", - ["norequestdistance"] = "Nejste v blízkosti hráče na kterém máte žádost.", - ["requestdenied"] = "Žádost byla odmítnuta.", - ["agreecarry"] = "Příjmout nošení", - ["declinecarry"] = "Odmítnout nošení", - ["carrytarget1"] = "Carry 1", - ["carrytarget2"] = "Carry 2", - ["carrytarget3"] = "Carry 3", - ["releaseplayer"] = "Release the player", - }, - ["Germany"] = { - ["noplayernearby"] = "Keine Spieler in der Nähe.", - ["invehicle"] = "Du bist in einem Fahrzeug.", - ["youcarrysomeone"] = "Du trägst bereits jemanden.", - ["someonecarryou"] = "Jemand trägt dich.", - ["requestalready"] = "Du hast bereits eine Anfrage zu jemandem gesendet.", - ["targetcarrysomeone"] = "Die Person trägt bereits jemanden.", - ["targetcarryed"] = "Die Person wird bereits getragen.", - ["targethaverequest"] = "Die Person hat bereits eine Anfrage zum Tragen.", - ["targetmenu"] = "Die Person hat das Tragen-Menü offen.", - ["norequestdistance"] = "Du bist ausser Reichweite.", - ["requestdenied"] = "Anfrage zum Tragen wurde abgelehnt.", - ["agreecarry"] = "Tragen annehmen", - ["declinecarry"] = "Tragen ablehnen", - ["carrytarget1"] = "Carry 1", - ["carrytarget2"] = "Carry 2", - ["carrytarget3"] = "Carry 3", - ["releaseplayer"] = "Release the player", - }, -} \ No newline at end of file diff --git a/resources/[standalone]/rtx_carry/server/main.lua b/resources/[standalone]/rtx_carry/server/main.lua deleted file mode 100644 index efc39ac00..000000000 Binary files a/resources/[standalone]/rtx_carry/server/main.lua and /dev/null differ diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/.fxap b/resources/[standalone]/xtxvxtx_female_male_body_remastered/.fxap similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/.fxap rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/.fxap diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/NUDE_TUTORIAL_BY_LEREX.mp4 b/resources/[standalone]/xtxvxtx_female_male_body_remastered/NUDE_TUTORIAL_BY_LEREX.mp4 similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/NUDE_TUTORIAL_BY_LEREX.mp4 rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/NUDE_TUTORIAL_BY_LEREX.mp4 diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/change_log.txt b/resources/[standalone]/xtxvxtx_female_male_body_remastered/change_log.txt similarity index 94% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/change_log.txt rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/change_log.txt index 671e35573..002a31e1d 100644 --- a/resources/[haare]/xtxvxtx_female_male_body_remastered/change_log.txt +++ b/resources/[standalone]/xtxvxtx_female_male_body_remastered/change_log.txt @@ -1,37 +1,37 @@ - Update 2.0 - 2/27/23 -Leg tattoo’s are working, so all tattoos can be used. Face, Torso, Legs -Cleaner Ankle seam, adjusted normals on the ankle to blend with the feet better. -If you have already purchased you can re-download from granted assets at this link. -https://keymaster.fivem.net/asset-grants 108 - - Update 3.0 - 3/17/23 -Added Male Version, still a work in progress. But now the skin tones are closer to the female version. And the quality is increased over vanilla. -Package is now called “xtxvxtx_female_male_body_remastered” and is re-issued if you have purchased this mod. Just download it from the keymaster link below and delete the old “xtxvxtx_female_textures”. - - Update 4.0 - 3/30/23 -Works with all Direct X Version now! -No longer are players restricted to having to use Dirext X 11 engine, works with DXT10, DXT10.1! -Be sure to delete the whole resource before re-installing any updates. - - Update 4.5 - 8/23/23 -Tutorial video for enabling the nude option created by Lerex added -Added fit Female six pack upper body (torso/arms option #10) -Reworked Head/Face Textures to retain more vanilla details for players who do not use makeup. - - Update 4.6 - 11/19/2023 -Adjusted animation weights to clean up the torso animations. - - Update 4.7 - 2/9/2024 -Fixed Color banding on the dark skin tones - - Update 4.8 - 3/9/2024 -Replaced uppr/torso/hands #13 with a more slender torso version. - - Update 4.9 - 3/11/2024 -Reworked leg calves to fix vanilla boot clipping. - - Update 4.9.1 - 10/16/2024 -Reworked Arm/Torso #0 to try and fix any crash issues. - - Update 4.9.2 - 1/18/2025 + Update 2.0 - 2/27/23 +Leg tattoo’s are working, so all tattoos can be used. Face, Torso, Legs +Cleaner Ankle seam, adjusted normals on the ankle to blend with the feet better. +If you have already purchased you can re-download from granted assets at this link. +https://keymaster.fivem.net/asset-grants 108 + + Update 3.0 - 3/17/23 +Added Male Version, still a work in progress. But now the skin tones are closer to the female version. And the quality is increased over vanilla. +Package is now called “xtxvxtx_female_male_body_remastered” and is re-issued if you have purchased this mod. Just download it from the keymaster link below and delete the old “xtxvxtx_female_textures”. + + Update 4.0 - 3/30/23 +Works with all Direct X Version now! +No longer are players restricted to having to use Dirext X 11 engine, works with DXT10, DXT10.1! +Be sure to delete the whole resource before re-installing any updates. + + Update 4.5 - 8/23/23 +Tutorial video for enabling the nude option created by Lerex added +Added fit Female six pack upper body (torso/arms option #10) +Reworked Head/Face Textures to retain more vanilla details for players who do not use makeup. + + Update 4.6 - 11/19/2023 +Adjusted animation weights to clean up the torso animations. + + Update 4.7 - 2/9/2024 +Fixed Color banding on the dark skin tones + + Update 4.8 - 3/9/2024 +Replaced uppr/torso/hands #13 with a more slender torso version. + + Update 4.9 - 3/11/2024 +Reworked leg calves to fix vanilla boot clipping. + + Update 4.9.1 - 10/16/2024 +Reworked Arm/Torso #0 to try and fix any crash issues. + + Update 4.9.2 - 1/18/2025 Added Romper comtapible legs from the Dec 2024 update. \ No newline at end of file diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/fxmanifest.lua b/resources/[standalone]/xtxvxtx_female_male_body_remastered/fxmanifest.lua similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/fxmanifest.lua rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/fxmanifest.lua diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_000.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_000.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_000.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_000.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_001.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_001.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_001.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_001.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_002.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_002.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_002.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_002.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_003.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_003.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_003.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_003.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_004.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_004.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_004.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_004.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_005.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_005.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_005.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_005.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_006.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_006.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_006.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_006.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_007.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_007.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_007.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_007.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_008.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_008.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_008.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_008.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_009.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_009.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_009.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_009.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_010.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_010.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_010.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_010.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_011.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_011.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_011.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_011.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_012.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_012.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_012.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_012.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_013.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_013.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_013.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_013.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_014.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_014.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_014.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_014.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_015.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_015.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_015.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_015.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_016.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_016.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_016.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyebrows/mp_fm_faov_eyebrowf_016.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_000_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_000_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_000_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_000_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_001_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_001_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_001_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_001_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_002_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_002_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_002_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_002_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_003_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_003_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_003_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_003_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_004_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_004_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_004_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_004_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_005_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_005_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_005_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_005_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_000_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_000_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_000_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_000_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_001_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_001_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_001_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_001_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_002_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_002_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_002_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_002_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_003_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_003_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_003_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_003_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_004_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_004_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_004_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_004_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_005_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_005_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_005_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/eyelash_decal/mp_f_freemode_01^decl_diff_005_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01^feet_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01^feet_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01^feet_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01^feet_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_apt01^feet_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_apt01^feet_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_apt01^feet_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_apt01^feet_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_freemode_beach^feet_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_freemode_beach^feet_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_freemode_beach^feet_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_female_freemode_beach^feet_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_006_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_006_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_006_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_sum2^feet_006_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_xmas_03^feet_000_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_xmas_03^feet_000_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_xmas_03^feet_000_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_f_freemode_01_mp_f_xmas_03^feet_000_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/feet/mp_fm_skin_f_fe_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_002_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_002_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_002_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_002_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_006_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_006_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_006_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_006_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_007_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_007_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_007_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_007_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_009_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_009_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_009_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_009_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_010_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_010_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_010_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_010_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_011_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_011_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_011_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_011_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_012_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_012_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_012_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_012_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_013_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_013_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_013_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_013_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_014_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_014_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_014_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_014_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_015_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_015_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_015_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_015_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_016_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_016_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_016_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_016_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_017_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_017_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_017_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_017_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_018_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_018_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_018_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_018_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_019_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_019_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_019_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_019_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_020_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_020_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_020_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_020_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_021_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_021_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_021_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_021_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_022_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_022_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_022_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_022_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_023_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_023_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_023_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_023_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_024_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_024_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_024_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_024_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_025_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_025_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_025_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_025_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_026_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_026_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_026_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_026_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_027_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_027_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_027_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_027_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_028_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_028_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_028_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_028_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_029_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_029_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_029_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_029_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_030_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_030_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_030_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_030_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_031_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_031_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_031_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_031_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_032_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_032_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_032_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_032_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_033_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_033_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_033_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_033_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_034_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_034_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_034_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_034_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_035_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_035_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_035_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_035_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_036_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_036_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_036_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_036_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_037_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_037_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_037_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_037_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_038_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_038_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_038_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_038_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_039_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_039_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_039_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_039_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_040_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_040_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_040_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_040_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_041_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_041_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_041_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_041_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_042_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_042_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_042_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_042_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_043_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_043_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_043_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_043_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_044_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_044_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_044_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_044_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_045_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_045_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_045_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_045_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_000_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_000_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_000_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_000_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_001_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_001_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_001_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_001_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_002_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_002_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_002_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_002_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_003_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_003_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_003_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_003_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_004_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_004_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_004_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_004_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_005_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_005_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_005_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_005_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_006_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_006_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_006_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_006_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_007_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_007_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_007_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_007_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_008_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_008_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_008_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_008_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_009_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_009_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_009_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_009_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_010_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_010_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_010_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_010_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_011_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_011_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_011_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_011_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_012_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_012_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_012_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_012_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_013_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_013_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_013_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_013_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_014_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_014_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_014_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_014_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_015_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_015_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_015_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_015_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_016_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_016_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_016_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_016_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_017_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_017_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_017_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_017_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_018_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_018_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_018_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_018_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_019_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_019_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_019_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_019_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_020_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_020_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_020_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_020_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_021_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_021_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_021_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_021_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_022_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_022_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_022_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_022_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_023_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_023_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_023_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_023_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_024_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_024_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_024_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_024_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_025_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_025_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_025_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_025_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_026_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_026_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_026_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_026_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_027_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_027_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_027_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_027_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_028_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_028_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_028_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_028_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_029_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_029_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_029_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_029_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_030_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_030_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_030_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_030_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_031_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_031_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_031_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_031_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_032_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_032_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_032_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_032_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_033_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_033_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_033_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_033_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_034_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_034_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_034_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_034_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_035_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_035_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_035_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_035_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_036_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_036_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_036_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_036_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_037_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_037_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_037_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_037_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_038_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_038_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_038_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_038_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_039_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_039_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_039_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_039_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_040_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_040_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_040_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_040_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_041_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_041_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_041_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_041_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_042_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_042_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_042_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_042_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_043_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_043_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_043_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_043_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_044_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_044_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_044_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_044_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_045_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_045_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_045_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/head/mp_f_freemode_01^head_diff_045_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_007_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_007_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_007_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_007_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_009_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_009_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_009_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_009_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_010_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_010_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_010_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_010_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_012_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_012_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_012_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_012_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_013_r.NUDE.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_013_r.NUDE.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_013_r.NUDE.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_013_r.NUDE.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_014_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_014_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_014_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_014_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_015_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_015_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_015_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01^lowr_015_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_010_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_010_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_010_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_010_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_011_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_011_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_011_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_apt01^lowr_011_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_beach^lowr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_business^lowr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_business^lowr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_business^lowr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_business^lowr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_hipster^lowr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_independence^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_independence^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_independence^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_independence^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_freemode_valentines^lowr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_heist^lowr_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_heist^lowr_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_heist^lowr_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_heist^lowr_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_xmas^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_xmas^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_xmas^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_female_xmas^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_2024_01^lowr_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_2024_01^lowr_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_2024_01^lowr_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_2024_01^lowr_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_battle^lowr_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_bikerdlc_01^lowr_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_bikerdlc_01^lowr_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_bikerdlc_01^lowr_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_bikerdlc_01^lowr_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_valentines_02^lowr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_vinewood^lowr_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_vinewood^lowr_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_vinewood^lowr_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_f_freemode_01_mp_f_vinewood^lowr_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/mp_fm_skin_f_lo_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_b_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_b_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_b_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_b_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_c_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_c_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_c_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_c_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_d_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_d_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_d_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_d_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_e_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_e_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_e_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_e_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_f_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_f_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_f_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_f_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_g_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_g_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_g_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_g_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_h_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_h_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_h_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_h_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_i_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_i_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_i_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_i_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_j_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_j_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_j_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_j_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_k_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_k_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_k_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_k_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_l_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_l_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_l_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_l_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_m_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_m_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_m_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_m_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_n_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_n_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_n_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_n_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_o_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_o_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_o_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_o_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_p_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_p_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_p_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_p_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_q_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_q_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_q_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_q_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_r_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_r_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_r_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_r_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_s_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_s_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_s_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_s_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_t_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_t_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_t_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_t_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_u_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_u_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_u_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_u_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_v_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_v_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_v_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_v_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_w_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_w_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_w_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_w_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_x_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_x_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_x_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_x_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_y_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_y_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_y_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_y_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_z_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_z_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_z_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/lowr/vanilla_hidden_skirt/mp_f_freemode_01_mp_f_christmas2017^lowr_diff_004_z_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/makeup/mp_fm_faov_makeup_000.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/makeup/mp_fm_faov_makeup_000.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/makeup/mp_fm_faov_makeup_000.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/makeup/mp_fm_faov_makeup_000.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_000_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_000_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_000_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_000_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_001_u.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_001_u.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_001_u.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_001_u.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_b_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_b_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_b_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_b_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_c_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_c_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_c_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_c_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_d_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_d_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_d_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_d_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_e_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_e_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_e_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_e_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_f_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_f_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_f_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_f_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_g_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_g_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_g_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_g_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_h_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_h_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_h_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_h_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_i_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_i_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_i_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_i_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_j_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_j_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_j_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_j_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_k_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_k_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_k_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_k_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_l_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_l_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_l_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_l_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_m_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_m_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_m_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_m_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_n_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_n_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_n_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_n_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_o_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_o_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_o_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_o_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_p_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_p_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_p_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_000_p_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_a_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_a_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_a_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_a_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_b_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_b_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_b_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_b_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_c_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_c_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_c_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_c_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_d_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_d_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_d_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_d_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_e_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_e_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_e_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_e_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_f_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_f_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_f_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_f_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_g_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_g_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_g_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_g_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_h_uni.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_h_uni.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_h_uni.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/nails_shirt/mp_f_freemode_01^accs_diff_001_h_uni.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_002_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_002_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_002_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_002_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_006_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_006_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_006_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_006_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_007_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_007_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_007_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_007_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_009_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_009_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_009_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_009_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_010_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_010_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_010_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_010_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_011_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_011_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_011_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_011_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_012_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_012_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_012_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_012_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_013_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_013_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_013_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_013_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_014_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_014_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_014_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_014_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_015_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_015_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_015_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_f_freemode_01^uppr_015_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/female/uppr/mp_fm_skin_f_up_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_000.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_000.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_000.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_000.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_001.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_001.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_001.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_001.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_002.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_002.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_002.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_002.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_003.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_003.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_003.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_003.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_004.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_004.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_004.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_004.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_005.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_005.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_005.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_005.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_006.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_006.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_006.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_006.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_007.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_007.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_007.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_007.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_008.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_008.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_008.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_008.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_009.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_009.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_009.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_009.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_010.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_010.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_010.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_010.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_011.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_011.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_011.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_011.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_012.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_012.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_012.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_012.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_013.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_013.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_013.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_013.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_014.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_014.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_014.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_014.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_015.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_015.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_015.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_015.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_016.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_016.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_016.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/eyebrows/mp_fm_faov_eyebrowm_016.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/feet/mp_fm_skin_m_fe_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_002_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_002_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_002_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_002_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_003_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_003_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_003_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_003_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_006_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_006_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_006_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_006_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_007_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_007_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_007_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_007_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_009_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_009_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_009_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_009_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_010_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_010_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_010_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_010_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_011_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_011_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_011_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_011_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_012_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_012_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_012_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_012_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_013_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_013_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_013_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_013_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_014_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_014_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_014_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_014_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_015_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_015_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_015_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_015_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_016_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_016_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_016_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_016_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_017_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_017_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_017_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_017_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_018_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_018_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_018_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_018_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_019_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_019_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_019_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_019_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_020_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_020_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_020_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_020_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_021_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_021_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_021_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_021_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_022_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_022_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_022_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_022_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_023_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_023_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_023_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_023_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_024_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_024_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_024_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_024_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_025_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_025_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_025_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_025_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_026_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_026_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_026_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_026_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_027_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_027_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_027_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_027_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_028_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_028_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_028_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_028_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_029_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_029_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_029_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_029_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_030_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_030_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_030_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_030_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_031_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_031_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_031_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_031_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_032_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_032_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_032_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_032_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_033_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_033_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_033_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_033_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_034_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_034_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_034_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_034_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_035_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_035_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_035_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_035_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_036_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_036_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_036_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_036_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_037_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_037_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_037_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_037_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_038_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_038_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_038_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_038_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_039_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_039_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_039_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_039_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_040_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_040_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_040_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_040_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_041_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_041_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_041_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_041_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_042_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_042_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_042_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_042_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_043_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_043_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_043_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_043_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_044_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_044_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_044_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_044_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_045_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_045_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_045_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_045_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_000_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_000_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_000_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_000_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_001_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_001_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_001_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_001_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_002_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_002_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_002_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_002_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_003_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_003_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_003_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_003_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_004_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_004_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_004_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_004_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_005_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_005_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_005_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_005_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_006_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_006_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_006_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_006_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_007_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_007_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_007_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_007_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_008_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_008_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_008_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_008_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_009_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_009_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_009_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_009_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_010_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_010_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_010_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_010_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_011_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_011_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_011_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_011_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_012_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_012_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_012_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_012_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_013_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_013_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_013_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_013_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_014_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_014_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_014_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_014_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_015_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_015_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_015_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_015_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_016_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_016_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_016_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_016_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_017_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_017_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_017_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_017_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_018_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_018_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_018_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_018_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_019_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_019_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_019_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_019_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_020_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_020_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_020_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_020_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_021_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_021_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_021_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_021_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_022_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_022_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_022_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_022_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_023_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_023_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_023_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_023_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_024_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_024_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_024_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_024_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_025_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_025_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_025_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_025_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_026_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_026_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_026_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_026_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_027_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_027_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_027_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_027_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_028_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_028_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_028_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_028_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_029_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_029_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_029_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_029_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_030_a_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_030_a_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_030_a_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_030_a_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_031_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_031_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_031_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_031_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_032_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_032_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_032_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_032_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_033_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_033_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_033_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_033_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_034_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_034_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_034_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_034_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_035_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_035_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_035_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_035_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_036_a_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_036_a_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_036_a_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_036_a_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_037_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_037_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_037_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_037_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_038_a_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_038_a_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_038_a_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_038_a_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_039_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_039_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_039_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_039_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_040_a_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_040_a_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_040_a_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_040_a_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_041_a_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_041_a_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_041_a_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_041_a_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_042_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_042_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_042_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_042_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_043_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_043_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_043_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_043_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_044_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_044_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_044_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_044_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_045_a_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_045_a_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_045_a_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/head/mp_m_freemode_01^head_diff_045_a_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/lowr/mp_fm_skin_m_lo_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_ara.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_ara.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_ara.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_ara.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_bla.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_bla.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_bla.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_bla.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_chi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_chi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_chi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_chi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_lat.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_lat.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_lat.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_lat.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_pak.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_pak.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_pak.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_pak.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_whi.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_whi.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_whi.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_fm_skin_m_up_whi.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_000_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_000_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_000_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_000_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_001_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_001_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_001_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_001_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_002_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_002_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_002_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_002_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_004_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_004_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_004_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_004_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_005_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_005_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_005_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_005_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_006_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_006_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_006_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_006_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_008_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_008_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_008_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_008_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_011_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_011_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_011_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_011_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_012_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_012_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_012_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_012_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_014_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_014_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_014_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_014_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_015_r.ydd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_015_r.ydd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_015_r.ydd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/male/uppr/mp_m_freemode_01^uppr_015_r.ydd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/eyes/mp_eye_colour.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/eyes/mp_eye_colour.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/eyes/mp_eye_colour.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/eyes/mp_eye_colour.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_001.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_001.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_001.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_001.ytd diff --git a/resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_002.ytd b/resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_002.ytd similarity index 100% rename from resources/[haare]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_002.ytd rename to resources/[standalone]/xtxvxtx_female_male_body_remastered/stream/unisex/tattoo/mp_fm_body_hair_002.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/BRICK/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/BRICK/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/NINJASTAR2/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/NINJASTAR2/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/ROCK/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/ROCK/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGKNIFE/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLACK/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOEBLUE/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/pedpersonality.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/pedpersonality.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponanimations.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponanimations.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponarchetypes.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weapons.meta b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weapons.meta rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/data/THROWINGSHOERED/weapons.meta diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/fxmanifest.lua b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/fxmanifest.lua rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.bak b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.bak similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.bak rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.bak diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_brick.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_brick.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_ninjastar2.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.bak b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.bak similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.bak rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.bak diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_rock.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_rock.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingknife.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_black.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_blue.ytd diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ydr b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ydr similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ydr rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ydr diff --git a/resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ytd b/resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ytd similarity index 100% rename from resources/[jobs]/[weapons]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ytd rename to resources/[weapons]/[Addon]/ThrowingWeaponAddonPack/stream/w_am_throwingshoe_red.ytd diff --git a/resources/[jobs]/[weapons]/colbaton/audio/colbaton_game.dat151.rel b/resources/[weapons]/[Addon]/colbaton/audio/colbaton_game.dat151.rel similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/audio/colbaton_game.dat151.rel rename to resources/[weapons]/[Addon]/colbaton/audio/colbaton_game.dat151.rel diff --git a/resources/[jobs]/[weapons]/colbaton/audio/colbaton_sounds.dat54.rel b/resources/[weapons]/[Addon]/colbaton/audio/colbaton_sounds.dat54.rel similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/audio/colbaton_sounds.dat54.rel rename to resources/[weapons]/[Addon]/colbaton/audio/colbaton_sounds.dat54.rel diff --git a/resources/[jobs]/[weapons]/colbaton/clip_sets.xml b/resources/[weapons]/[Addon]/colbaton/clip_sets.xml similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/clip_sets.xml rename to resources/[weapons]/[Addon]/colbaton/clip_sets.xml diff --git a/resources/[jobs]/[weapons]/colbaton/contentunlocks.meta b/resources/[weapons]/[Addon]/colbaton/contentunlocks.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/contentunlocks.meta rename to resources/[weapons]/[Addon]/colbaton/contentunlocks.meta diff --git a/resources/[jobs]/[weapons]/colbaton/dlctext.meta b/resources/[weapons]/[Addon]/colbaton/dlctext.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/dlctext.meta rename to resources/[weapons]/[Addon]/colbaton/dlctext.meta diff --git a/resources/[jobs]/[weapons]/colbaton/fxmanifest.lua b/resources/[weapons]/[Addon]/colbaton/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/fxmanifest.lua rename to resources/[weapons]/[Addon]/colbaton/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/colbaton/loadouts.meta b/resources/[weapons]/[Addon]/colbaton/loadouts.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/loadouts.meta rename to resources/[weapons]/[Addon]/colbaton/loadouts.meta diff --git a/resources/[jobs]/[weapons]/colbaton/names.lua b/resources/[weapons]/[Addon]/colbaton/names.lua similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/names.lua rename to resources/[weapons]/[Addon]/colbaton/names.lua diff --git a/resources/[jobs]/[weapons]/colbaton/pedpersonality.meta b/resources/[weapons]/[Addon]/colbaton/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/pedpersonality.meta rename to resources/[weapons]/[Addon]/colbaton/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/colbaton/pickups.meta b/resources/[weapons]/[Addon]/colbaton/pickups.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/pickups.meta rename to resources/[weapons]/[Addon]/colbaton/pickups.meta diff --git a/resources/[jobs]/[weapons]/colbaton/shop_weapon.meta b/resources/[weapons]/[Addon]/colbaton/shop_weapon.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/shop_weapon.meta rename to resources/[weapons]/[Addon]/colbaton/shop_weapon.meta diff --git a/resources/[jobs]/[weapons]/colbaton/stream/anim@melee@colbaton@holster.ycd b/resources/[weapons]/[Addon]/colbaton/stream/anim@melee@colbaton@holster.ycd similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/anim@melee@colbaton@holster.ycd rename to resources/[weapons]/[Addon]/colbaton/stream/anim@melee@colbaton@holster.ycd diff --git a/resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton+hi.ytd b/resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton+hi.ytd rename to resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton+hi.ytd diff --git a/resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton.ydr b/resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton.ydr similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton.ydr rename to resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton.ydr diff --git a/resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton.ytd b/resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton.ytd similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton.ytd rename to resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton.ytd diff --git a/resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton_grip_01.ydr b/resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton_grip_01.ydr similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton_grip_01.ydr rename to resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton_grip_01.ydr diff --git a/resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton_hi.ydr b/resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/stream/w_me_colbaton_hi.ydr rename to resources/[weapons]/[Addon]/colbaton/stream/w_me_colbaton_hi.ydr diff --git a/resources/[jobs]/[weapons]/colbaton/weapon_colbaton.meta b/resources/[weapons]/[Addon]/colbaton/weapon_colbaton.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/weapon_colbaton.meta rename to resources/[weapons]/[Addon]/colbaton/weapon_colbaton.meta diff --git a/resources/[jobs]/[weapons]/colbaton/weaponanimations.meta b/resources/[weapons]/[Addon]/colbaton/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/weaponanimations.meta rename to resources/[weapons]/[Addon]/colbaton/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/colbaton/weaponarchetypes.meta b/resources/[weapons]/[Addon]/colbaton/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/colbaton/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/colbaton/weaponcomponents.meta b/resources/[weapons]/[Addon]/colbaton/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/colbaton/weaponcomponents.meta rename to resources/[weapons]/[Addon]/colbaton/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/contentunlocks.meta b/resources/[weapons]/[Addon]/w_pocketlight/contentunlocks.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/contentunlocks.meta rename to resources/[weapons]/[Addon]/w_pocketlight/contentunlocks.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/dlctext.meta b/resources/[weapons]/[Addon]/w_pocketlight/dlctext.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/dlctext.meta rename to resources/[weapons]/[Addon]/w_pocketlight/dlctext.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/fxmanifest.lua b/resources/[weapons]/[Addon]/w_pocketlight/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/fxmanifest.lua rename to resources/[weapons]/[Addon]/w_pocketlight/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/w_pocketlight/names.lua b/resources/[weapons]/[Addon]/w_pocketlight/names.lua similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/names.lua rename to resources/[weapons]/[Addon]/w_pocketlight/names.lua diff --git a/resources/[jobs]/[weapons]/w_pocketlight/pedpersonality.meta b/resources/[weapons]/[Addon]/w_pocketlight/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/pedpersonality.meta rename to resources/[weapons]/[Addon]/w_pocketlight/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/pickups.meta b/resources/[weapons]/[Addon]/w_pocketlight/pickups.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/pickups.meta rename to resources/[weapons]/[Addon]/w_pocketlight/pickups.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/shop_weapon.meta b/resources/[weapons]/[Addon]/w_pocketlight/shop_weapon.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/shop_weapon.meta rename to resources/[weapons]/[Addon]/w_pocketlight/shop_weapon.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight+hi.ytd b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight+hi.ytd rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight+hi.ytd diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight.ytd b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight.ytd similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight.ytd rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight.ytd diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_01.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_01.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_01.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_01.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_02.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_02.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_02.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_02.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_03.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_03.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_03.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_03.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_04.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_04.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_camo_04.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_camo_04.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_hi.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_hi.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_hi.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light_red.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light_red.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light_red.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light_red.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light_uv.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light_uv.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_light_uv.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_light_uv.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_lights.ytd b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_lights.ytd similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_lights.ytd rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_lights.ytd diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_ps.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_ps.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_ps.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_ps.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_amber.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_amber.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_amber.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_amber.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_green.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_green.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_green.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_green.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_red.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_red.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_red.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_red.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_white.ydr b/resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_white.ydr similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/stream/w_me_pocketlight_wand_white.ydr rename to resources/[weapons]/[Addon]/w_pocketlight/stream/w_me_pocketlight_wand_white.ydr diff --git a/resources/[jobs]/[weapons]/w_pocketlight/weapon_pocketlight.meta b/resources/[weapons]/[Addon]/w_pocketlight/weapon_pocketlight.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/weapon_pocketlight.meta rename to resources/[weapons]/[Addon]/w_pocketlight/weapon_pocketlight.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/weaponanimations.meta b/resources/[weapons]/[Addon]/w_pocketlight/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/weaponanimations.meta rename to resources/[weapons]/[Addon]/w_pocketlight/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/weaponarchetypes.meta b/resources/[weapons]/[Addon]/w_pocketlight/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/weaponarchetypes.meta rename to resources/[weapons]/[Addon]/w_pocketlight/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/w_pocketlight/weaponcomponents.meta b/resources/[weapons]/[Addon]/w_pocketlight/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/w_pocketlight/weaponcomponents.meta rename to resources/[weapons]/[Addon]/w_pocketlight/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/thinline_klog/data/weaponcomponents.meta b/resources/[weapons]/[Replace]/thinline_klog/data/weaponcomponents.meta similarity index 97% rename from resources/[jobs]/[weapons]/thinline_klog/data/weaponcomponents.meta rename to resources/[weapons]/[Replace]/thinline_klog/data/weaponcomponents.meta index 6a36d69b4..61061902d 100644 --- a/resources/[jobs]/[weapons]/thinline_klog/data/weaponcomponents.meta +++ b/resources/[weapons]/[Replace]/thinline_klog/data/weaponcomponents.meta @@ -1,2817 +1,2817 @@ - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_01 - w_ar_assaultriflemk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_02 - w_ar_assaultriflemk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING - w_ar_assaultriflemk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_RIFLE_ARMORPIERCING - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ - w_ar_assaultriflemk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_RIFLE_FMJ - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY - w_ar_assaultriflemk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_RIFLE_INCENDIARY - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER - w_ar_assaultriflemk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - AMMO_RIFLE_TRACER - - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_01 - w_ar_carbineriflemk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_02 - w_ar_carbineriflemk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING - w_ar_carbineriflemk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_RIFLE_ARMORPIERCING - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ - w_ar_carbineriflemk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_RIFLE_FMJ - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY - w_ar_carbineriflemk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_RIFLE_INCENDIARY - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER - w_ar_carbineriflemk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_RIFLE_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_01 - w_mg_combatmgmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_02 - w_mg_combatmgmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING - w_mg_combatmgmk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_MG_ARMORPIERCING - - - - - - COMPONENT_COMBATMG_MK2_CLIP_FMJ - w_mg_combatmgmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_MG_FMJ - - - - - - COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY - w_mg_combatmgmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_MG_INCENDIARY - - - - - - COMPONENT_COMBATMG_MK2_CLIP_TRACER - w_mg_combatmgmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_MG_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_01 - w_sr_heavysnipermk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_02 - w_sr_heavysnipermk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING - w_sr_heavysnipermk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_SNIPER_ARMORPIERCING - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE - w_sr_heavysnipermk2_mag_ap2 - WCT_CLIP_EX - WCD_CLIP_EX - AAPClip - - - - - - - - - - - - AMMO_SNIPER_EXPLOSIVE - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ - w_sr_heavysnipermk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_SNIPER_FMJ - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY - w_sr_heavysnipermk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_SNIPER_INCENDIARY - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_01 - w_pi_pistolmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_02 - w_pi_pistolmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_FMJ - w_pi_pistolmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_PISTOL_FMJ - - - - - - COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT - w_pi_pistolmk2_mag_hp - WCT_CLIP_HP - WCD_CLIP_HP - AAPClip - - - - - - - - - - - - AMMO_PISTOL_HOLLOWPOINT - - - - - - COMPONENT_PISTOL_MK2_CLIP_INCENDIARY - w_pi_pistolmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_PISTOL_INCENDIARY - - - - - - COMPONENT_PISTOL_MK2_CLIP_TRACER - w_pi_pistolmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_PISTOL_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_SMG_MK2_CLIP_01 - w_sb_smgmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CLIP_02 - w_sb_smgmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CLIP_FMJ - w_sb_smgmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_SMG_FMJ - - - - - - COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT - w_sb_smgmk2_mag_hp - WCT_CLIP_HP - WCD_CLIP_HP - AAPClip - - - - - - - - - - - - AMMO_SMG_HOLLOWPOINT - - - - - - COMPONENT_SMG_MK2_CLIP_INCENDIARY - w_sb_smgmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_SMG_INCENDIARY - - - - - - COMPONENT_SMG_MK2_CLIP_TRACER - w_sb_smgmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_SMG_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_AT_AR_BARREL_01 - w_at_ar_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_AR_BARREL_02 - w_at_ar_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_CR_BARREL_01 - w_at_cr_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_CR_BARREL_02 - w_at_cr_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_MG_BARREL_01 - w_at_mg_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_MG_BARREL_02 - w_at_mg_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_SB_BARREL_01 - w_at_sb_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_SB_BARREL_02 - w_at_sb_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_SR_BARREL_01 - w_at_sr_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_SR_BARREL_02 - w_at_sr_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO - w_at_armk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_02 - w_at_armk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_03 - w_at_armk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_04 - w_at_armk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_05 - w_at_armk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_06 - w_at_armk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_07 - w_at_armk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_08 - w_at_armk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_09 - w_at_armk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_10 - w_at_armk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01 - w_at_armk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO - w_ar_carbineriflemk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_02 - w_ar_carbineriflemk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_03 - w_ar_carbineriflemk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_04 - w_ar_carbineriflemk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_05 - w_ar_carbineriflemk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_06 - w_ar_carbineriflemk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_07 - w_ar_carbineriflemk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_08 - w_ar_carbineriflemk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_09 - w_ar_carbineriflemk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_10 - w_ar_carbineriflemk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01 - w_ar_carbineriflemk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO - w_mg_combatmgmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_02 - w_mg_combatmgmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_03 - w_mg_combatmgmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_04 - w_mg_combatmgmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_05 - w_mg_combatmgmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_06 - w_mg_combatmgmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_07 - w_mg_combatmgmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_08 - w_mg_combatmgmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_09 - w_mg_combatmgmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_10 - w_mg_combatmgmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_IND_01 - w_mg_combatmgmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO - w_at_smgmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_02 - w_at_smgmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_03 - w_at_smgmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_04 - w_at_smgmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_05 - w_at_smgmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_06 - w_at_smgmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_07 - w_at_smgmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_08 - w_at_smgmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_09 - w_at_smgmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_10 - w_at_smgmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_IND_01 - w_at_smgmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_SLIDE - W_PI_PistolMK2_Slide_Camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO - w_pi_pistolmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_02_SLIDE - W_PI_PistolMK2_Slide_Camo2 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_02 - w_pi_pistolmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_03_SLIDE - W_PI_PistolMK2_Slide_Camo3 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_03 - w_pi_pistolmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_04_SLIDE - W_PI_PistolMK2_Slide_Camo4 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_04 - w_pi_pistolmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_05_SLIDE - W_PI_PistolMK2_Slide_Camo5 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_05 - w_pi_pistolmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_06_SLIDE - W_PI_PistolMK2_Slide_Camo6 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_06 - w_pi_pistolmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_07_SLIDE - W_PI_PistolMK2_Slide_Camo7 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_07 - w_pi_pistolmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_08_SLIDE - W_PI_PistolMK2_Slide_Camo8 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_08 - w_pi_pistolmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_09_SLIDE - W_PI_PistolMK2_Slide_Camo9 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_09 - w_pi_pistolmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_10_SLIDE - W_PI_PistolMK2_Slide_Camo10 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_10 - w_pi_pistolmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE - W_PI_PistolMK2_Camo_Sl_Ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01 - w_pi_pistolmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO - w_at_heavysnipermk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_02 - w_at_heavysnipermk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_03 - w_at_heavysnipermk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_04 - w_at_heavysnipermk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_05 - w_at_heavysnipermk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_06 - w_at_heavysnipermk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_07 - w_at_heavysnipermk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_08 - w_at_heavysnipermk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_09 - w_at_heavysnipermk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_10 - w_at_heavysnipermk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01 - w_at_heavysnipermk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_AT_PI_FLSH_02 - w_at_pi_flsh_2 - WCT_FLASH - WCD_FLASH - AAPFlsh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gun_FLMuzzle - Bulb_On - Bulb_Off - - - - - - COMPONENT_AT_AR_AFGRIP_02 - w_at_afgrip_2 - WCT_GRIP - WCD_GRIP - AAPGrip - - - - - - - - - - - - - - - - - COMPONENT_AT_MUZZLE_01 - w_at_muzzle_1 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_02 - w_at_muzzle_2 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_03 - w_at_muzzle_3 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_04 - w_at_muzzle_4 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_05 - w_at_muzzle_5 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_06 - w_at_muzzle_6 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_07 - w_at_muzzle_7 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_08 - w_at_muzzle_8 - WCT_MUZZ - WCD_MUZZ_SR - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_09 - w_at_muzzle_9 - WCT_MUZZ - WCD_MUZZ_SR - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_PI_COMP - w_at_pi_comp_1 - WCT_COMP - WCD_COMP - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - - - - COMPONENT_AT_PI_RAIL - w_at_pi_rail_1 - WCT_SCOPE_PI - WCD_SCOPE_PI - WAPScop_2 - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_MK2 - w_at_scope_macro - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_02_MK2 - w_at_scope_macro_2 - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2 - w_at_scope_macro_2_mk2 - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_SMALL_MK2 - w_at_scope_small - WCT_SCOPE_SML2 - WCD_SCOPE_SML - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_SMALL_SMG_MK2 - w_at_scope_small_mk2 - WCT_SCOPE_SML2 - WCD_SCOPE_SML - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MEDIUM_MK2 - w_at_scope_medium_2 - WCT_SCOPE_MED2 - WCD_SCOPE_MED - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_LARGE_MK2 - w_at_scope_large - WCT_SCOPE_LRG2 - WCD_SCOPE_LRG - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - - - - COMPONENT_AT_SCOPE_NV - w_at_scope_nv - WCT_SCOPE_NV - WCD_SCOPE_NV - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - NightVision - - - COMPONENT_AT_SCOPE_THERMAL - w_at_scope_nv - WCT_SCOPE_TH - WCD_SCOPE_TH - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - ThermalVision - - - COMPONENT_AT_SIGHTS - w_at_sights_1 - WCT_HOLO - WCD_HOLO - AAPScop - - - - - - - - - - - - - - - - - COMPONENT_AT_SIGHTS_SMG - w_at_sights_smg - WCT_HOLO - WCD_HOLO - AAPScop - - - - - - - - - - - - - - - - - - - - COMPONENT_AT_SR_SUPP_03 - w_at_sr_supp3 - WCT_SUPP - WCD_SR_SUPP - AAPSupp - - - - - - - - - - Gun_SuMuzzle - muz_pistol_silencer - - - - DLC - Gunrunning - + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_01 + w_ar_assaultriflemk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_02 + w_ar_assaultriflemk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING + w_ar_assaultriflemk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_RIFLE_ARMORPIERCING + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ + w_ar_assaultriflemk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_RIFLE_FMJ + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY + w_ar_assaultriflemk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_RIFLE_INCENDIARY + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER + w_ar_assaultriflemk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + AMMO_RIFLE_TRACER + + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_01 + w_ar_carbineriflemk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_02 + w_ar_carbineriflemk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING + w_ar_carbineriflemk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_RIFLE_ARMORPIERCING + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ + w_ar_carbineriflemk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_RIFLE_FMJ + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY + w_ar_carbineriflemk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_RIFLE_INCENDIARY + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER + w_ar_carbineriflemk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_RIFLE_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_01 + w_mg_combatmgmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_02 + w_mg_combatmgmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING + w_mg_combatmgmk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_MG_ARMORPIERCING + + + + + + COMPONENT_COMBATMG_MK2_CLIP_FMJ + w_mg_combatmgmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_MG_FMJ + + + + + + COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY + w_mg_combatmgmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_MG_INCENDIARY + + + + + + COMPONENT_COMBATMG_MK2_CLIP_TRACER + w_mg_combatmgmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_MG_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_01 + w_sr_heavysnipermk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_02 + w_sr_heavysnipermk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING + w_sr_heavysnipermk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_SNIPER_ARMORPIERCING + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE + w_sr_heavysnipermk2_mag_ap2 + WCT_CLIP_EX + WCD_CLIP_EX + AAPClip + + + + + + + + + + + + AMMO_SNIPER_EXPLOSIVE + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ + w_sr_heavysnipermk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_SNIPER_FMJ + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY + w_sr_heavysnipermk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_SNIPER_INCENDIARY + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_01 + w_pi_pistolmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_02 + w_pi_pistolmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_FMJ + w_pi_pistolmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_PISTOL_FMJ + + + + + + COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT + w_pi_pistolmk2_mag_hp + WCT_CLIP_HP + WCD_CLIP_HP + AAPClip + + + + + + + + + + + + AMMO_PISTOL_HOLLOWPOINT + + + + + + COMPONENT_PISTOL_MK2_CLIP_INCENDIARY + w_pi_pistolmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_PISTOL_INCENDIARY + + + + + + COMPONENT_PISTOL_MK2_CLIP_TRACER + w_pi_pistolmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_PISTOL_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_SMG_MK2_CLIP_01 + w_sb_smgmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CLIP_02 + w_sb_smgmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CLIP_FMJ + w_sb_smgmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_SMG_FMJ + + + + + + COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT + w_sb_smgmk2_mag_hp + WCT_CLIP_HP + WCD_CLIP_HP + AAPClip + + + + + + + + + + + + AMMO_SMG_HOLLOWPOINT + + + + + + COMPONENT_SMG_MK2_CLIP_INCENDIARY + w_sb_smgmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_SMG_INCENDIARY + + + + + + COMPONENT_SMG_MK2_CLIP_TRACER + w_sb_smgmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_SMG_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_AT_AR_BARREL_01 + w_at_ar_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_AR_BARREL_02 + w_at_ar_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_CR_BARREL_01 + w_at_cr_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_CR_BARREL_02 + w_at_cr_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_MG_BARREL_01 + w_at_mg_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_MG_BARREL_02 + w_at_mg_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_SB_BARREL_01 + w_at_sb_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_SB_BARREL_02 + w_at_sb_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_SR_BARREL_01 + w_at_sr_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_SR_BARREL_02 + w_at_sr_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO + w_at_armk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_02 + w_at_armk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_03 + w_at_armk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_04 + w_at_armk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_05 + w_at_armk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_06 + w_at_armk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_07 + w_at_armk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_08 + w_at_armk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_09 + w_at_armk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_10 + w_at_armk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01 + w_at_armk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO + w_ar_carbineriflemk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_02 + w_ar_carbineriflemk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_03 + w_ar_carbineriflemk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_04 + w_ar_carbineriflemk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_05 + w_ar_carbineriflemk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_06 + w_ar_carbineriflemk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_07 + w_ar_carbineriflemk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_08 + w_ar_carbineriflemk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_09 + w_ar_carbineriflemk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_10 + w_ar_carbineriflemk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01 + w_ar_carbineriflemk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO + w_mg_combatmgmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_02 + w_mg_combatmgmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_03 + w_mg_combatmgmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_04 + w_mg_combatmgmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_05 + w_mg_combatmgmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_06 + w_mg_combatmgmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_07 + w_mg_combatmgmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_08 + w_mg_combatmgmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_09 + w_mg_combatmgmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_10 + w_mg_combatmgmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_IND_01 + w_mg_combatmgmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO + w_at_smgmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_02 + w_at_smgmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_03 + w_at_smgmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_04 + w_at_smgmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_05 + w_at_smgmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_06 + w_at_smgmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_07 + w_at_smgmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_08 + w_at_smgmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_09 + w_at_smgmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_10 + w_at_smgmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_IND_01 + w_at_smgmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_SLIDE + W_PI_PistolMK2_Slide_Camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO + w_pi_pistolmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_02_SLIDE + W_PI_PistolMK2_Slide_Camo2 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_02 + w_pi_pistolmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_03_SLIDE + W_PI_PistolMK2_Slide_Camo3 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_03 + w_pi_pistolmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_04_SLIDE + W_PI_PistolMK2_Slide_Camo4 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_04 + w_pi_pistolmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_05_SLIDE + W_PI_PistolMK2_Slide_Camo5 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_05 + w_pi_pistolmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_06_SLIDE + W_PI_PistolMK2_Slide_Camo6 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_06 + w_pi_pistolmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_07_SLIDE + W_PI_PistolMK2_Slide_Camo7 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_07 + w_pi_pistolmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_08_SLIDE + W_PI_PistolMK2_Slide_Camo8 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_08 + w_pi_pistolmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_09_SLIDE + W_PI_PistolMK2_Slide_Camo9 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_09 + w_pi_pistolmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_10_SLIDE + W_PI_PistolMK2_Slide_Camo10 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_10 + w_pi_pistolmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE + W_PI_PistolMK2_Camo_Sl_Ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01 + w_pi_pistolmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO + w_at_heavysnipermk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_02 + w_at_heavysnipermk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_03 + w_at_heavysnipermk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_04 + w_at_heavysnipermk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_05 + w_at_heavysnipermk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_06 + w_at_heavysnipermk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_07 + w_at_heavysnipermk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_08 + w_at_heavysnipermk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_09 + w_at_heavysnipermk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_10 + w_at_heavysnipermk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01 + w_at_heavysnipermk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_AT_PI_FLSH_02 + w_at_pi_flsh_2 + WCT_FLASH + WCD_FLASH + AAPFlsh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gun_FLMuzzle + Bulb_On + Bulb_Off + + + + + + COMPONENT_AT_AR_AFGRIP_02 + w_at_afgrip_2 + WCT_GRIP + WCD_GRIP + AAPGrip + + + + + + + + + + + + + + + + + COMPONENT_AT_MUZZLE_01 + w_at_muzzle_1 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_02 + w_at_muzzle_2 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_03 + w_at_muzzle_3 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_04 + w_at_muzzle_4 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_05 + w_at_muzzle_5 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_06 + w_at_muzzle_6 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_07 + w_at_muzzle_7 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_08 + w_at_muzzle_8 + WCT_MUZZ + WCD_MUZZ_SR + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_09 + w_at_muzzle_9 + WCT_MUZZ + WCD_MUZZ_SR + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_PI_COMP + w_at_pi_comp_1 + WCT_COMP + WCD_COMP + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + + + + COMPONENT_AT_PI_RAIL + w_at_pi_rail_1 + WCT_SCOPE_PI + WCD_SCOPE_PI + WAPScop_2 + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_MK2 + w_at_scope_macro + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_02_MK2 + w_at_scope_macro_2 + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2 + w_at_scope_macro_2_mk2 + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_SMALL_MK2 + w_at_scope_small + WCT_SCOPE_SML2 + WCD_SCOPE_SML + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_SMALL_SMG_MK2 + w_at_scope_small_mk2 + WCT_SCOPE_SML2 + WCD_SCOPE_SML + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MEDIUM_MK2 + w_at_scope_medium_2 + WCT_SCOPE_MED2 + WCD_SCOPE_MED + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_LARGE_MK2 + w_at_scope_large + WCT_SCOPE_LRG2 + WCD_SCOPE_LRG + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + + + + COMPONENT_AT_SCOPE_NV + w_at_scope_nv + WCT_SCOPE_NV + WCD_SCOPE_NV + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + NightVision + + + COMPONENT_AT_SCOPE_THERMAL + w_at_scope_nv + WCT_SCOPE_TH + WCD_SCOPE_TH + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + ThermalVision + + + COMPONENT_AT_SIGHTS + w_at_sights_1 + WCT_HOLO + WCD_HOLO + AAPScop + + + + + + + + + + + + + + + + + COMPONENT_AT_SIGHTS_SMG + w_at_sights_smg + WCT_HOLO + WCD_HOLO + AAPScop + + + + + + + + + + + + + + + + + + + + COMPONENT_AT_SR_SUPP_03 + w_at_sr_supp3 + WCT_SUPP + WCD_SR_SUPP + AAPSupp + + + + + + + + + + Gun_SuMuzzle + muz_pistol_silencer + + + + DLC - Gunrunning + diff --git a/resources/[jobs]/[weapons]/thinline_klog/data/weapons_pistol_mk2.meta b/resources/[weapons]/[Replace]/thinline_klog/data/weapons_pistol_mk2.meta similarity index 97% rename from resources/[jobs]/[weapons]/thinline_klog/data/weapons_pistol_mk2.meta rename to resources/[weapons]/[Replace]/thinline_klog/data/weapons_pistol_mk2.meta index 5004bb44a..8e840c6ac 100644 --- a/resources/[jobs]/[weapons]/thinline_klog/data/weapons_pistol_mk2.meta +++ b/resources/[weapons]/[Replace]/thinline_klog/data/weapons_pistol_mk2.meta @@ -1,508 +1,508 @@ - - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - - - - - - - - WEAPON_PISTOL_MK2 - w_pi_pistolmk2 - - SLOT_PISTOL_MK2 - BULLET - - DONTCARE - DONTCARE - DONTCARE - DONTCARE - DONTCARE - DONTCARE - - INSTANT_HIT - WHEEL_PISTOL - GROUP_PISTOL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BONETAG_HEAD - - - - - BONETAG_NECK - - - - - BONETAG_L_THIGH - - - - - BONETAG_R_THIGH - - - - - BONETAG_L_CALF - - - - - BONETAG_R_CALF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WEAPON_EFFECT_GROUP_PISTOL_SMALL - muz_pistol - - muz_pistol_fp - - muz_smoking_barrel - muz_smoking_barrel_fp - - - - - eject_pistol - eject_pistol_fp - bullet_tracer - BulletSmall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DEFAULT_THIRD_PERSON_PED_AIM_CAMERA - - - DEFAULT_THIRD_PERSON_PED_AIM_IN_COVER_CAMERA - - DEFAULT_THIRD_PERSON_PED_RUN_AND_GUN_CAMERA - DEFAULT_THIRD_PERSON_PED_CINEMATIC_SHOOTING_CAMERA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PISTOL_RECOIL_SHAKE - FPS_PISTOL_RECOIL_SHAKE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WEAPON_PISTOL - - PICKUP_WEAPON_PISTOL_MK2 - PICKUP_AMMO_BULLET_MP - WT_PIST2 - MMI_1Handed - PISTOL - - - normal - - - WAPClip - - - COMPONENT_PISTOL_MK2_CLIP_01 - - - - COMPONENT_PISTOL_MK2_CLIP_02 - - - - COMPONENT_PISTOL_MK2_CLIP_FMJ - - - - COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT - - - - COMPONENT_PISTOL_MK2_CLIP_INCENDIARY - - - - COMPONENT_PISTOL_MK2_CLIP_TRACER - - - - - - WAPScop_2 - - - COMPONENT_AT_PI_RAIL - - - - - - WAPFlshLasr - - - COMPONENT_AT_PI_FLSH_02 - - - - - - WAPSupp - - - COMPONENT_AT_PI_SUPP_02 - - - - COMPONENT_AT_PI_COMP - - - - - - WAPScop_2 - - - COMPONENT_PISTOL_MK2_CAMO_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_02_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_03_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_04_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_05_SLIDE - - - COMPONENT_PISTOL_MK2_CAMO_06_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_07_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_08_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_09_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_10_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE - - - - - - gun_root - - - COMPONENT_PISTOL_MK2_CAMO - - - - COMPONENT_PISTOL_MK2_CAMO_02 - - - - COMPONENT_PISTOL_MK2_CAMO_03 - - - - COMPONENT_PISTOL_MK2_CAMO_04 - - - - COMPONENT_PISTOL_MK2_CAMO_05 - - - - COMPONENT_PISTOL_MK2_CAMO_06 - - - - COMPONENT_PISTOL_MK2_CAMO_07 - - - - COMPONENT_PISTOL_MK2_CAMO_08 - - - - COMPONENT_PISTOL_MK2_CAMO_09 - - - - COMPONENT_PISTOL_MK2_CAMO_10 - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01 - - - - - - - Pistol - CarriedInHand Gun CanLockonOnFoot CanLockonInVehicle CanFreeAim AnimReload AnimCrouchFire UsableOnFoot UsableClimbing UsableInCover AllowCloseQuarterKills HasLowCoverReloads HasLowCoverSwaps QuitTransitionToIdleIntroOnWeaponChange DisableLeftHandIkWhenOnFoot TorsoIKForWeaponBlock UseFPSAimIK UseFPSSecondaryMotion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DLC - Mk II - Pistol + + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + + + + + + + + WEAPON_PISTOL_MK2 + w_pi_pistolmk2 + + SLOT_PISTOL_MK2 + BULLET + + DONTCARE + DONTCARE + DONTCARE + DONTCARE + DONTCARE + DONTCARE + + INSTANT_HIT + WHEEL_PISTOL + GROUP_PISTOL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BONETAG_HEAD + + + + + BONETAG_NECK + + + + + BONETAG_L_THIGH + + + + + BONETAG_R_THIGH + + + + + BONETAG_L_CALF + + + + + BONETAG_R_CALF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WEAPON_EFFECT_GROUP_PISTOL_SMALL + muz_pistol + + muz_pistol_fp + + muz_smoking_barrel + muz_smoking_barrel_fp + + + + + eject_pistol + eject_pistol_fp + bullet_tracer + BulletSmall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DEFAULT_THIRD_PERSON_PED_AIM_CAMERA + + + DEFAULT_THIRD_PERSON_PED_AIM_IN_COVER_CAMERA + + DEFAULT_THIRD_PERSON_PED_RUN_AND_GUN_CAMERA + DEFAULT_THIRD_PERSON_PED_CINEMATIC_SHOOTING_CAMERA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PISTOL_RECOIL_SHAKE + FPS_PISTOL_RECOIL_SHAKE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WEAPON_PISTOL + + PICKUP_WEAPON_PISTOL_MK2 + PICKUP_AMMO_BULLET_MP + WT_PIST2 + MMI_1Handed + PISTOL + + + normal + + + WAPClip + + + COMPONENT_PISTOL_MK2_CLIP_01 + + + + COMPONENT_PISTOL_MK2_CLIP_02 + + + + COMPONENT_PISTOL_MK2_CLIP_FMJ + + + + COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT + + + + COMPONENT_PISTOL_MK2_CLIP_INCENDIARY + + + + COMPONENT_PISTOL_MK2_CLIP_TRACER + + + + + + WAPScop_2 + + + COMPONENT_AT_PI_RAIL + + + + + + WAPFlshLasr + + + COMPONENT_AT_PI_FLSH_02 + + + + + + WAPSupp + + + COMPONENT_AT_PI_SUPP_02 + + + + COMPONENT_AT_PI_COMP + + + + + + WAPScop_2 + + + COMPONENT_PISTOL_MK2_CAMO_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_02_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_03_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_04_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_05_SLIDE + + + COMPONENT_PISTOL_MK2_CAMO_06_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_07_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_08_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_09_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_10_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE + + + + + + gun_root + + + COMPONENT_PISTOL_MK2_CAMO + + + + COMPONENT_PISTOL_MK2_CAMO_02 + + + + COMPONENT_PISTOL_MK2_CAMO_03 + + + + COMPONENT_PISTOL_MK2_CAMO_04 + + + + COMPONENT_PISTOL_MK2_CAMO_05 + + + + COMPONENT_PISTOL_MK2_CAMO_06 + + + + COMPONENT_PISTOL_MK2_CAMO_07 + + + + COMPONENT_PISTOL_MK2_CAMO_08 + + + + COMPONENT_PISTOL_MK2_CAMO_09 + + + + COMPONENT_PISTOL_MK2_CAMO_10 + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01 + + + + + + + Pistol + CarriedInHand Gun CanLockonOnFoot CanLockonInVehicle CanFreeAim AnimReload AnimCrouchFire UsableOnFoot UsableClimbing UsableInCover AllowCloseQuarterKills HasLowCoverReloads HasLowCoverSwaps QuitTransitionToIdleIntroOnWeaponChange DisableLeftHandIkWhenOnFoot TorsoIKForWeaponBlock UseFPSAimIK UseFPSSecondaryMotion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DLC - Mk II - Pistol \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/thinline_klog/fxmanifest.lua b/resources/[weapons]/[Replace]/thinline_klog/fxmanifest.lua similarity index 95% rename from resources/[jobs]/[weapons]/thinline_klog/fxmanifest.lua rename to resources/[weapons]/[Replace]/thinline_klog/fxmanifest.lua index e5bd118b6..38901807c 100644 --- a/resources/[jobs]/[weapons]/thinline_klog/fxmanifest.lua +++ b/resources/[weapons]/[Replace]/thinline_klog/fxmanifest.lua @@ -1,9 +1,9 @@ -fx_version 'cerulean' -game 'gta5' - -files { - 'data/*.meta' -} - -data_file 'WEAPONINFO_FILE_PATCH' 'data/weapons_pistol_mk2.meta' +fx_version 'cerulean' +game 'gta5' + +files { + 'data/*.meta' +} + +data_file 'WEAPONINFO_FILE_PATCH' 'data/weapons_pistol_mk2.meta' data_file 'WEAPONCOMPONENTSINFO_FILE' 'data/weaponcomponents.meta' \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2.ydr b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2.ydr rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2.ytd b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2.ytd rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1.ydr b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1.ydr rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1.ytd b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1.ytd rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog/stream/w_pi_pistolmk2_mag1_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog/stream/w_pi_pistolmk2_mag1_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/data/weaponcomponents.meta b/resources/[weapons]/[Replace]/thinline_klog_attachments/data/weaponcomponents.meta similarity index 97% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/data/weaponcomponents.meta rename to resources/[weapons]/[Replace]/thinline_klog_attachments/data/weaponcomponents.meta index 6a36d69b4..61061902d 100644 --- a/resources/[jobs]/[weapons]/thinline_klog_attachments/data/weaponcomponents.meta +++ b/resources/[weapons]/[Replace]/thinline_klog_attachments/data/weaponcomponents.meta @@ -1,2817 +1,2817 @@ - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_01 - w_ar_assaultriflemk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_02 - w_ar_assaultriflemk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING - w_ar_assaultriflemk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_RIFLE_ARMORPIERCING - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ - w_ar_assaultriflemk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_RIFLE_FMJ - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY - w_ar_assaultriflemk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_RIFLE_INCENDIARY - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER - w_ar_assaultriflemk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - AMMO_RIFLE_TRACER - - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_01 - w_ar_carbineriflemk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_02 - w_ar_carbineriflemk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING - w_ar_carbineriflemk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_RIFLE_ARMORPIERCING - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ - w_ar_carbineriflemk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_RIFLE_FMJ - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY - w_ar_carbineriflemk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_RIFLE_INCENDIARY - - - - - - COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER - w_ar_carbineriflemk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_RIFLE_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_01 - w_mg_combatmgmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_02 - w_mg_combatmgmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING - w_mg_combatmgmk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_MG_ARMORPIERCING - - - - - - COMPONENT_COMBATMG_MK2_CLIP_FMJ - w_mg_combatmgmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_MG_FMJ - - - - - - COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY - w_mg_combatmgmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_MG_INCENDIARY - - - - - - COMPONENT_COMBATMG_MK2_CLIP_TRACER - w_mg_combatmgmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_MG_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_01 - w_sr_heavysnipermk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_02 - w_sr_heavysnipermk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING - w_sr_heavysnipermk2_mag_ap - WCT_CLIP_AP - WCD_CLIP_AP - AAPClip - - - - - - - - - - - - AMMO_SNIPER_ARMORPIERCING - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE - w_sr_heavysnipermk2_mag_ap2 - WCT_CLIP_EX - WCD_CLIP_EX - AAPClip - - - - - - - - - - - - AMMO_SNIPER_EXPLOSIVE - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ - w_sr_heavysnipermk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_SNIPER_FMJ - - - - - - COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY - w_sr_heavysnipermk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_SNIPER_INCENDIARY - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_01 - w_pi_pistolmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_02 - w_pi_pistolmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CLIP_FMJ - w_pi_pistolmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_PISTOL_FMJ - - - - - - COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT - w_pi_pistolmk2_mag_hp - WCT_CLIP_HP - WCD_CLIP_HP - AAPClip - - - - - - - - - - - - AMMO_PISTOL_HOLLOWPOINT - - - - - - COMPONENT_PISTOL_MK2_CLIP_INCENDIARY - w_pi_pistolmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_PISTOL_INCENDIARY - - - - - - COMPONENT_PISTOL_MK2_CLIP_TRACER - w_pi_pistolmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_PISTOL_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_SMG_MK2_CLIP_01 - w_sb_smgmk2_mag1 - WCT_CLIP1 - WCD_CLIP1 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CLIP_02 - w_sb_smgmk2_mag2 - WCT_CLIP2 - WCD_CLIP2 - AAPClip - - - - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CLIP_FMJ - w_sb_smgmk2_mag_fmj - WCT_CLIP_FMJ - WCD_CLIP_FMJ - AAPClip - - - - - - - - - - - - AMMO_SMG_FMJ - - - - - - COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT - w_sb_smgmk2_mag_hp - WCT_CLIP_HP - WCD_CLIP_HP - AAPClip - - - - - - - - - - - - AMMO_SMG_HOLLOWPOINT - - - - - - COMPONENT_SMG_MK2_CLIP_INCENDIARY - w_sb_smgmk2_mag_inc - WCT_CLIP_INC - WCD_CLIP_INC - AAPClip - - - - - - - - - - - - AMMO_SMG_INCENDIARY - - - - - - COMPONENT_SMG_MK2_CLIP_TRACER - w_sb_smgmk2_mag_tr - WCT_CLIP_TR - WCD_CLIP_TR - AAPClip - - - - - - - - - - - - AMMO_SMG_TRACER - bullet_tracer_gr_tintable - - - - - - - - COMPONENT_AT_AR_BARREL_01 - w_at_ar_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_AR_BARREL_02 - w_at_ar_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_CR_BARREL_01 - w_at_cr_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_CR_BARREL_02 - w_at_cr_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_MG_BARREL_01 - w_at_mg_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_MG_BARREL_02 - w_at_mg_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_SB_BARREL_01 - w_at_sb_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_SB_BARREL_02 - w_at_sb_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - COMPONENT_AT_SR_BARREL_01 - w_at_sr_barrel_1 - WCT_BARR - WCD_BARR - AAPBarrel - - - - - - - - - - - - - COMPONENT_AT_SR_BARREL_02 - w_at_sr_barrel_2 - WCT_BARR2 - WCD_BARR2 - AAPBarrel - - - - - - - - - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO - w_at_armk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_02 - w_at_armk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_03 - w_at_armk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_04 - w_at_armk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_05 - w_at_armk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_06 - w_at_armk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_07 - w_at_armk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_08 - w_at_armk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_09 - w_at_armk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_10 - w_at_armk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01 - w_at_armk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO - w_ar_carbineriflemk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_02 - w_ar_carbineriflemk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_03 - w_ar_carbineriflemk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_04 - w_ar_carbineriflemk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_05 - w_ar_carbineriflemk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_06 - w_ar_carbineriflemk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_07 - w_ar_carbineriflemk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_08 - w_ar_carbineriflemk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_09 - w_ar_carbineriflemk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_10 - w_ar_carbineriflemk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01 - w_ar_carbineriflemk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO - w_mg_combatmgmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_02 - w_mg_combatmgmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_03 - w_mg_combatmgmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_04 - w_mg_combatmgmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_05 - w_mg_combatmgmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_06 - w_mg_combatmgmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_07 - w_mg_combatmgmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_08 - w_mg_combatmgmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_09 - w_mg_combatmgmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_10 - w_mg_combatmgmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_COMBATMG_MK2_CAMO_IND_01 - w_mg_combatmgmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO - w_at_smgmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_02 - w_at_smgmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_03 - w_at_smgmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_04 - w_at_smgmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_05 - w_at_smgmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_06 - w_at_smgmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_07 - w_at_smgmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_08 - w_at_smgmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_09 - w_at_smgmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_10 - w_at_smgmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_SMG_MK2_CAMO_IND_01 - w_at_smgmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_SLIDE - W_PI_PistolMK2_Slide_Camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO - w_pi_pistolmk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_02_SLIDE - W_PI_PistolMK2_Slide_Camo2 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_02 - w_pi_pistolmk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_03_SLIDE - W_PI_PistolMK2_Slide_Camo3 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_03 - w_pi_pistolmk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_04_SLIDE - W_PI_PistolMK2_Slide_Camo4 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_04 - w_pi_pistolmk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_05_SLIDE - W_PI_PistolMK2_Slide_Camo5 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_05 - w_pi_pistolmk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_06_SLIDE - W_PI_PistolMK2_Slide_Camo6 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_06 - w_pi_pistolmk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_07_SLIDE - W_PI_PistolMK2_Slide_Camo7 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_07 - w_pi_pistolmk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_08_SLIDE - W_PI_PistolMK2_Slide_Camo8 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_08 - w_pi_pistolmk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_09_SLIDE - W_PI_PistolMK2_Slide_Camo9 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_09 - w_pi_pistolmk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_10_SLIDE - W_PI_PistolMK2_Slide_Camo10 - WCT_CAMO_1 - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_10 - w_pi_pistolmk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE - W_PI_PistolMK2_Camo_Sl_Ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo2 - - - - - - - - - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01 - w_pi_pistolmk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO - w_at_heavysnipermk2_camo1 - WCT_CAMO_1 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_02 - w_at_heavysnipermk2_camo2 - WCT_CAMO_2 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_03 - w_at_heavysnipermk2_camo3 - WCT_CAMO_3 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_04 - w_at_heavysnipermk2_camo4 - WCT_CAMO_4 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_05 - w_at_heavysnipermk2_camo5 - WCT_CAMO_5 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_06 - w_at_heavysnipermk2_camo6 - WCT_CAMO_6 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_07 - w_at_heavysnipermk2_camo7 - WCT_CAMO_7 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_08 - w_at_heavysnipermk2_camo8 - WCT_CAMO_8 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_09 - w_at_heavysnipermk2_camo9 - WCT_CAMO_9 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_10 - w_at_heavysnipermk2_camo10 - WCT_CAMO_10 - WCD_INVALID - AAPCamo - - - - - - - - - - - - COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01 - w_at_heavysnipermk2_camo_ind1 - WCT_CAMO_IND - WCD_INVALID - AAPCamo - - - - - - - - - - - - - - - COMPONENT_AT_PI_FLSH_02 - w_at_pi_flsh_2 - WCT_FLASH - WCD_FLASH - AAPFlsh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gun_FLMuzzle - Bulb_On - Bulb_Off - - - - - - COMPONENT_AT_AR_AFGRIP_02 - w_at_afgrip_2 - WCT_GRIP - WCD_GRIP - AAPGrip - - - - - - - - - - - - - - - - - COMPONENT_AT_MUZZLE_01 - w_at_muzzle_1 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_02 - w_at_muzzle_2 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_03 - w_at_muzzle_3 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_04 - w_at_muzzle_4 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_05 - w_at_muzzle_5 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_06 - w_at_muzzle_6 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_07 - w_at_muzzle_7 - WCT_MUZZ - WCD_MUZZ - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_08 - w_at_muzzle_8 - WCT_MUZZ - WCD_MUZZ_SR - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_MUZZLE_09 - w_at_muzzle_9 - WCT_MUZZ - WCD_MUZZ_SR - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - COMPONENT_AT_PI_COMP - w_at_pi_comp_1 - WCT_COMP - WCD_COMP - AAPSupp - - - - - - - - - - Gun_SuMuzzle - - - - - - - - - COMPONENT_AT_PI_RAIL - w_at_pi_rail_1 - WCT_SCOPE_PI - WCD_SCOPE_PI - WAPScop_2 - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_MK2 - w_at_scope_macro - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_02_MK2 - w_at_scope_macro_2 - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2 - w_at_scope_macro_2_mk2 - WCT_SCOPE_MAC2 - WCD_SCOPE_MAC - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_SMALL_MK2 - w_at_scope_small - WCT_SCOPE_SML2 - WCD_SCOPE_SML - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_SMALL_SMG_MK2 - w_at_scope_small_mk2 - WCT_SCOPE_SML2 - WCD_SCOPE_SML - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_MEDIUM_MK2 - w_at_scope_medium_2 - WCT_SCOPE_MED2 - WCD_SCOPE_MED - AAPScop - - - - - - - - - - - - - - - - - - COMPONENT_AT_SCOPE_LARGE_MK2 - w_at_scope_large - WCT_SCOPE_LRG2 - WCD_SCOPE_LRG - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - - - - COMPONENT_AT_SCOPE_NV - w_at_scope_nv - WCT_SCOPE_NV - WCD_SCOPE_NV - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - NightVision - - - COMPONENT_AT_SCOPE_THERMAL - w_at_scope_nv - WCT_SCOPE_TH - WCD_SCOPE_TH - AAPScop - - - - - - - - - - SNIPER_LOW_ZOOM_AIM_CAMERA - - - SNIPER_LARGE - ThermalVision - - - COMPONENT_AT_SIGHTS - w_at_sights_1 - WCT_HOLO - WCD_HOLO - AAPScop - - - - - - - - - - - - - - - - - COMPONENT_AT_SIGHTS_SMG - w_at_sights_smg - WCT_HOLO - WCD_HOLO - AAPScop - - - - - - - - - - - - - - - - - - - - COMPONENT_AT_SR_SUPP_03 - w_at_sr_supp3 - WCT_SUPP - WCD_SR_SUPP - AAPSupp - - - - - - - - - - Gun_SuMuzzle - muz_pistol_silencer - - - - DLC - Gunrunning - + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_01 + w_ar_assaultriflemk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_02 + w_ar_assaultriflemk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING + w_ar_assaultriflemk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_RIFLE_ARMORPIERCING + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_FMJ + w_ar_assaultriflemk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_RIFLE_FMJ + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_INCENDIARY + w_ar_assaultriflemk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_RIFLE_INCENDIARY + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CLIP_TRACER + w_ar_assaultriflemk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + AMMO_RIFLE_TRACER + + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_01 + w_ar_carbineriflemk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_02 + w_ar_carbineriflemk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_ARMORPIERCING + w_ar_carbineriflemk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_RIFLE_ARMORPIERCING + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_FMJ + w_ar_carbineriflemk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_RIFLE_FMJ + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_INCENDIARY + w_ar_carbineriflemk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_RIFLE_INCENDIARY + + + + + + COMPONENT_CARBINERIFLE_MK2_CLIP_TRACER + w_ar_carbineriflemk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_RIFLE_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_01 + w_mg_combatmgmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_02 + w_mg_combatmgmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CLIP_ARMORPIERCING + w_mg_combatmgmk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_MG_ARMORPIERCING + + + + + + COMPONENT_COMBATMG_MK2_CLIP_FMJ + w_mg_combatmgmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_MG_FMJ + + + + + + COMPONENT_COMBATMG_MK2_CLIP_INCENDIARY + w_mg_combatmgmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_MG_INCENDIARY + + + + + + COMPONENT_COMBATMG_MK2_CLIP_TRACER + w_mg_combatmgmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_MG_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_01 + w_sr_heavysnipermk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_02 + w_sr_heavysnipermk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING + w_sr_heavysnipermk2_mag_ap + WCT_CLIP_AP + WCD_CLIP_AP + AAPClip + + + + + + + + + + + + AMMO_SNIPER_ARMORPIERCING + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE + w_sr_heavysnipermk2_mag_ap2 + WCT_CLIP_EX + WCD_CLIP_EX + AAPClip + + + + + + + + + + + + AMMO_SNIPER_EXPLOSIVE + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_FMJ + w_sr_heavysnipermk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_SNIPER_FMJ + + + + + + COMPONENT_HEAVYSNIPER_MK2_CLIP_INCENDIARY + w_sr_heavysnipermk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_SNIPER_INCENDIARY + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_01 + w_pi_pistolmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_02 + w_pi_pistolmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CLIP_FMJ + w_pi_pistolmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_PISTOL_FMJ + + + + + + COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT + w_pi_pistolmk2_mag_hp + WCT_CLIP_HP + WCD_CLIP_HP + AAPClip + + + + + + + + + + + + AMMO_PISTOL_HOLLOWPOINT + + + + + + COMPONENT_PISTOL_MK2_CLIP_INCENDIARY + w_pi_pistolmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_PISTOL_INCENDIARY + + + + + + COMPONENT_PISTOL_MK2_CLIP_TRACER + w_pi_pistolmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_PISTOL_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_SMG_MK2_CLIP_01 + w_sb_smgmk2_mag1 + WCT_CLIP1 + WCD_CLIP1 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CLIP_02 + w_sb_smgmk2_mag2 + WCT_CLIP2 + WCD_CLIP2 + AAPClip + + + + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CLIP_FMJ + w_sb_smgmk2_mag_fmj + WCT_CLIP_FMJ + WCD_CLIP_FMJ + AAPClip + + + + + + + + + + + + AMMO_SMG_FMJ + + + + + + COMPONENT_SMG_MK2_CLIP_HOLLOWPOINT + w_sb_smgmk2_mag_hp + WCT_CLIP_HP + WCD_CLIP_HP + AAPClip + + + + + + + + + + + + AMMO_SMG_HOLLOWPOINT + + + + + + COMPONENT_SMG_MK2_CLIP_INCENDIARY + w_sb_smgmk2_mag_inc + WCT_CLIP_INC + WCD_CLIP_INC + AAPClip + + + + + + + + + + + + AMMO_SMG_INCENDIARY + + + + + + COMPONENT_SMG_MK2_CLIP_TRACER + w_sb_smgmk2_mag_tr + WCT_CLIP_TR + WCD_CLIP_TR + AAPClip + + + + + + + + + + + + AMMO_SMG_TRACER + bullet_tracer_gr_tintable + + + + + + + + COMPONENT_AT_AR_BARREL_01 + w_at_ar_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_AR_BARREL_02 + w_at_ar_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_CR_BARREL_01 + w_at_cr_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_CR_BARREL_02 + w_at_cr_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_MG_BARREL_01 + w_at_mg_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_MG_BARREL_02 + w_at_mg_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_SB_BARREL_01 + w_at_sb_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_SB_BARREL_02 + w_at_sb_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + COMPONENT_AT_SR_BARREL_01 + w_at_sr_barrel_1 + WCT_BARR + WCD_BARR + AAPBarrel + + + + + + + + + + + + + COMPONENT_AT_SR_BARREL_02 + w_at_sr_barrel_2 + WCT_BARR2 + WCD_BARR2 + AAPBarrel + + + + + + + + + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO + w_at_armk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_02 + w_at_armk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_03 + w_at_armk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_04 + w_at_armk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_05 + w_at_armk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_06 + w_at_armk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_07 + w_at_armk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_08 + w_at_armk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_09 + w_at_armk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_10 + w_at_armk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01 + w_at_armk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO + w_ar_carbineriflemk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_02 + w_ar_carbineriflemk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_03 + w_ar_carbineriflemk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_04 + w_ar_carbineriflemk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_05 + w_ar_carbineriflemk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_06 + w_ar_carbineriflemk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_07 + w_ar_carbineriflemk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_08 + w_ar_carbineriflemk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_09 + w_ar_carbineriflemk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_10 + w_ar_carbineriflemk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01 + w_ar_carbineriflemk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO + w_mg_combatmgmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_02 + w_mg_combatmgmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_03 + w_mg_combatmgmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_04 + w_mg_combatmgmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_05 + w_mg_combatmgmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_06 + w_mg_combatmgmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_07 + w_mg_combatmgmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_08 + w_mg_combatmgmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_09 + w_mg_combatmgmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_10 + w_mg_combatmgmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_COMBATMG_MK2_CAMO_IND_01 + w_mg_combatmgmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO + w_at_smgmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_02 + w_at_smgmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_03 + w_at_smgmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_04 + w_at_smgmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_05 + w_at_smgmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_06 + w_at_smgmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_07 + w_at_smgmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_08 + w_at_smgmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_09 + w_at_smgmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_10 + w_at_smgmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_SMG_MK2_CAMO_IND_01 + w_at_smgmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_SLIDE + W_PI_PistolMK2_Slide_Camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO + w_pi_pistolmk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_02_SLIDE + W_PI_PistolMK2_Slide_Camo2 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_02 + w_pi_pistolmk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_03_SLIDE + W_PI_PistolMK2_Slide_Camo3 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_03 + w_pi_pistolmk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_04_SLIDE + W_PI_PistolMK2_Slide_Camo4 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_04 + w_pi_pistolmk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_05_SLIDE + W_PI_PistolMK2_Slide_Camo5 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_05 + w_pi_pistolmk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_06_SLIDE + W_PI_PistolMK2_Slide_Camo6 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_06 + w_pi_pistolmk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_07_SLIDE + W_PI_PistolMK2_Slide_Camo7 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_07 + w_pi_pistolmk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_08_SLIDE + W_PI_PistolMK2_Slide_Camo8 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_08 + w_pi_pistolmk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_09_SLIDE + W_PI_PistolMK2_Slide_Camo9 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_09 + w_pi_pistolmk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_10_SLIDE + W_PI_PistolMK2_Slide_Camo10 + WCT_CAMO_1 + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_10 + w_pi_pistolmk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE + W_PI_PistolMK2_Camo_Sl_Ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo2 + + + + + + + + + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01 + w_pi_pistolmk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO + w_at_heavysnipermk2_camo1 + WCT_CAMO_1 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_02 + w_at_heavysnipermk2_camo2 + WCT_CAMO_2 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_03 + w_at_heavysnipermk2_camo3 + WCT_CAMO_3 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_04 + w_at_heavysnipermk2_camo4 + WCT_CAMO_4 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_05 + w_at_heavysnipermk2_camo5 + WCT_CAMO_5 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_06 + w_at_heavysnipermk2_camo6 + WCT_CAMO_6 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_07 + w_at_heavysnipermk2_camo7 + WCT_CAMO_7 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_08 + w_at_heavysnipermk2_camo8 + WCT_CAMO_8 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_09 + w_at_heavysnipermk2_camo9 + WCT_CAMO_9 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_10 + w_at_heavysnipermk2_camo10 + WCT_CAMO_10 + WCD_INVALID + AAPCamo + + + + + + + + + + + + COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01 + w_at_heavysnipermk2_camo_ind1 + WCT_CAMO_IND + WCD_INVALID + AAPCamo + + + + + + + + + + + + + + + COMPONENT_AT_PI_FLSH_02 + w_at_pi_flsh_2 + WCT_FLASH + WCD_FLASH + AAPFlsh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gun_FLMuzzle + Bulb_On + Bulb_Off + + + + + + COMPONENT_AT_AR_AFGRIP_02 + w_at_afgrip_2 + WCT_GRIP + WCD_GRIP + AAPGrip + + + + + + + + + + + + + + + + + COMPONENT_AT_MUZZLE_01 + w_at_muzzle_1 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_02 + w_at_muzzle_2 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_03 + w_at_muzzle_3 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_04 + w_at_muzzle_4 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_05 + w_at_muzzle_5 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_06 + w_at_muzzle_6 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_07 + w_at_muzzle_7 + WCT_MUZZ + WCD_MUZZ + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_08 + w_at_muzzle_8 + WCT_MUZZ + WCD_MUZZ_SR + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_MUZZLE_09 + w_at_muzzle_9 + WCT_MUZZ + WCD_MUZZ_SR + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + COMPONENT_AT_PI_COMP + w_at_pi_comp_1 + WCT_COMP + WCD_COMP + AAPSupp + + + + + + + + + + Gun_SuMuzzle + + + + + + + + + COMPONENT_AT_PI_RAIL + w_at_pi_rail_1 + WCT_SCOPE_PI + WCD_SCOPE_PI + WAPScop_2 + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_MK2 + w_at_scope_macro + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_02_MK2 + w_at_scope_macro_2 + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MACRO_02_SMG_MK2 + w_at_scope_macro_2_mk2 + WCT_SCOPE_MAC2 + WCD_SCOPE_MAC + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_SMALL_MK2 + w_at_scope_small + WCT_SCOPE_SML2 + WCD_SCOPE_SML + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_SMALL_SMG_MK2 + w_at_scope_small_mk2 + WCT_SCOPE_SML2 + WCD_SCOPE_SML + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_MEDIUM_MK2 + w_at_scope_medium_2 + WCT_SCOPE_MED2 + WCD_SCOPE_MED + AAPScop + + + + + + + + + + + + + + + + + + COMPONENT_AT_SCOPE_LARGE_MK2 + w_at_scope_large + WCT_SCOPE_LRG2 + WCD_SCOPE_LRG + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + + + + COMPONENT_AT_SCOPE_NV + w_at_scope_nv + WCT_SCOPE_NV + WCD_SCOPE_NV + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + NightVision + + + COMPONENT_AT_SCOPE_THERMAL + w_at_scope_nv + WCT_SCOPE_TH + WCD_SCOPE_TH + AAPScop + + + + + + + + + + SNIPER_LOW_ZOOM_AIM_CAMERA + + + SNIPER_LARGE + ThermalVision + + + COMPONENT_AT_SIGHTS + w_at_sights_1 + WCT_HOLO + WCD_HOLO + AAPScop + + + + + + + + + + + + + + + + + COMPONENT_AT_SIGHTS_SMG + w_at_sights_smg + WCT_HOLO + WCD_HOLO + AAPScop + + + + + + + + + + + + + + + + + + + + COMPONENT_AT_SR_SUPP_03 + w_at_sr_supp3 + WCT_SUPP + WCD_SR_SUPP + AAPSupp + + + + + + + + + + Gun_SuMuzzle + muz_pistol_silencer + + + + DLC - Gunrunning + diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/data/weapons_pistol_mk2.meta b/resources/[weapons]/[Replace]/thinline_klog_attachments/data/weapons_pistol_mk2.meta similarity index 97% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/data/weapons_pistol_mk2.meta rename to resources/[weapons]/[Replace]/thinline_klog_attachments/data/weapons_pistol_mk2.meta index 5004bb44a..8e840c6ac 100644 --- a/resources/[jobs]/[weapons]/thinline_klog_attachments/data/weapons_pistol_mk2.meta +++ b/resources/[weapons]/[Replace]/thinline_klog_attachments/data/weapons_pistol_mk2.meta @@ -1,508 +1,508 @@ - - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - - SLOT_PISTOL_MK2 - - - - - - - - - - - - - - - WEAPON_PISTOL_MK2 - w_pi_pistolmk2 - - SLOT_PISTOL_MK2 - BULLET - - DONTCARE - DONTCARE - DONTCARE - DONTCARE - DONTCARE - DONTCARE - - INSTANT_HIT - WHEEL_PISTOL - GROUP_PISTOL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BONETAG_HEAD - - - - - BONETAG_NECK - - - - - BONETAG_L_THIGH - - - - - BONETAG_R_THIGH - - - - - BONETAG_L_CALF - - - - - BONETAG_R_CALF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WEAPON_EFFECT_GROUP_PISTOL_SMALL - muz_pistol - - muz_pistol_fp - - muz_smoking_barrel - muz_smoking_barrel_fp - - - - - eject_pistol - eject_pistol_fp - bullet_tracer - BulletSmall - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DEFAULT_THIRD_PERSON_PED_AIM_CAMERA - - - DEFAULT_THIRD_PERSON_PED_AIM_IN_COVER_CAMERA - - DEFAULT_THIRD_PERSON_PED_RUN_AND_GUN_CAMERA - DEFAULT_THIRD_PERSON_PED_CINEMATIC_SHOOTING_CAMERA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PISTOL_RECOIL_SHAKE - FPS_PISTOL_RECOIL_SHAKE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WEAPON_PISTOL - - PICKUP_WEAPON_PISTOL_MK2 - PICKUP_AMMO_BULLET_MP - WT_PIST2 - MMI_1Handed - PISTOL - - - normal - - - WAPClip - - - COMPONENT_PISTOL_MK2_CLIP_01 - - - - COMPONENT_PISTOL_MK2_CLIP_02 - - - - COMPONENT_PISTOL_MK2_CLIP_FMJ - - - - COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT - - - - COMPONENT_PISTOL_MK2_CLIP_INCENDIARY - - - - COMPONENT_PISTOL_MK2_CLIP_TRACER - - - - - - WAPScop_2 - - - COMPONENT_AT_PI_RAIL - - - - - - WAPFlshLasr - - - COMPONENT_AT_PI_FLSH_02 - - - - - - WAPSupp - - - COMPONENT_AT_PI_SUPP_02 - - - - COMPONENT_AT_PI_COMP - - - - - - WAPScop_2 - - - COMPONENT_PISTOL_MK2_CAMO_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_02_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_03_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_04_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_05_SLIDE - - - COMPONENT_PISTOL_MK2_CAMO_06_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_07_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_08_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_09_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_10_SLIDE - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE - - - - - - gun_root - - - COMPONENT_PISTOL_MK2_CAMO - - - - COMPONENT_PISTOL_MK2_CAMO_02 - - - - COMPONENT_PISTOL_MK2_CAMO_03 - - - - COMPONENT_PISTOL_MK2_CAMO_04 - - - - COMPONENT_PISTOL_MK2_CAMO_05 - - - - COMPONENT_PISTOL_MK2_CAMO_06 - - - - COMPONENT_PISTOL_MK2_CAMO_07 - - - - COMPONENT_PISTOL_MK2_CAMO_08 - - - - COMPONENT_PISTOL_MK2_CAMO_09 - - - - COMPONENT_PISTOL_MK2_CAMO_10 - - - - COMPONENT_PISTOL_MK2_CAMO_IND_01 - - - - - - - Pistol - CarriedInHand Gun CanLockonOnFoot CanLockonInVehicle CanFreeAim AnimReload AnimCrouchFire UsableOnFoot UsableClimbing UsableInCover AllowCloseQuarterKills HasLowCoverReloads HasLowCoverSwaps QuitTransitionToIdleIntroOnWeaponChange DisableLeftHandIkWhenOnFoot TorsoIKForWeaponBlock UseFPSAimIK UseFPSSecondaryMotion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DLC - Mk II - Pistol + + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + + SLOT_PISTOL_MK2 + + + + + + + + + + + + + + + WEAPON_PISTOL_MK2 + w_pi_pistolmk2 + + SLOT_PISTOL_MK2 + BULLET + + DONTCARE + DONTCARE + DONTCARE + DONTCARE + DONTCARE + DONTCARE + + INSTANT_HIT + WHEEL_PISTOL + GROUP_PISTOL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BONETAG_HEAD + + + + + BONETAG_NECK + + + + + BONETAG_L_THIGH + + + + + BONETAG_R_THIGH + + + + + BONETAG_L_CALF + + + + + BONETAG_R_CALF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WEAPON_EFFECT_GROUP_PISTOL_SMALL + muz_pistol + + muz_pistol_fp + + muz_smoking_barrel + muz_smoking_barrel_fp + + + + + eject_pistol + eject_pistol_fp + bullet_tracer + BulletSmall + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DEFAULT_THIRD_PERSON_PED_AIM_CAMERA + + + DEFAULT_THIRD_PERSON_PED_AIM_IN_COVER_CAMERA + + DEFAULT_THIRD_PERSON_PED_RUN_AND_GUN_CAMERA + DEFAULT_THIRD_PERSON_PED_CINEMATIC_SHOOTING_CAMERA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PISTOL_RECOIL_SHAKE + FPS_PISTOL_RECOIL_SHAKE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WEAPON_PISTOL + + PICKUP_WEAPON_PISTOL_MK2 + PICKUP_AMMO_BULLET_MP + WT_PIST2 + MMI_1Handed + PISTOL + + + normal + + + WAPClip + + + COMPONENT_PISTOL_MK2_CLIP_01 + + + + COMPONENT_PISTOL_MK2_CLIP_02 + + + + COMPONENT_PISTOL_MK2_CLIP_FMJ + + + + COMPONENT_PISTOL_MK2_CLIP_HOLLOWPOINT + + + + COMPONENT_PISTOL_MK2_CLIP_INCENDIARY + + + + COMPONENT_PISTOL_MK2_CLIP_TRACER + + + + + + WAPScop_2 + + + COMPONENT_AT_PI_RAIL + + + + + + WAPFlshLasr + + + COMPONENT_AT_PI_FLSH_02 + + + + + + WAPSupp + + + COMPONENT_AT_PI_SUPP_02 + + + + COMPONENT_AT_PI_COMP + + + + + + WAPScop_2 + + + COMPONENT_PISTOL_MK2_CAMO_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_02_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_03_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_04_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_05_SLIDE + + + COMPONENT_PISTOL_MK2_CAMO_06_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_07_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_08_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_09_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_10_SLIDE + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01_SLIDE + + + + + + gun_root + + + COMPONENT_PISTOL_MK2_CAMO + + + + COMPONENT_PISTOL_MK2_CAMO_02 + + + + COMPONENT_PISTOL_MK2_CAMO_03 + + + + COMPONENT_PISTOL_MK2_CAMO_04 + + + + COMPONENT_PISTOL_MK2_CAMO_05 + + + + COMPONENT_PISTOL_MK2_CAMO_06 + + + + COMPONENT_PISTOL_MK2_CAMO_07 + + + + COMPONENT_PISTOL_MK2_CAMO_08 + + + + COMPONENT_PISTOL_MK2_CAMO_09 + + + + COMPONENT_PISTOL_MK2_CAMO_10 + + + + COMPONENT_PISTOL_MK2_CAMO_IND_01 + + + + + + + Pistol + CarriedInHand Gun CanLockonOnFoot CanLockonInVehicle CanFreeAim AnimReload AnimCrouchFire UsableOnFoot UsableClimbing UsableInCover AllowCloseQuarterKills HasLowCoverReloads HasLowCoverSwaps QuitTransitionToIdleIntroOnWeaponChange DisableLeftHandIkWhenOnFoot TorsoIKForWeaponBlock UseFPSAimIK UseFPSSecondaryMotion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DLC - Mk II - Pistol \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/fxmanifest.lua b/resources/[weapons]/[Replace]/thinline_klog_attachments/fxmanifest.lua similarity index 95% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/fxmanifest.lua rename to resources/[weapons]/[Replace]/thinline_klog_attachments/fxmanifest.lua index e5bd118b6..38901807c 100644 --- a/resources/[jobs]/[weapons]/thinline_klog_attachments/fxmanifest.lua +++ b/resources/[weapons]/[Replace]/thinline_klog_attachments/fxmanifest.lua @@ -1,9 +1,9 @@ -fx_version 'cerulean' -game 'gta5' - -files { - 'data/*.meta' -} - -data_file 'WEAPONINFO_FILE_PATCH' 'data/weapons_pistol_mk2.meta' +fx_version 'cerulean' +game 'gta5' + +files { + 'data/*.meta' +} + +data_file 'WEAPONINFO_FILE_PATCH' 'data/weapons_pistol_mk2.meta' data_file 'WEAPONCOMPONENTSINFO_FILE' 'data/weaponcomponents.meta' \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1.ytd b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1.ytd rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_comp_1_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_comp_1_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ytd b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ytd rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_flsh_2_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_flsh_2_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1.ytd b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1.ytd rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_rail_1_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_rail_1_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2.ytd b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2.ytd rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_at_pi_supp_2_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_at_pi_supp_2_hi.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ydr diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ytd b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ytd rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2.ytd diff --git a/resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2_hi.ydr b/resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2_hi.ydr rename to resources/[weapons]/[Replace]/thinline_klog_attachments/stream/w_pi_pistolmk2_mag2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/fxmanifest.lua b/resources/[weapons]/[Replace]/weapons/fxmanifest.lua similarity index 96% rename from resources/[jobs]/[weapons]/weapons/fxmanifest.lua rename to resources/[weapons]/[Replace]/weapons/fxmanifest.lua index 21149b2d1..a98ca0b9a 100644 --- a/resources/[jobs]/[weapons]/weapons/fxmanifest.lua +++ b/resources/[weapons]/[Replace]/weapons/fxmanifest.lua @@ -1,85 +1,85 @@ -fx_version 'cerulean' -game 'gta5' - -description 'Complete Weapon Replacer Stream - All GTA V weapons including MK2 and Revolvers' -author 'YourName' -version '1.0.2' - -files { - -- Pistols - 'stream/w_pi_pistol.ytd', - 'stream/w_pi_pistol.ydr', - 'stream/w_pi_combatpistol.ytd', - 'stream/w_pi_combatpistol.ydr', - 'stream/w_pi_appistol.ytd', - 'stream/w_pi_appistol.ydr', - 'stream/w_pi_stungun.ytd', - 'stream/w_pi_stungun.ydr', - 'stream/w_pi_pistolmk2.ytd', - 'stream/w_pi_pistolmk2.ydr', - - -- Revolvers - 'stream/w_pi_revolver.ytd', - 'stream/w_pi_revolver.ydr', - 'stream/w_pi_revolvermk2.ytd', - 'stream/w_pi_revolvermk2.ydr', - 'stream/w_pi_doubleaction.ytd', - 'stream/w_pi_doubleaction.ydr', - 'stream/w_pi_navyrevolver.ytd', - 'stream/w_pi_navyrevolver.ydr', - - -- SMGs - 'stream/w_sb_microsmg.ytd', - 'stream/w_sb_microsmg.ydr', - 'stream/w_sb_smg.ytd', - 'stream/w_sb_smg.ydr', - 'stream/w_sb_assaultsmg.ytd', - 'stream/w_sb_assaultsmg.ydr', - 'stream/w_sb_smgmk2.ytd', - 'stream/w_sb_smgmk2.ydr', - - -- Rifles - 'stream/w_ar_carbinerifle.ytd', - 'stream/w_ar_carbinerifle.ydr', - 'stream/w_ar_assaultrifle.ytd', - 'stream/w_ar_assaultrifle.ydr', - 'stream/w_ar_advancedrifle.ytd', - 'stream/w_ar_advancedrifle.ydr', - 'stream/w_ar_carbineriflemk2.ytd', - 'stream/w_ar_carbineriflemk2.ydr', - 'stream/w_ar_assaultriflemk2.ytd', - 'stream/w_ar_assaultriflemk2.ydr', - - -- Shotguns - 'stream/w_sg_pumpshotgun.ytd', - 'stream/w_sg_pumpshotgun.ydr', - 'stream/w_sg_sawnoff.ytd', - 'stream/w_sg_sawnoff.ydr', - 'stream/w_sg_assaultshotgun.ytd', - 'stream/w_sg_assaultshotgun.ydr', - 'stream/w_sg_pumpshotgunmk2.ytd', - 'stream/w_sg_pumpshotgunmk2.ydr', - - -- Snipers - 'stream/w_sr_sniperrifle.ytd', - 'stream/w_sr_sniperrifle.ydr', - 'stream/w_sr_heavysniper.ytd', - 'stream/w_sr_heavysniper.ydr', - 'stream/w_sr_heavysnipermk2.ytd', - 'stream/w_sr_heavysnipermk2.ydr', - - -- Heavy - 'stream/w_lr_rpg.ytd', - 'stream/w_lr_rpg.ydr', - 'stream/w_sr_mminigun.ytd', - 'stream/w_sr_mminigun.ydr', - - -- Melee - 'stream/w_me_bat.ytd', - 'stream/w_me_bat.ydr', - 'stream/w_me_knife.ytd', - 'stream/w_me_knife.ydr', - 'stream/w_me_crowbar.ytd', - 'stream/w_me_crowbar.ydr' -} - +fx_version 'cerulean' +game 'gta5' + +description 'Complete Weapon Replacer Stream - All GTA V weapons including MK2 and Revolvers' +author 'YourName' +version '1.0.2' + +files { + -- Pistols + 'stream/w_pi_pistol.ytd', + 'stream/w_pi_pistol.ydr', + 'stream/w_pi_combatpistol.ytd', + 'stream/w_pi_combatpistol.ydr', + 'stream/w_pi_appistol.ytd', + 'stream/w_pi_appistol.ydr', + 'stream/w_pi_stungun.ytd', + 'stream/w_pi_stungun.ydr', + 'stream/w_pi_pistolmk2.ytd', + 'stream/w_pi_pistolmk2.ydr', + + -- Revolvers + 'stream/w_pi_revolver.ytd', + 'stream/w_pi_revolver.ydr', + 'stream/w_pi_revolvermk2.ytd', + 'stream/w_pi_revolvermk2.ydr', + 'stream/w_pi_doubleaction.ytd', + 'stream/w_pi_doubleaction.ydr', + 'stream/w_pi_navyrevolver.ytd', + 'stream/w_pi_navyrevolver.ydr', + + -- SMGs + 'stream/w_sb_microsmg.ytd', + 'stream/w_sb_microsmg.ydr', + 'stream/w_sb_smg.ytd', + 'stream/w_sb_smg.ydr', + 'stream/w_sb_assaultsmg.ytd', + 'stream/w_sb_assaultsmg.ydr', + 'stream/w_sb_smgmk2.ytd', + 'stream/w_sb_smgmk2.ydr', + + -- Rifles + 'stream/w_ar_carbinerifle.ytd', + 'stream/w_ar_carbinerifle.ydr', + 'stream/w_ar_assaultrifle.ytd', + 'stream/w_ar_assaultrifle.ydr', + 'stream/w_ar_advancedrifle.ytd', + 'stream/w_ar_advancedrifle.ydr', + 'stream/w_ar_carbineriflemk2.ytd', + 'stream/w_ar_carbineriflemk2.ydr', + 'stream/w_ar_assaultriflemk2.ytd', + 'stream/w_ar_assaultriflemk2.ydr', + + -- Shotguns + 'stream/w_sg_pumpshotgun.ytd', + 'stream/w_sg_pumpshotgun.ydr', + 'stream/w_sg_sawnoff.ytd', + 'stream/w_sg_sawnoff.ydr', + 'stream/w_sg_assaultshotgun.ytd', + 'stream/w_sg_assaultshotgun.ydr', + 'stream/w_sg_pumpshotgunmk2.ytd', + 'stream/w_sg_pumpshotgunmk2.ydr', + + -- Snipers + 'stream/w_sr_sniperrifle.ytd', + 'stream/w_sr_sniperrifle.ydr', + 'stream/w_sr_heavysniper.ytd', + 'stream/w_sr_heavysniper.ydr', + 'stream/w_sr_heavysnipermk2.ytd', + 'stream/w_sr_heavysnipermk2.ydr', + + -- Heavy + 'stream/w_lr_rpg.ytd', + 'stream/w_lr_rpg.ydr', + 'stream/w_sr_mminigun.ytd', + 'stream/w_sr_mminigun.ydr', + + -- Melee + 'stream/w_me_bat.ytd', + 'stream/w_me_bat.ydr', + 'stream/w_me_knife.ytd', + 'stream/w_me_knife.ydr', + 'stream/w_me_crowbar.ytd', + 'stream/w_me_crowbar.ydr' +} + diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_boxmag.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_boxmag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_boxmag.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_boxmag.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_boxmag.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_boxmag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_boxmag.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_boxmag.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultrifle_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultrifle_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_ap.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_fmj.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_inc.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_assaultriflemk2_mag_tr.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_bullpuprifle_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_bullpuprifle_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbinerifle_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbinerifle_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_boxmag.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_boxmag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_boxmag.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_boxmag.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_boxmag.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_boxmag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_boxmag.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_boxmag.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_carbineriflemk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_carbineriflemk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_heavyrifleh_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_heavyrifleh_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbine_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbine_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_boxmag.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_ar_specialcarbinemk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_ar_specialcarbinemk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_afgrip_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_afgrip_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_02_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_02_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_ar_supp_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_ar_supp_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_pi_flsh_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_pi_flsh_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_large_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_large_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_macro_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_macro_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_medium_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_medium_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_at_scope_small_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_at_scope_small_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_bat.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_me_bat.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_bat.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_me_bat.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_bat.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_bat.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_bat.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_bat.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight_flash.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight_flash.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight_flash.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight_flash.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight_flash.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight_flash.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_flashlight_flash.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_flashlight_flash.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_hatchet.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_hatchet.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_hatchet.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_hatchet.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_knife_01.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_knife_01.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_machette_lr.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_me_machette_lr.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_machette_lr.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_me_machette_lr.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_machette_lr.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_machette_lr.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_machette_lr.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_machette_lr.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_b+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_b+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_b+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_b+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_b.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_b.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_b.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_b.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_g+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_g+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_g+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_g+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_g.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_g.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_me_switchblade_g.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_me_switchblade_g.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_appistol_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_appistol_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_combatpistol_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_combatpistol_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_flaregun_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_flaregun_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_heavypistol_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_heavypistol_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol50_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol50_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_pistol_xm3_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_pistol_xm3_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolver_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolver_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_revolvermk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_revolvermk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistol_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistol_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_sns_pistolmk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_sns_pistolmk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_stungun_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_stungun_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_gun_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_gun_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep1_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep1_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun_mag_l1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun_mag_l1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_pi_wep2_gun_mag_l1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_pi_wep2_gun_mag_l1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_assaultsmg_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_assaultsmg_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_gusenberg_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_gusenberg_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_microsmg_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_microsmg_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_pdw_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_pdw_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smg_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smg_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sb_smgmk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sb_smgmk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun.ytd diff --git a/resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4+hi.ytd diff --git a/resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4.ydr similarity index 100% rename from resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4.ydr diff --git a/resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4.ytd similarity index 100% rename from resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk4.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4.ytd diff --git a/resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/Winchester_1873/stream/w_sg_pumpshotgunmk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun4_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgun_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgun_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_pumpshotgunmk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_pumpshotgunmk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sg_sawnoff_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sg_sawnoff_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_heavysnipermk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_heavysnipermk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanrifle_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanrifle_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag2.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag2.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_marksmanriflemk2_mag2.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_marksmanriflemk2_mag2.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle+hi.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle+hi.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle+hi.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_hi.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_hi.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_hi.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag1.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag1.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag1.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag1.ytd b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag1.ytd rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag1.ytd diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag2.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag2.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag2.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag2.ydr diff --git a/resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag3.ydr b/resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag3.ydr similarity index 100% rename from resources/[jobs]/[weapons]/weapons/stream/w_sr_sniperrifle_mag3.ydr rename to resources/[weapons]/[Replace]/weapons/stream/w_sr_sniperrifle_mag3.ydr diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/.gitattributes b/resources/[weapons]/[Scripts]/ND_GunAnims/.gitattributes similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/.gitattributes rename to resources/[weapons]/[Scripts]/ND_GunAnims/.gitattributes diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/LICENSE b/resources/[weapons]/[Scripts]/ND_GunAnims/LICENSE similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/LICENSE rename to resources/[weapons]/[Scripts]/ND_GunAnims/LICENSE diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/README.md b/resources/[weapons]/[Scripts]/ND_GunAnims/README.md similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/README.md rename to resources/[weapons]/[Scripts]/ND_GunAnims/README.md diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/client/aim.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/client/aim.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/client/aim.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/client/aim.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/client/animations.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/client/animations.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/client/animations.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/client/animations.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/client/holster.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/client/holster.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/client/holster.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/client/holster.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/client/weaponanimations.meta b/resources/[weapons]/[Scripts]/ND_GunAnims/client/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/client/weaponanimations.meta rename to resources/[weapons]/[Scripts]/ND_GunAnims/client/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/data/aim.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/data/aim.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/data/aim.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/data/aim.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/data/animations.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/data/animations.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/data/animations.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/data/animations.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/data/holster.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/data/holster.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/data/holster.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/data/holster.lua diff --git a/resources/[jobs]/[weapons]/ND_GunAnims/fxmanifest.lua b/resources/[weapons]/[Scripts]/ND_GunAnims/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/ND_GunAnims/fxmanifest.lua rename to resources/[weapons]/[Scripts]/ND_GunAnims/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/mh_Criticalshot/client.lua b/resources/[weapons]/[Scripts]/mh_Criticalshot/client.lua similarity index 93% rename from resources/[jobs]/[weapons]/mh_Criticalshot/client.lua rename to resources/[weapons]/[Scripts]/mh_Criticalshot/client.lua index b758948c3..d608fe8ff 100644 --- a/resources/[jobs]/[weapons]/mh_Criticalshot/client.lua +++ b/resources/[weapons]/[Scripts]/mh_Criticalshot/client.lua @@ -1,6 +1,6 @@ -Citizen.CreateThread(function() - while true do - Citizen.Wait(0) - SetPedSuffersCriticalHits(playerPedId(), false) - end +Citizen.CreateThread(function() + while true do + Citizen.Wait(0) + SetPedSuffersCriticalHits(playerPedId(), false) + end end) \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/mh_Criticalshot/fxmanifest.lua b/resources/[weapons]/[Scripts]/mh_Criticalshot/fxmanifest.lua similarity index 75% rename from resources/[jobs]/[weapons]/mh_Criticalshot/fxmanifest.lua rename to resources/[weapons]/[Scripts]/mh_Criticalshot/fxmanifest.lua index d1a1dbc58..751e59204 100644 --- a/resources/[jobs]/[weapons]/mh_Criticalshot/fxmanifest.lua +++ b/resources/[weapons]/[Scripts]/mh_Criticalshot/fxmanifest.lua @@ -1,9 +1,9 @@ -fx_version 'cerulean' - -game 'gta5' - -author 'Mîhó' -description 'Deaktiviert Headshots' -version '1.0.0' - +fx_version 'cerulean' + +game 'gta5' + +author 'Mîhó' +description 'Deaktiviert Headshots' +version '1.0.0' + client_script 'client.lua' \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/client.lua b/resources/[weapons]/[Scripts]/nordi_shootingrange/client.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/client.lua rename to resources/[weapons]/[Scripts]/nordi_shootingrange/client.lua diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/config.lua b/resources/[weapons]/[Scripts]/nordi_shootingrange/config.lua similarity index 88% rename from resources/[jobs]/[weapons]/nordi_shootingrange/config.lua rename to resources/[weapons]/[Scripts]/nordi_shootingrange/config.lua index b6c7552a3..84b8ffbb4 100644 --- a/resources/[jobs]/[weapons]/nordi_shootingrange/config.lua +++ b/resources/[weapons]/[Scripts]/nordi_shootingrange/config.lua @@ -1,19 +1,19 @@ -Config = {} - -Config.ShootingRanges = { - { - coords = vector3(434.6526, -976.7142, 35.9675), - label = "LSPD Schießstand" - }, - { - coords = vector3(17.9420, -1100.7803, 29.7972), - label = "Ammunation Schießstand" - }, - { - coords = vector3(542.0584, 6.6291, 76.6281), - label = "Acedemy Schießstand" - } -} - -Config.MaxHighscores = 10 +Config = {} + +Config.ShootingRanges = { + { + coords = vector3(434.6526, -976.7142, 35.9675), + label = "LSPD Schießstand" + }, + { + coords = vector3(17.9420, -1100.7803, 29.7972), + label = "Ammunation Schießstand" + }, + { + coords = vector3(542.0584, 6.6291, 76.6281), + label = "Acedemy Schießstand" + } +} + +Config.MaxHighscores = 10 Config.MaxTrainingParticipants = 4 \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/data/highscores.json b/resources/[weapons]/[Scripts]/nordi_shootingrange/data/highscores.json similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/data/highscores.json rename to resources/[weapons]/[Scripts]/nordi_shootingrange/data/highscores.json diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/fxmanifest.lua b/resources/[weapons]/[Scripts]/nordi_shootingrange/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/fxmanifest.lua rename to resources/[weapons]/[Scripts]/nordi_shootingrange/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/highscores.json b/resources/[weapons]/[Scripts]/nordi_shootingrange/highscores.json similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/highscores.json rename to resources/[weapons]/[Scripts]/nordi_shootingrange/highscores.json diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/html/index.html b/resources/[weapons]/[Scripts]/nordi_shootingrange/html/index.html similarity index 95% rename from resources/[jobs]/[weapons]/nordi_shootingrange/html/index.html rename to resources/[weapons]/[Scripts]/nordi_shootingrange/html/index.html index bcba35a50..c89b9ba97 100644 --- a/resources/[jobs]/[weapons]/nordi_shootingrange/html/index.html +++ b/resources/[weapons]/[Scripts]/nordi_shootingrange/html/index.html @@ -1,15 +1,15 @@ - - - - - - - - + + + + + + + + diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/html/start.ogg b/resources/[weapons]/[Scripts]/nordi_shootingrange/html/start.ogg similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/html/start.ogg rename to resources/[weapons]/[Scripts]/nordi_shootingrange/html/start.ogg diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/html/timeout.ogg b/resources/[weapons]/[Scripts]/nordi_shootingrange/html/timeout.ogg similarity index 100% rename from resources/[jobs]/[weapons]/nordi_shootingrange/html/timeout.ogg rename to resources/[weapons]/[Scripts]/nordi_shootingrange/html/timeout.ogg diff --git a/resources/[jobs]/[weapons]/nordi_shootingrange/server.lua b/resources/[weapons]/[Scripts]/nordi_shootingrange/server.lua similarity index 97% rename from resources/[jobs]/[weapons]/nordi_shootingrange/server.lua rename to resources/[weapons]/[Scripts]/nordi_shootingrange/server.lua index ef1b9f16d..0d663dac2 100644 --- a/resources/[jobs]/[weapons]/nordi_shootingrange/server.lua +++ b/resources/[weapons]/[Scripts]/nordi_shootingrange/server.lua @@ -1,110 +1,110 @@ -local QBCore = exports['qb-core']:GetCoreObject() - -local activeCompetitions = {} - -QBCore.Functions.CreateCallback('qb-shootingrange:getHighscores', function(source, cb) - local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]") - cb(scores) -end) - -RegisterNetEvent('qb-shootingrange:saveScore', function(name, score) - local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]") - - local timestamp = os.date("%d.%m.%Y - %H:%M") - - table.insert(scores, { - name = name, - score = score, - timestamp = timestamp - }) - - table.sort(scores, function(a, b) - return tonumber(a.score) > tonumber(b.score) - end) - - while #scores > Config.MaxHighscores do - table.remove(scores, #scores) - end - - SaveResourceFile(GetCurrentResourceName(), "highscores.json", json.encode(scores, {indent = true}), -1) -end) - -RegisterNetEvent("qb-shootingrange:sendInvite") -AddEventHandler("qb-shootingrange:sendInvite", function(targetId) - local src = source - local inviterName = GetPlayerName(src) - - if not activeCompetitions[src] then - activeCompetitions[src] = { - host = src, - players = {}, - scores = {} - } - end - - TriggerClientEvent("qb-shootingrange:receiveInvite", targetId, inviterName, src) -end) - -RegisterNetEvent("qb-shootingrange:acceptInvite") -AddEventHandler("qb-shootingrange:acceptInvite", function(inviterId) - local src = source - local playerName = GetPlayerName(src) - - if activeCompetitions[inviterId] then - activeCompetitions[inviterId].players[src] = true - activeCompetitions[inviterId].scores[playerName] = 0 - - TriggerClientEvent("qb-shootingrange:playerJoinedCompetition", inviterId, playerName) - end -end) - -RegisterNetEvent("qb-shootingrange:declineInvite") -AddEventHandler("qb-shootingrange:declineInvite", function(inviterId) - local src = source - local playerName = GetPlayerName(src) - TriggerClientEvent("qb-shootingrange:inviteDeclined", inviterId, playerName) -end) - -RegisterNetEvent("qb-shootingrange:startCompetition") -AddEventHandler("qb-shootingrange:startCompetition", function() - local src = source - - if activeCompetitions[src] then - for playerId, _ in pairs(activeCompetitions[src].players) do - TriggerClientEvent("qb-shootingrange:competitionStarted", playerId) - end - TriggerClientEvent("qb-shootingrange:competitionStarted", src) - end -end) - -RegisterNetEvent("qb-shootingrange:cancelCompetition") -AddEventHandler("qb-shootingrange:cancelCompetition", function() - local src = source - - if activeCompetitions[src] then - for playerId, _ in pairs(activeCompetitions[src].players) do - TriggerClientEvent("qb-shootingrange:competitionCancelled", playerId) - end - activeCompetitions[src] = nil - end -end) - -RegisterNetEvent("qb-shootingrange:updateCompetitionScore") -AddEventHandler("qb-shootingrange:updateCompetitionScore", function(score) - local src = source - local playerName = GetPlayerName(src) - - for _, competition in pairs(activeCompetitions) do - if competition.players[src] or competition.host == src then - competition.scores[playerName] = score - - for playerId, _ in pairs(competition.players) do - TriggerClientEvent("qb-shootingrange:updateCompetition", playerId, competition.scores) - end - TriggerClientEvent("qb-shootingrange:updateCompetition", competition.host, competition.scores) - break - end - end -end) - - +local QBCore = exports['qb-core']:GetCoreObject() + +local activeCompetitions = {} + +QBCore.Functions.CreateCallback('qb-shootingrange:getHighscores', function(source, cb) + local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]") + cb(scores) +end) + +RegisterNetEvent('qb-shootingrange:saveScore', function(name, score) + local scores = json.decode(LoadResourceFile(GetCurrentResourceName(), "highscores.json") or "[]") + + local timestamp = os.date("%d.%m.%Y - %H:%M") + + table.insert(scores, { + name = name, + score = score, + timestamp = timestamp + }) + + table.sort(scores, function(a, b) + return tonumber(a.score) > tonumber(b.score) + end) + + while #scores > Config.MaxHighscores do + table.remove(scores, #scores) + end + + SaveResourceFile(GetCurrentResourceName(), "highscores.json", json.encode(scores, {indent = true}), -1) +end) + +RegisterNetEvent("qb-shootingrange:sendInvite") +AddEventHandler("qb-shootingrange:sendInvite", function(targetId) + local src = source + local inviterName = GetPlayerName(src) + + if not activeCompetitions[src] then + activeCompetitions[src] = { + host = src, + players = {}, + scores = {} + } + end + + TriggerClientEvent("qb-shootingrange:receiveInvite", targetId, inviterName, src) +end) + +RegisterNetEvent("qb-shootingrange:acceptInvite") +AddEventHandler("qb-shootingrange:acceptInvite", function(inviterId) + local src = source + local playerName = GetPlayerName(src) + + if activeCompetitions[inviterId] then + activeCompetitions[inviterId].players[src] = true + activeCompetitions[inviterId].scores[playerName] = 0 + + TriggerClientEvent("qb-shootingrange:playerJoinedCompetition", inviterId, playerName) + end +end) + +RegisterNetEvent("qb-shootingrange:declineInvite") +AddEventHandler("qb-shootingrange:declineInvite", function(inviterId) + local src = source + local playerName = GetPlayerName(src) + TriggerClientEvent("qb-shootingrange:inviteDeclined", inviterId, playerName) +end) + +RegisterNetEvent("qb-shootingrange:startCompetition") +AddEventHandler("qb-shootingrange:startCompetition", function() + local src = source + + if activeCompetitions[src] then + for playerId, _ in pairs(activeCompetitions[src].players) do + TriggerClientEvent("qb-shootingrange:competitionStarted", playerId) + end + TriggerClientEvent("qb-shootingrange:competitionStarted", src) + end +end) + +RegisterNetEvent("qb-shootingrange:cancelCompetition") +AddEventHandler("qb-shootingrange:cancelCompetition", function() + local src = source + + if activeCompetitions[src] then + for playerId, _ in pairs(activeCompetitions[src].players) do + TriggerClientEvent("qb-shootingrange:competitionCancelled", playerId) + end + activeCompetitions[src] = nil + end +end) + +RegisterNetEvent("qb-shootingrange:updateCompetitionScore") +AddEventHandler("qb-shootingrange:updateCompetitionScore", function(score) + local src = source + local playerName = GetPlayerName(src) + + for _, competition in pairs(activeCompetitions) do + if competition.players[src] or competition.host == src then + competition.scores[playerName] = score + + for playerId, _ in pairs(competition.players) do + TriggerClientEvent("qb-shootingrange:updateCompetition", playerId, competition.scores) + end + TriggerClientEvent("qb-shootingrange:updateCompetition", competition.host, competition.scores) + break + end + end +end) + + diff --git a/resources/[jobs]/[weapons]/pug-sling/.fxap b/resources/[weapons]/[Scripts]/pug-sling/.fxap similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/.fxap rename to resources/[weapons]/[Scripts]/pug-sling/.fxap diff --git a/resources/[jobs]/[weapons]/pug-sling/client/main.lua b/resources/[weapons]/[Scripts]/pug-sling/client/main.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/client/main.lua rename to resources/[weapons]/[Scripts]/pug-sling/client/main.lua diff --git a/resources/[jobs]/[weapons]/pug-sling/client/open.lua b/resources/[weapons]/[Scripts]/pug-sling/client/open.lua similarity index 74% rename from resources/[jobs]/[weapons]/pug-sling/client/open.lua rename to resources/[weapons]/[Scripts]/pug-sling/client/open.lua index 519e4e391..c001f1d4f 100644 --- a/resources/[jobs]/[weapons]/pug-sling/client/open.lua +++ b/resources/[weapons]/[Scripts]/pug-sling/client/open.lua @@ -55,60 +55,55 @@ if not Config.UseOldSlingScript then end -- INVENTORY HAS ITEM CHECK - function CheckHasWeapon(Weapon) - if GetResourceState("qs-inventory") == 'started' then - local count = exports['qs-inventory']:Search(Weapon) - if count > 0 then - return true - else - return false - end - elseif GetResourceState("qb-inventory") == 'started' then - return exports['qb-inventory']:HasItem(Weapon) - elseif GetResourceState("ps-inventory") == 'started' then - return exports['ps-inventory']:HasItem(Weapon) - elseif GetResourceState("ox_inventory") == 'started' then - local count = exports.ox_inventory:GetItemCount(Weapon) - if count > 0 then - return true - else - return false - end - elseif GetResourceState("tgiann-inventory") == 'started' then - local count = exports["tgiann-inventory"]:Items(Weapon) - print("Miho output... \n Weapon: "..Weapon) - - if count then - return true - else - return false - end - elseif GetResourceState("core_inventory") == 'started' then - if Framework == "QBCore" then - local citizenid = FWork.Functions.GetPlayerData().citizenid - local Primary = exports['core_inventory']:getItems('primary-' .. citizenid, Weapon) - local Secondry = exports['core_inventory']:getItems('secondry-' .. citizenid, Weapon) - if Primary > 0 or Secondry > 0 then - return true - else - return false - end - else - return false - end - elseif Framework == "QBCore" then - local FinalValue = false - local items = FWork.Functions.GetPlayerData().items - for _, v in pairs(items) do - if v.name ~= nil then - if tostring(v.name) == tostring(Weapon) then - FinalValue = true - end - end - end - return FinalValue +function CheckHasWeapon(Weapon) + if GetResourceState("qs-inventory") == 'started' then + local count = exports['qs-inventory']:Search(Weapon) + if count > 0 then + return true + else + return false end + elseif GetResourceState("qb-inventory") == 'started' then + return exports['qb-inventory']:HasItem(Weapon) + elseif GetResourceState("ps-inventory") == 'started' then + return exports['ps-inventory']:HasItem(Weapon) + elseif GetResourceState("ox_inventory") == 'started' then + local count = exports.ox_inventory:GetItemCount(Weapon) + if count > 0 then + return true + else + return false + end + elseif GetResourceState("tgiann-inventory") == 'started' then + -- Fixed implementation for tgiann-inventory + return exports["tgiann-inventory"]:HasItem(Weapon, 1) + elseif GetResourceState("core_inventory") == 'started' then + if Framework == "QBCore" then + local citizenid = FWork.Functions.GetPlayerData().citizenid + local Primary = exports['core_inventory']:getItems('primary-' .. citizenid, Weapon) + local Secondry = exports['core_inventory']:getItems('secondry-' .. citizenid, Weapon) + if Primary > 0 or Secondry > 0 then + return true + else + return false + end + else + return false + end + elseif Framework == "QBCore" then + local FinalValue = false + local items = FWork.Functions.GetPlayerData().items + for _, v in pairs(items) do + if v.name ~= nil then + if tostring(v.name) == tostring(Weapon) then + FinalValue = true + end + end + end + return FinalValue end +end + local function CheckJobVerified() local PlayerJob = Config.FrameworkFunctions.GetPlayer().PlayerData.job.name diff --git a/resources/[jobs]/[weapons]/pug-sling/config.lua b/resources/[weapons]/[Scripts]/pug-sling/config.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/config.lua rename to resources/[weapons]/[Scripts]/pug-sling/config.lua diff --git a/resources/[jobs]/[weapons]/pug-sling/fxmanifest.lua b/resources/[weapons]/[Scripts]/pug-sling/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/fxmanifest.lua rename to resources/[weapons]/[Scripts]/pug-sling/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/pug-sling/json/config-weapons.json b/resources/[weapons]/[Scripts]/pug-sling/json/config-weapons.json similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/json/config-weapons.json rename to resources/[weapons]/[Scripts]/pug-sling/json/config-weapons.json diff --git a/resources/[jobs]/[weapons]/pug-sling/old-sling/client-old.lua b/resources/[weapons]/[Scripts]/pug-sling/old-sling/client-old.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/old-sling/client-old.lua rename to resources/[weapons]/[Scripts]/pug-sling/old-sling/client-old.lua diff --git a/resources/[jobs]/[weapons]/pug-sling/old-sling/config-old.lua b/resources/[weapons]/[Scripts]/pug-sling/old-sling/config-old.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/old-sling/config-old.lua rename to resources/[weapons]/[Scripts]/pug-sling/old-sling/config-old.lua diff --git a/resources/[jobs]/[weapons]/pug-sling/old-sling/readme.md b/resources/[weapons]/[Scripts]/pug-sling/old-sling/readme.md similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/old-sling/readme.md rename to resources/[weapons]/[Scripts]/pug-sling/old-sling/readme.md diff --git a/resources/[jobs]/[weapons]/pug-sling/readme.md b/resources/[weapons]/[Scripts]/pug-sling/readme.md similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/readme.md rename to resources/[weapons]/[Scripts]/pug-sling/readme.md diff --git a/resources/[jobs]/[weapons]/pug-sling/server/main.lua b/resources/[weapons]/[Scripts]/pug-sling/server/main.lua similarity index 100% rename from resources/[jobs]/[weapons]/pug-sling/server/main.lua rename to resources/[weapons]/[Scripts]/pug-sling/server/main.lua diff --git a/resources/[jobs]/[weapons]/z4-xhair/README.md b/resources/[weapons]/[Scripts]/z4-xhair/README.md similarity index 100% rename from resources/[jobs]/[weapons]/z4-xhair/README.md rename to resources/[weapons]/[Scripts]/z4-xhair/README.md diff --git a/resources/[jobs]/[weapons]/z4-xhair/client/cl_xhair.lua b/resources/[weapons]/[Scripts]/z4-xhair/client/cl_xhair.lua similarity index 95% rename from resources/[jobs]/[weapons]/z4-xhair/client/cl_xhair.lua rename to resources/[weapons]/[Scripts]/z4-xhair/client/cl_xhair.lua index 29b594d88..23bef6000 100644 --- a/resources/[jobs]/[weapons]/z4-xhair/client/cl_xhair.lua +++ b/resources/[weapons]/[Scripts]/z4-xhair/client/cl_xhair.lua @@ -1,14 +1,14 @@ ---HELLO -Citizen.CreateThread(function() - while true do - Citizen.Wait(500) - local get_ped = PlayerPedId() - local get_ped_veh = GetVehiclePedIsIn(get_ped, false) - - if (IsPlayerFreeAiming(PlayerId())) then - SendNUIMessage("xhairShow") - elseif not (IsPlayerFreeAiming(PlayerId())) then - SendNUIMessage("xhairHide") - end - end +--HELLO +Citizen.CreateThread(function() + while true do + Citizen.Wait(500) + local get_ped = PlayerPedId() + local get_ped_veh = GetVehiclePedIsIn(get_ped, false) + + if (IsPlayerFreeAiming(PlayerId())) then + SendNUIMessage("xhairShow") + elseif not (IsPlayerFreeAiming(PlayerId())) then + SendNUIMessage("xhairHide") + end + end end) \ No newline at end of file diff --git a/resources/[jobs]/[weapons]/z4-xhair/fxmanifest.lua b/resources/[weapons]/[Scripts]/z4-xhair/fxmanifest.lua similarity index 91% rename from resources/[jobs]/[weapons]/z4-xhair/fxmanifest.lua rename to resources/[weapons]/[Scripts]/z4-xhair/fxmanifest.lua index ebedc8a97..6a8abf5fb 100644 --- a/resources/[jobs]/[weapons]/z4-xhair/fxmanifest.lua +++ b/resources/[weapons]/[Scripts]/z4-xhair/fxmanifest.lua @@ -1,12 +1,12 @@ -fx_version 'adamant' - -games { 'gta5' } - -ui_page 'ui/index.html' -files { - 'ui/index.html', -} - -client_scripts { - 'client/cl_xhair.lua', -} +fx_version 'adamant' + +games { 'gta5' } + +ui_page 'ui/index.html' +files { + 'ui/index.html', +} + +client_scripts { + 'client/cl_xhair.lua', +} diff --git a/resources/[jobs]/[weapons]/z4-xhair/ui/index.html b/resources/[weapons]/[Scripts]/z4-xhair/ui/index.html similarity index 97% rename from resources/[jobs]/[weapons]/z4-xhair/ui/index.html rename to resources/[weapons]/[Scripts]/z4-xhair/ui/index.html index 41fbb38c8..4fd5adc7e 100644 --- a/resources/[jobs]/[weapons]/z4-xhair/ui/index.html +++ b/resources/[weapons]/[Scripts]/z4-xhair/ui/index.html @@ -1,13 +1,13 @@ -
- -
- +
+ +
+ diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftAK47/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftAK47/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftAK47/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftAK47/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftAK47/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftAK47/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftAK47/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftAK47/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftAK47/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak.ydr b/resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak.ydr rename to resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak.ytd b/resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak.ytd rename to resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_hi.ydr b/resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_mag1.ydr b/resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_mag1.ydr rename to resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_mag1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_mag1.ytd b/resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftAK47/stream/airsoftak_mag1.ytd rename to resources/[weapons]/[Softair]/AirsoftAK47/stream/airsoftak_mag1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftG36C/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftG36C/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftG36C/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftG36C/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftG36C/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftG36C/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftG36C/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftG36C/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftG36C/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36+hi.ytd b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36+hi.ytd rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36+hi.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36.ydr b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36.ydr rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36.ytd b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36.ytd rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_hi.ydr b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_mag1.ydr b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_mag1.ydr rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_mag1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_mag1.ytd b/resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftG36C/stream/airsoftg36_mag1.ytd rename to resources/[weapons]/[Softair]/AirsoftG36C/stream/airsoftg36_mag1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftGlock20/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftGlock20/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftGlock20/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftGlock20/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftGlock20/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftGlock20/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftGlock20/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftGlock20/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftGlock20/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20.ydr b/resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20.ydr rename to resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20.ytd b/resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20.ytd rename to resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_hi.ydr b/resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_mag1.ydr b/resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_mag1.ydr rename to resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_mag1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_mag1.ytd b/resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftGlock20/stream/airsoftglock20_mag1.ytd rename to resources/[weapons]/[Softair]/AirsoftGlock20/stream/airsoftglock20_mag1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftM249/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftM249/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftM249/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftM249/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftM249/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftM249/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftM249/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftM249/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftM249/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM249/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftM249/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftM249/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM249/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftM249/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftM249/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM249/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftM249/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftM249/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM249/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftM249/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftM249/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249.ydr b/resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249.ydr rename to resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249.ytd b/resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249.ytd rename to resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_hi.ydr b/resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_mag.ydr b/resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_mag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_mag.ydr rename to resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_mag.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_mag.ytd b/resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_mag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM249/stream/airsoftm249_mag.ytd rename to resources/[weapons]/[Softair]/AirsoftM249/stream/airsoftm249_mag.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftM4/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftM4/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftM4/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftM4/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftM4/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftM4/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftM4/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftM4/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftM4/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM4/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftM4/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftM4/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM4/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftM4/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftM4/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM4/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftM4/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftM4/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM4/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftM4/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftM4/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1+hi.ytd b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1+hi.ytd rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1+hi.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1.ydr b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1.ydr rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1.ytd b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1.ytd rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_hi.ydr b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_mag1.ydr b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_mag1.ydr rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_mag1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_mag1.ytd b/resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftM4/stream/airsoftm4a1_mag1.ytd rename to resources/[weapons]/[Softair]/AirsoftM4/stream/airsoftm4a1_mag1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftMP5/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftMP5/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftMP5/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftMP5/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftMP5/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftMP5/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftMP5/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftMP5/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftMP5/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5.ydr b/resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5.ydr rename to resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5.ytd b/resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5.ytd rename to resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_hi.ydr b/resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_mag1.ydr b/resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_mag1.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_mag1.ydr rename to resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_mag1.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_mag1.ytd b/resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_mag1.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMP5/stream/airsoftmp5_mag1.ytd rename to resources/[weapons]/[Softair]/AirsoftMP5/stream/airsoftmp5_mag1.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftMicroUzi/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftMicroUzi/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi.ydr b/resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi.ydr rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi.ytd b/resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi.ytd rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_hi.ydr b/resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ydr b/resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ydr rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ytd b/resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ytd rename to resources/[weapons]/[Softair]/AirsoftMicroUzi/stream/airsoftmicrouzi_mag.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR700/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftR700/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftR700/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftR700/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftR700/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftR700/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftR700/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftR700/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftR700/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR700/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftR700/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftR700/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR700/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftR700/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftR700/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR700/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftR700/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftR700/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR700/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftR700/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftR700/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700.ydr b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700.ydr rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700.ytd b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700.ytd rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_hi.ydr b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_mag.ydr b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_mag.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_mag.ydr rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_mag.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_mag.ytd b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_mag.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_mag.ytd rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_mag.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope.ydr b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope.ydr rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope.ytd b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope.ytd rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope_hi.ydr b/resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR700/stream/airsoftr700_scope_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftR700/stream/airsoftr700_scope_hi.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR870/cl_weaponNames.lua b/resources/[weapons]/[Softair]/AirsoftR870/cl_weaponNames.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/cl_weaponNames.lua rename to resources/[weapons]/[Softair]/AirsoftR870/cl_weaponNames.lua diff --git a/resources/[jobs]/[weapons]/AirsoftR870/fxmanifest.lua b/resources/[weapons]/[Softair]/AirsoftR870/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/fxmanifest.lua rename to resources/[weapons]/[Softair]/AirsoftR870/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/AirsoftR870/meta/pedpersonality.meta b/resources/[weapons]/[Softair]/AirsoftR870/meta/pedpersonality.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/meta/pedpersonality.meta rename to resources/[weapons]/[Softair]/AirsoftR870/meta/pedpersonality.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR870/meta/weaponanimations.meta b/resources/[weapons]/[Softair]/AirsoftR870/meta/weaponanimations.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/meta/weaponanimations.meta rename to resources/[weapons]/[Softair]/AirsoftR870/meta/weaponanimations.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR870/meta/weaponarchetypes.meta b/resources/[weapons]/[Softair]/AirsoftR870/meta/weaponarchetypes.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/meta/weaponarchetypes.meta rename to resources/[weapons]/[Softair]/AirsoftR870/meta/weaponarchetypes.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR870/meta/weaponcomponents.meta b/resources/[weapons]/[Softair]/AirsoftR870/meta/weaponcomponents.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/meta/weaponcomponents.meta rename to resources/[weapons]/[Softair]/AirsoftR870/meta/weaponcomponents.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR870/meta/weapons.meta b/resources/[weapons]/[Softair]/AirsoftR870/meta/weapons.meta similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/meta/weapons.meta rename to resources/[weapons]/[Softair]/AirsoftR870/meta/weapons.meta diff --git a/resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870+hi.ytd b/resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870+hi.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870+hi.ytd rename to resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870+hi.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870.ydr b/resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870.ydr rename to resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870.ydr diff --git a/resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870.ytd b/resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870.ytd similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870.ytd rename to resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870.ytd diff --git a/resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870_hi.ydr b/resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870_hi.ydr similarity index 100% rename from resources/[jobs]/[weapons]/AirsoftR870/stream/airsoft870_hi.ydr rename to resources/[weapons]/[Softair]/AirsoftR870/stream/airsoft870_hi.ydr diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/client.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/client.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/client.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/client.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/command.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/command.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/command.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/command.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/config.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/config.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/config.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/config.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/fxmanifest.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/fxmanifest.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/fxmanifest.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/fxmanifest.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/locales/de.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/locales/de.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/locales/de.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/locales/de.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/locales/en.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/locales/en.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/locales/en.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/locales/en.lua diff --git a/resources/[jobs]/[weapons]/nordi_weapon_handling/server.lua b/resources/[weapons]/[Softair]/nordi_weapon_handling/server.lua similarity index 100% rename from resources/[jobs]/[weapons]/nordi_weapon_handling/server.lua rename to resources/[weapons]/[Softair]/nordi_weapon_handling/server.lua