Re-organized old files....

This commit is contained in:
Ghostrider-DbD- 2017-08-04 21:32:07 -04:00
parent ab91208d71
commit 392ea70dcf
43 changed files with 2040 additions and 104 deletions

View File

@ -0,0 +1,58 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
fn_generateItemList = {
params["_items"];
private["_clipBoard"];
_clipBoard = "";
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _items;
_clipBoard;
};
fn_generatePriceList = {
params["_items"];
private["_clipBoard"];
_clipBoard = "";
{
if (GRG_mod == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
//_clipboard = _clipboard + format["5, %1 %2",_x,endl];
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 100; };%2",_x,endl];
};
}forEach _items;
_clipBoard
};
fn_generateLootTableEntries = {
params["_items"];
private["_clipBoard"];
_clipBoard = "";
{
if (GRG_mod == "Exile") then
{
_clipboard = _clipboard + format["5, %1 %2",_x,endl];
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipboard + format['{ { "%1", "item" /*"backpack" "magazine" "item" "weapon"*/ }, 5 },%2',_x,endl];
};
}forEach _items;
_clipBoard
};

View File

@ -0,0 +1,20 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
GRG_Epoch_Pricelist_Header = endl + endl + "/*" + endl + endl + " Epoch Pricelists" + endl + endl + "*/";
GRG_Epoch_Loottable_Header = endl + endl + "/*" + endl + endl + " Epoch Loottable Entries" + endl + endl + "*/";
GRG_Epoch_ItemLists_Header = endl + endl + "/*" + endl + endl + " Epoch Item Name Lists" + endl + endl + "*/";
GRG_Exile_Pricelist_Header = endl + endl + "/*" + endl + endl + " Exile Pricelists" + endl + endl + "*/";
GRG_Exile_TraderItemLists_Header = endl + endl + "/*" + endl + endl + " Exile Trader Item Lists" + endl + endl + "*/";
GRG_Exile_Loottable_Header = endl + endl + "/*" + endl + endl + " Exile Loottable Entries" + endl + endl + "*/";

View File

@ -0,0 +1,16 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
Lists magazines that should excluded from the output for the script.
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseMagazines = [
// Magazines
];

View File

@ -0,0 +1,6 @@
_baseWearables = [
];

View File

@ -0,0 +1,266 @@
_airBase = [
"Air",
"Helicopter",
"Plane",
"ParachuteBase",
"GNT_C185",
"GNT_C185F",
"GNT_C185T",
"Heli_Transport_02_base_F",
"Heli_Transport_CDN888",
"Heli_Transport_CDN808",
"Heli_Transport_DK09",
"Heli_Transport_DK10",
"Heli_Transport_DZ",
"GunShip",
"TransportHelicopter",
"UAV",
"Fighter",
"CargoAirplane",
"Plane_Base_F",
"Plane_CAS_01_base_F",
"B_Parachute_02_F",
"Helicopter_Base_F",
"Helicopter_Base_H",
"Heli_Light_01_base_F",
"Heli_Light_01_unarmed_base_F",
"Heli_Light_01_civil_base_F",
"Heli_Light_01_armed_base_F",
"Heli_Light_01_dynamicLoadout_base_F",
"B_Heli_Light_01_F",
"B_Heli_Light_01_armed_F",
"B_Heli_Light_01_dynamicLoadout_F",
"C_Heli_Light_01_civil_F",
"C_Heli_light_01_blue_F",
"C_Heli_light_01_red_F",
"C_Heli_light_01_ion_F",
"C_Heli_light_01_blueLine_F",
"C_Heli_light_01_digital_F",
"C_Heli_light_01_elliptical_F",
"C_Heli_light_01_furious_F",
"C_Heli_light_01_graywatcher_F",
"C_Heli_light_01_jeans_F",
"C_Heli_light_01_light_F",
"C_Heli_light_01_shadow_F",
"C_Heli_light_01_sheriff_F",
"C_Heli_light_01_speedy_F",
"C_Heli_light_01_sunset_F",
"C_Heli_light_01_vrana_F",
"C_Heli_light_01_wasp_F",
"C_Heli_light_01_wave_F",
"C_Heli_light_01_stripped_F",
"C_Heli_light_01_luxe_F",
"B_Heli_Light_01_stripped_F",
"Heli_Light_02_base_F",
"Heli_Light_02_unarmed_base_F",
"Heli_Light_02_dynamicLoadout_base_F",
"O_Heli_Light_02_dynamicLoadout_F",
"O_Heli_Light_02_F",
"O_Heli_Light_02_unarmed_F",
"O_Heli_Light_02_v2_F",
"ParachuteWest",
"ParachuteEast",
"ParachuteG",
"Parachute",
"NonSteerable_Parachute_F",
"Paraglide",
"Steerable_Parachute_F",
"Heli_Attack_01_base_F",
"Heli_Attack_01_dynamicLoadout_base_F",
"B_Heli_Attack_01_F",
"B_Heli_Attack_01_dynamicLoadout_F",
"Heli_Attack_02_base_F",
"Heli_Attack_02_dynamicLoadout_base_F",
"O_Heli_Attack_02_F",
"O_Heli_Attack_02_black_F",
"O_Heli_Attack_02_dynamicLoadout_F",
"O_Heli_Attack_02_dynamicLoadout_black_F",
"Heli_Transport_01_base_F",
"B_Heli_Transport_01_F",
"B_Heli_Transport_01_camo_F",
"I_Heli_Transport_02_F",
"Parachute_02_base_F",
"O_Parachute_02_F",
"I_Parachute_02_F",
"Plane_Fighter_03_base_F",
"Plane_Fighter_03_dynamicLoadout_base_F",
"I_Plane_Fighter_03_CAS_F",
"I_Plane_Fighter_03_AA_F",
"I_Plane_Fighter_03_dynamicLoadout_F",
"Heli_light_03_base_F",
"Heli_light_03_dynamicLoadout_base_F",
"Heli_light_03_unarmed_base_F",
"I_Heli_light_03_F",
"I_Heli_light_03_dynamicLoadout_F",
"I_Heli_light_03_unarmed_F",
"I_Heli_light_03_base_F",
"I_Heli_light_03_unarmed_base_F",
"Plane_CAS_01_dynamicLoadout_base_F",
"B_Plane_CAS_01_F",
"B_Plane_CAS_01_dynamicLoadout_F",
"Plane_CAS_02_base_F",
"Plane_CAS_02_dynamicLoadout_base_F",
"O_Plane_CAS_02_F",
"O_Plane_CAS_02_dynamicLoadout_F",
"UAV_01_base_F",
"B_UAV_01_F",
"O_UAV_01_F",
"I_UAV_01_F",
"UAV_02_base_F",
"UAV_02_CAS_base_F",
"B_UAV_02_F",
"O_UAV_02_F",
"I_UAV_02_F",
"B_UAV_02_CAS_F",
"O_UAV_02_CAS_F",
"I_UAV_02_CAS_F",
"UAV_02_dynamicLoadout_base_F",
"B_UAV_02_dynamicLoadout_F",
"O_UAV_02_dynamicLoadout_F",
"I_UAV_02_dynamicLoadout_F",
"Heli_Transport_03_base_F",
"B_Heli_Transport_03_F",
"Heli_Transport_03_unarmed_base_F",
"B_Heli_Transport_03_unarmed_F",
"B_Heli_Transport_03_black_F",
"B_Heli_Transport_03_unarmed_green_F",
"B_Heli_Transport_03_base_F",
"B_Heli_Transport_03_unarmed_base_F",
"Heli_Transport_04_base_F",
"O_Heli_Transport_04_F",
"O_Heli_Transport_04_ammo_F",
"O_Heli_Transport_04_bench_F",
"O_Heli_Transport_04_box_F",
"O_Heli_Transport_04_covered_F",
"O_Heli_Transport_04_fuel_F",
"O_Heli_Transport_04_medevac_F",
"O_Heli_Transport_04_repair_F",
"O_Heli_Transport_04_black_F",
"O_Heli_Transport_04_ammo_black_F",
"O_Heli_Transport_04_bench_black_F",
"O_Heli_Transport_04_box_black_F",
"O_Heli_Transport_04_covered_black_F",
"O_Heli_Transport_04_fuel_black_F",
"O_Heli_Transport_04_medevac_black_F",
"O_Heli_Transport_04_repair_black_F",
"Exile_Chopper_Hellcat_Abstract",
"Exile_Chopper_Hellcat_Green",
"Exile_Chopper_Hellcat_FIA",
"UH1H_Clo",
"Exile_Chopper_Huey_Abstract",
"Exile_Chopper_Huey_Green",
"Exile_Chopper_Huey_Desert",
"UH1H_M240",
"Exile_Chopper_Huey_Armed_Abstract",
"Exile_Chopper_Huey_Armed_Green",
"Exile_Chopper_Huey_Armed_Desert",
"Exile_Chopper_Hummingbird_Abstract",
"Exile_Chopper_Hummingbird_Green",
"Exile_Chopper_Hummingbird_Civillian_Abstract",
"Exile_Chopper_Hummingbird_Civillian_Blue",
"Exile_Chopper_Hummingbird_Civillian_Red",
"Exile_Chopper_Hummingbird_Civillian_ION",
"Exile_Chopper_Hummingbird_Civillian_BlueLine",
"Exile_Chopper_Hummingbird_Civillian_Digital",
"Exile_Chopper_Hummingbird_Civillian_Elliptical",
"Exile_Chopper_Hummingbird_Civillian_Furious",
"Exile_Chopper_Hummingbird_Civillian_GrayWatcher",
"Exile_Chopper_Hummingbird_Civillian_Jeans",
"Exile_Chopper_Hummingbird_Civillian_Light",
"Exile_Chopper_Hummingbird_Civillian_Shadow",
"Exile_Chopper_Hummingbird_Civillian_Sheriff",
"Exile_Chopper_Hummingbird_Civillian_Speedy",
"Exile_Chopper_Hummingbird_Civillian_Sunset",
"Exile_Chopper_Hummingbird_Civillian_Vrana",
"Exile_Chopper_Hummingbird_Civillian_Wasp",
"Exile_Chopper_Hummingbird_Civillian_Wave",
"Exile_Chopper_Huron_Abstract",
"Exile_Chopper_Huron_Black",
"Exile_Chopper_Huron_Green",
"Exile_Chopper_Mohawk_Abstract",
"Exile_Chopper_Mohawk_FIA",
"Exile_Chopper_Orca_Abstract",
"Exile_Chopper_Orca_CSAT",
"Exile_Chopper_Orca_Black",
"Exile_Chopper_Orca_BlackCustom",
"Exile_Chopper_Taru_Abstract",
"Exile_Chopper_Taru_CSAT",
"Exile_Chopper_Taru_Black",
"Exile_Chopper_Taru_Covered_Abstract",
"Exile_Chopper_Taru_Covered_CSAT",
"Exile_Chopper_Taru_Covered_Black",
"Exile_Chopper_Taru_Transport_Abstract",
"Exile_Chopper_Taru_Transport_CSAT",
"Exile_Chopper_Taru_Transport_Black",
"an2_base",
"Exile_Plane_AN2_Abstract",
"Exile_Plane_AN2_Green",
"Exile_Plane_AN2_White",
"Exile_Plane_AN2_Stripe",
"B_T_VTOL_01_infantry_F",
"Exile_Plane_BlackfishInfantry",
"B_T_VTOL_01_vehicle_F",
"Exile_Plane_BlackfishVehicle",
"C_Plane_Civil_01_F",
"Exile_Plane_Ceasar",
"Exile_Plane_Cessna",
"An2_tk",
"An2_af",
"An2_a2",
"UH1H_base",
"UH1HL_base",
"UH1H_Closed",
"UH1H_Closed_TK",
"UH1H_M240_TK",
"VTOL_Base_F",
"I_C_Heli_Light_01_civil_F",
"B_CTRG_Heli_Transport_01_sand_F",
"B_CTRG_Heli_Transport_01_tropic_F",
"Plane_Civil_01_base_F",
"C_Plane_Civil_01_racing_F",
"I_C_Plane_Civil_01_F",
"UAV_03_base_F",
"UAV_03_dynamicLoadout_base_F",
"B_T_UAV_03_F",
"B_T_UAV_03_dynamicLoadout_F",
"UAV_04_base_F",
"O_T_UAV_04_CAS_F",
"VTOL_01_base_F",
"VTOL_01_armed_base_F",
"VTOL_01_unarmed_base_F",
"VTOL_01_infantry_base_F",
"VTOL_01_vehicle_base_F",
"B_T_VTOL_01_armed_F",
"B_T_VTOL_01_infantry_blue_F",
"B_T_VTOL_01_infantry_olive_F",
"B_T_VTOL_01_vehicle_blue_F",
"B_T_VTOL_01_vehicle_olive_F",
"B_T_VTOL_01_armed_blue_F",
"B_T_VTOL_01_armed_olive_F",
"VTOL_02_base_F",
"VTOL_02_infantry_base_F",
"VTOL_02_vehicle_base_F",
"VTOL_02_infantry_dynamicLoadout_base_F",
"VTOL_02_vehicle_dynamicLoadout_base_F",
"O_T_VTOL_02_infantry_F",
"O_T_VTOL_02_vehicle_F",
"O_T_VTOL_02_infantry_dynamicLoadout_F",
"O_T_VTOL_02_vehicle_dynamicLoadout_F",
"O_T_VTOL_02_infantry_hex_F",
"O_T_VTOL_02_infantry_ghex_F",
"O_T_VTOL_02_infantry_grey_F",
"O_T_VTOL_02_vehicle_hex_F",
"O_T_VTOL_02_vehicle_ghex_F",
"O_T_VTOL_02_vehicle_grey_F",
"Plane_Fighter_01_Base_F",
"B_Plane_Fighter_01_F",
"B_Plane_Fighter_01_Stealth_F",
"Plane_Fighter_02_Base_F",
"O_Plane_Fighter_02_F",
"O_Plane_Fighter_02_Stealth_F",
"Plane_Fighter_04_Base_F",
"I_Plane_Fighter_04_F",
"UAV_05_Base_F",
"B_UAV_05_F"
];

View File

@ -0,0 +1,174 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
This list of headgear will be excluded from the output of the relevant scripts.
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseHeadgear = [
"Exile_Cap_Exile",
"H_Bandanna_blu",
"H_Bandanna_camo",
"H_Bandanna_cbr",
"H_Bandanna_gry",
"H_Bandanna_khk",
"H_Bandanna_khk_hs",
"H_Bandanna_mcamo",
"H_Bandanna_sand",
"H_Bandanna_sgg",
"H_Bandanna_surfer",
"H_Bandanna_surfer_blk",
"H_Bandanna_surfer_grn",
"H_BandMask_blk",
"H_BandMask_demon",
"H_BandMask_khk",
"H_BandMask_reaper",
"H_Beret_02",
"H_Beret_blk",
"H_Beret_blk_POLICE",
"H_Beret_brn_SF",
"H_Beret_Colonel",
"H_Beret_gen_F",
"H_Beret_grn",
"H_Beret_grn_SF",
"H_Beret_ocamo",
"H_Beret_red",
"H_Booniehat_dgtl",
"H_Booniehat_dirty",
"H_Booniehat_grn",
"H_Booniehat_indp",
"H_Booniehat_khk",
"H_Booniehat_khk_hs",
"H_Booniehat_mcamo",
"H_Booniehat_oli",
"H_Booniehat_tan",
"H_Booniehat_tna_F",
"H_Cap_blk",
"H_Cap_blk_CMMG",
"H_Cap_blk_ION",
"H_Cap_blk_Raven",
"H_Cap_blk_Syndikat_F",
"H_Cap_blu",
"H_Cap_brn_SPECOPS",
"H_Cap_grn",
"H_Cap_grn_BI",
"H_Cap_grn_Syndikat_F",
"H_Cap_headphones",
"H_Cap_khaki_specops_UK",
"H_Cap_marshal",
"H_Cap_oli",
"H_Cap_oli_hs",
"H_Cap_oli_Syndikat_F",
"H_Cap_police",
"H_Cap_press",
"H_Cap_red",
"H_Cap_surfer",
"H_Cap_tan",
"H_Cap_tan_specops_US",
"H_Cap_tan_Syndikat_F",
"H_Cap_usblack",
"H_CrewHelmetHeli_B",
"H_CrewHelmetHeli_I",
"H_CrewHelmetHeli_O",
"H_Hat_blue",
"H_Hat_brown",
"H_Hat_camo",
"H_Hat_checker",
"H_Hat_grey",
"H_Hat_tan",
"H_Helmet_Kerry",
"H_Helmet_Skate",
"H_HelmetB",
"H_HelmetB_black",
"H_HelmetB_camo",
"H_HelmetB_desert",
"H_HelmetB_Enh_tna_F",
"H_HelmetB_grass",
"H_HelmetB_light",
"H_HelmetB_light_black",
"H_HelmetB_light_desert",
"H_HelmetB_light_grass",
"H_HelmetB_light_sand",
"H_HelmetB_light_snakeskin",
"H_HelmetB_Light_tna_F",
"H_HelmetB_paint",
"H_HelmetB_plain_blk",
"H_HelmetB_plain_mcamo",
"H_HelmetB_sand",
"H_HelmetB_snakeskin",
"H_HelmetB_TI_tna_F",
"H_HelmetB_tna_F",
"H_HelmetCrew_B",
"H_HelmetCrew_I",
"H_HelmetCrew_O",
"H_HelmetCrew_O_ghex_F",
"H_HelmetIA",
"H_HelmetIA_camo",
"H_HelmetIA_net",
"H_HelmetLeaderO_ghex_F",
"H_HelmetLeaderO_ocamo",
"H_HelmetLeaderO_oucamo",
"H_HelmetO_ghex_F",
"H_HelmetO_ocamo",
"H_HelmetO_oucamo",
"H_HelmetO_ViperSP_ghex_F",
"H_HelmetO_ViperSP_hex_F",
"H_HelmetSpecB",
"H_HelmetSpecB_blk",
"H_HelmetSpecB_paint1",
"H_HelmetSpecB_paint2",
"H_HelmetSpecB_sand",
"H_HelmetSpecB_snakeskin",
"H_HelmetSpecO_blk",
"H_HelmetSpecO_ghex_F",
"H_HelmetSpecO_ocamo",
"H_MilCap_blue",
"H_MilCap_dgtl",
"H_MilCap_gen_F",
"H_MilCap_ghex_F",
"H_MilCap_gry",
"H_MilCap_mcamo",
"H_MilCap_ocamo",
"H_MilCap_oucamo",
"H_MilCap_rucamo",
"H_MilCap_tna_F",
"H_PilotHelmetFighter_B",
"H_PilotHelmetFighter_I",
"H_PilotHelmetFighter_O",
"H_PilotHelmetHeli_B",
"H_PilotHelmetHeli_I",
"H_PilotHelmetHeli_O",
"H_RacingHelmet_1_black_F",
"H_RacingHelmet_1_blue_F",
"H_RacingHelmet_1_F",
"H_RacingHelmet_1_green_F",
"H_RacingHelmet_1_orange_F",
"H_RacingHelmet_1_red_F",
"H_RacingHelmet_1_white_F",
"H_RacingHelmet_1_yellow_F",
"H_RacingHelmet_2_F",
"H_RacingHelmet_3_F",
"H_RacingHelmet_4_F",
"H_Shemag_khk",
"H_Shemag_olive",
"H_Shemag_olive_hs",
"H_Shemag_tan",
"H_ShemagOpen_khk",
"H_ShemagOpen_tan",
"H_StrawHat",
"H_StrawHat_dark",
"H_TurbanO_blk",
"H_Watchcap_blk",
"H_Watchcap_camo",
"H_Watchcap_cbr",
"H_Watchcap_khk",
"H_Watchcap_sgg",
"HelmetBase"
];

View File

@ -0,0 +1,195 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
This list of uniforms will be excluded from the output of the relevant scripts.
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseUniforms = [
"Exile_Uniform_BambiOverall",
"Exile_Uniform_ExileCustoms",
"Exile_Uniform_Wetsuit_AAF",
"Exile_Uniform_Wetsuit_CSAT",
"Exile_Uniform_Wetsuit_NATO",
"Exile_Uniform_Woodland",
"U_AntigonaBody",
"U_AttisBody",
"U_B_CombatUniform_mcam",
"U_B_CombatUniform_mcam_tshirt",
"U_B_CombatUniform_mcam_vest",
"U_B_CombatUniform_mcam_worn",
"U_B_CombatUniform_sgg",
"U_B_CombatUniform_sgg_tshirt",
"U_B_CombatUniform_sgg_vest",
"U_B_CombatUniform_wdl",
"U_B_CombatUniform_wdl_tshirt",
"U_B_CombatUniform_wdl_vest",
"U_B_CTRG_1",
"U_B_CTRG_2",
"U_B_CTRG_3",
"U_B_CTRG_Soldier_2_F",
"U_B_CTRG_Soldier_3_F",
"U_B_CTRG_Soldier_F",
"U_B_CTRG_Soldier_urb_1_F",
"U_B_CTRG_Soldier_urb_2_F",
"U_B_CTRG_Soldier_urb_3_F",
"U_B_FullGhillie_ard",
"U_B_FullGhillie_lsh",
"U_B_FullGhillie_sard",
"U_B_GEN_Commander_F",
"U_B_GEN_Soldier_F",
"U_B_GhillieSuit",
"U_B_HeliPilotCoveralls",
"U_B_PilotCoveralls",
"U_B_Protagonist_VR",
"U_B_Soldier_VR",
"U_B_SpecopsUniform_sgg",
"U_B_survival_uniform",
"U_B_T_FullGhillie_tna_F",
"U_B_T_Sniper_F",
"U_B_T_Soldier_AR_F",
"U_B_T_Soldier_F",
"U_B_T_Soldier_SL_F",
"U_B_Wetsuit",
"U_BasicBody",
"U_BG_Guerilla1_1",
"U_BG_Guerilla2_1",
"U_BG_Guerilla2_2",
"U_BG_Guerilla2_3",
"U_BG_Guerilla3_1",
"U_BG_Guerilla3_2",
"U_BG_Guerrilla_6_1",
"U_BG_leader",
"U_C_Commoner1_1",
"U_C_Commoner1_2",
"U_C_Commoner1_3",
"U_C_Commoner2_1",
"U_C_Commoner2_2",
"U_C_Commoner2_3",
"U_C_Commoner_shorts",
"U_C_Driver_1",
"U_C_Driver_1_black",
"U_C_Driver_1_blue",
"U_C_Driver_1_green",
"U_C_Driver_1_orange",
"U_C_Driver_1_red",
"U_C_Driver_1_white",
"U_C_Driver_1_yellow",
"U_C_Driver_2",
"U_C_Driver_3",
"U_C_Driver_4",
"U_C_Farmer",
"U_C_Fisherman",
"U_C_FishermanOveralls",
"U_C_HunterBody_brn",
"U_C_HunterBody_grn",
"U_C_Journalist",
"U_C_Man_casual_1_F",
"U_C_Man_casual_2_F",
"U_C_Man_casual_3_F",
"U_C_Man_casual_4_F",
"U_C_Man_casual_5_F",
"U_C_Man_casual_6_F",
"U_C_man_sport_1_F",
"U_C_man_sport_2_F",
"U_C_man_sport_3_F",
"U_C_Novak",
"U_C_Poloshirt_blue",
"U_C_Poloshirt_burgundy",
"U_C_Poloshirt_redwhite",
"U_C_Poloshirt_salmon",
"U_C_Poloshirt_stripped",
"U_C_Poloshirt_tricolour",
"U_C_Poor_1",
"U_C_Poor_2",
"U_C_Poor_shorts_1",
"U_C_Poor_shorts_2",
"U_C_PriestBody",
"U_C_Scavenger_1",
"U_C_Scavenger_2",
"U_C_Scientist",
"U_C_ShirtSurfer_shorts",
"U_C_Soldier_VR",
"U_C_TeeSurfer_shorts_1",
"U_C_TeeSurfer_shorts_2",
"U_C_WorkerCoveralls",
"U_C_WorkerOveralls",
"U_Competitor",
"U_I_C_Soldier_Bandit_1_F",
"U_I_C_Soldier_Bandit_2_F",
"U_I_C_Soldier_Bandit_3_F",
"U_I_C_Soldier_Bandit_4_F",
"U_I_C_Soldier_Bandit_5_F",
"U_I_C_Soldier_Camo_F",
"U_I_C_Soldier_Para_1_F",
"U_I_C_Soldier_Para_2_F",
"U_I_C_Soldier_Para_3_F",
"U_I_C_Soldier_Para_4_F",
"U_I_C_Soldier_Para_5_F",
"U_I_CombatUniform",
"U_I_CombatUniform_shortsleeve",
"U_I_CombatUniform_tshirt",
"U_I_FullGhillie_ard",
"U_I_FullGhillie_lsh",
"U_I_FullGhillie_sard",
"U_I_G_resistanceLeader_F",
"U_I_G_Story_Protagonist_F",
"U_I_GhillieSuit",
"U_I_HeliPilotCoveralls",
"U_I_OfficerUniform",
"U_I_pilotCoveralls",
"U_I_Protagonist_VR",
"U_I_Soldier_VR",
"U_I_Wetsuit",
"U_IG_Guerilla1_1",
"U_IG_Guerilla2_1",
"U_IG_Guerilla2_2",
"U_IG_Guerilla2_3",
"U_IG_Guerilla3_1",
"U_IG_Guerilla3_2",
"U_IG_Guerrilla_6_1",
"U_IG_leader",
"U_IG_Menelaos",
"U_KerryBody",
"U_Marshal",
"U_MillerBody",
"U_NikosAgedBody",
"U_NikosBody",
"U_O_CombatUniform_ocamo",
"U_O_CombatUniform_oucamo",
"U_O_FullGhillie_ard",
"U_O_FullGhillie_lsh",
"U_O_FullGhillie_sard",
"U_O_GhillieSuit",
"U_O_OfficerUniform_ocamo",
"U_O_PilotCoveralls",
"U_O_Protagonist_VR",
"U_O_Soldier_VR",
"U_O_SpecopsUniform_blk",
"U_O_SpecopsUniform_ocamo",
"U_O_T_FullGhillie_tna_F",
"U_O_T_Officer_F",
"U_O_T_Sniper_F",
"U_O_T_Soldier_F",
"U_O_V_Soldier_Viper_F",
"U_O_V_Soldier_Viper_hex_F",
"U_O_Wetsuit",
"U_OG_Guerilla1_1",
"U_OG_Guerilla2_1",
"U_OG_Guerilla2_2",
"U_OG_Guerilla2_3",
"U_OG_Guerilla3_1",
"U_OG_Guerilla3_2",
"U_OG_Guerrilla_6_1",
"U_OG_leader",
"U_OI_Scientist",
"U_OrestesBody",
"U_Rangemaster",
"U_VirtualMan_F",
"Uniform_Base"
];

View File

@ -0,0 +1,88 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
This list of vests will be excluded from the output of the relevant scripts.
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseVests = [
"Exile_Vest_Rebreather_AAF",
"Exile_Vest_Rebreather_CSAT",
"Exile_Vest_Rebreather_NATO",
"Exile_Vest_Snow",
"V_BandollierB_blk",
"V_BandollierB_cbr",
"V_BandollierB_ghex_F",
"V_BandollierB_khk",
"V_BandollierB_oli",
"V_BandollierB_rgr",
"V_Chestrig_blk",
"V_Chestrig_khk",
"V_Chestrig_oli",
"V_Chestrig_rgr",
"V_DeckCrew_base_F",
"V_DeckCrew_blue_F",
"V_DeckCrew_brown_F",
"V_DeckCrew_green_F",
"V_DeckCrew_red_F",
"V_DeckCrew_violet_F",
"V_DeckCrew_white_F",
"V_DeckCrew_yellow_F",
"V_HarnessO_brn",
"V_HarnessO_ghex_F",
"V_HarnessO_gry",
"V_HarnessOGL_brn",
"V_HarnessOGL_ghex_F",
"V_HarnessOGL_gry",
"V_HarnessOSpec_brn",
"V_HarnessOSpec_gry",
"V_I_G_resistanceLeader_F",
"V_PlateCarrier1_blk",
"V_PlateCarrier1_rgr",
"V_PlateCarrier1_rgr_noflag_F",
"V_PlateCarrier1_tna_F",
"V_PlateCarrier2_blk",
"V_PlateCarrier2_rgr",
"V_PlateCarrier2_rgr_noflag_F",
"V_PlateCarrier2_tna_F",
"V_PlateCarrier3_rgr",
"V_PlateCarrier_Kerry",
"V_PlateCarrierGL_blk",
"V_PlateCarrierGL_mtp",
"V_PlateCarrierGL_rgr",
"V_PlateCarrierGL_tna_F",
"V_PlateCarrierH_CTRG",
"V_PlateCarrierIA1_dgtl",
"V_PlateCarrierIA2_dgtl",
"V_PlateCarrierIAGL_dgtl",
"V_PlateCarrierIAGL_oli",
"V_PlateCarrierL_CTRG",
"V_PlateCarrierSpec_blk",
"V_PlateCarrierSpec_mtp",
"V_PlateCarrierSpec_rgr",
"V_PlateCarrierSpec_tna_F",
"V_Press_F",
"V_Rangemaster_belt",
"V_RebreatherB",
"V_RebreatherIA",
"V_RebreatherIR",
"V_TacChestrig_cbr_F",
"V_TacChestrig_grn_F",
"V_TacChestrig_oli_F",
"V_TacVest_blk",
"V_TacVest_blk_POLICE",
"V_TacVest_brn",
"V_TacVest_camo",
"V_TacVest_gen_F",
"V_TacVest_khk",
"V_TacVest_oli",
"V_TacVestCamo_khk",
"V_TacVestIR_blk",
"Vest_Camo_Base",
"Vest_NoCamo_Base"
];

View File

@ -0,0 +1,275 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
Lists weapons that should excluded from the output for the script.
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_knownWeapons = [
// Assault Rifles
"Rifle",
"Rifle_Base_F",
"Rifle_Short_Base_F",
"Rifle_Long_Base_F",
"arifle_Katiba_Base_F",
"arifle_Katiba_F",
"arifle_Katiba_C_F",
"mk20_base_F",
"arifle_Mk20_F",
"arifle_Mk20_plain_F",
"arifle_Mk20C_F",
"arifle_Mk20C_plain_F",
"arifle_MX_Base_F",
"arifle_MXC_F",
"arifle_MX_F",
"arifle_MXM_F",
"arifle_MXC_Black_F",
"arifle_MX_Black_F",
"arifle_MXM_Black_F",
"SDAR_base_F",
"arifle_SDAR_F",
"Tavor_base_F",
"arifle_TRG21_F",
"arifle_TRG20_F",
"pdw2000_base_F",
"hgun_PDW2000_F",
"arifle_MX_khk_F",
"arifle_MXC_khk_F",
"arifle_MXM_khk_F",
"arifle_AK12_base_F",
"arifle_AK12_F",
"arifle_AKM_base_F",
"arifle_AKM_F",
"arifle_AKS_base_F",
"arifle_AKS_F",
"arifle_CTAR_base_F",
"arifle_CTAR_blk_F",
"arifle_CTAR_hex_F",
"arifle_CTAR_ghex_F",
"arifle_CTARS_base_F",
"arifle_CTARS_blk_F",
"arifle_CTARS_hex_F",
"arifle_CTARS_ghex_F",
"arifle_SPAR_01_base_F",
"arifle_SPAR_01_blk_F",
"arifle_SPAR_01_khk_F",
"arifle_SPAR_01_snd_F",
"arifle_AK107",
"Exile_Weapon_AK107",
"arifle_AK74",
"Exile_Weapon_AK74",
"arifle_AK47",
"Exile_Weapon_AK47",
"arifle_AKM",
"Exile_Weapon_AKM",
"arifle_AKS",
"Exile_Weapon_AKS",
"arifle_AKS_Gold",
"Exile_Weapon_AKS_Gold",
"exile_arifle_M16A4",
"Exile_Weapon_M16A4",
"exile_arifle_M16A2",
"Exile_Weapon_M16A2",
"exile_arifle_M4",
"Exile_Weapon_M4",
"srifle_DMR",
"Exile_Weapon_DMR",
"ksvk",
"Exile_Weapon_ksvk",
"srifle_LeeEnfield",
"Exile_Weapon_LeeEnfield",
"srifle_CZ550_base",
"Exile_Weapon_CZ550",
"srifle_SVD",
"Exile_Weapon_SVD",
"srifle_SVD_des",
"Exile_Weapon_SVDCamo",
"srifle_VSSVintorez",
"Exile_Weapon_VSSVintorez",
"arifle_RPK74",
"Exile_Weapon_RPK",
"M1014",
"Exile_Weapon_M1014",
"arifle_AK_Base",
"arifle_AKS_Base",
"arifle_AK107_Base",
"exile_arifle_M16A4_base",
"srifle_CZ550_shit_1",
"srifle_CZ550_shit_2",
// Assault Rifles with GL
"arifle_Katiba_GL_F",
"arifle_Mk20_GL_F",
"arifle_Mk20_GL_plain_F",
"arifle_MX_GL_F",
"arifle_MX_GL_Black_F",
"arifle_TRG21_GL_F",
"arifle_MX_GL_khk_F",
"arifle_AK12_GL_base_F",
"arifle_AK12_GL_F",
"arifle_ARX_base_F",
"arifle_ARX_blk_F",
"arifle_ARX_ghex_F",
"arifle_ARX_hex_F",
"arifle_CTAR_GL_base_F",
"arifle_CTAR_GL_blk_F",
"arifle_CTAR_GL_hex_F",
"arifle_CTAR_GL_ghex_F",
"arifle_SPAR_01_GL_base_F",
"arifle_SPAR_01_GL_blk_F",
"arifle_SPAR_01_GL_khk_F",
"arifle_SPAR_01_GL_snd_F",
"arifle_AK107_GL",
"Exile_Weapon_AK107_GL",
"arifle_AK74_GL",
"Exile_Weapon_AK74_GL",
// LMGs
"LMG_Mk200_F",
"LMG_Zafir_F",
"arifle_MX_SW_F",
"arifle_MX_SW_Black_F",
"MMG_01_hex_F",
"MMG_02_camo_F",
"MMG_01_tan_F",
"MMG_02_black_F",
"MMG_02_sand_F",
"arifle_MX_SW_khk_F",
"LMG_03_base_F",
"LMG_03_F",
"arifle_SPAR_02_base_F",
"arifle_SPAR_02_blk_F",
"arifle_SPAR_02_khk_F",
"arifle_SPAR_02_snd_F",
"PKP",
"Exile_Weapon_PK",
"Pecheneg",
"Exile_Weapon_PKP",
"lmg_UK59",
// SMGs
"SMG_01_Base",
"SMG_01_F",
"SMG_02_base_F",
"SMG_02_F",
"SMG_05_base_F",
"SMG_05_F",
// Snipers
"DMR_01_base_F",
"srifle_DMR_01_F",
"EBR_base_F",
"srifle_EBR_F",
"GM6_base_F",
"srifle_GM6_F",
"srifle_GM6_camo_F",
"LRR_base_F",
"srifle_LRR_F",
"srifle_LRR_camo_F",
"DMR_02_base_F",
"DMR_03_base_F",
"DMR_04_base_F",
"DMR_05_base_F",
"DMR_06_base_F",
"srifle_DMR_02_F",
"srifle_DMR_02_camo_F",
"srifle_DMR_02_sniper_F",
"srifle_DMR_03_F",
"srifle_DMR_03_khaki_F",
"srifle_DMR_03_tan_F",
"srifle_DMR_03_multicam_F",
"srifle_DMR_03_woodland_F",
"srifle_DMR_04_F",
"srifle_DMR_04_Tan_F",
"srifle_DMR_05_blk_F",
"srifle_DMR_05_hex_F",
"srifle_DMR_05_tan_f",
"srifle_DMR_06_camo_F",
"srifle_DMR_06_olive_F",
"srifle_LRR_tna_F",
"srifle_GM6_ghex_F",
"DMR_07_base_F",
"srifle_DMR_07_blk_F",
"srifle_DMR_07_hex_F",
"srifle_DMR_07_ghex_F",
"arifle_SPAR_03_base_F",
"arifle_SPAR_03_blk_F",
"arifle_SPAR_03_khk_F",
"arifle_SPAR_03_snd_F",
"exile_weapons_m107",
"Exile_Weapon_m107",
// DMRs
// Launchers
"Launcher",
"Launcher_Base_F",
"launch_NLAW_F",
"launch_RPG32_F",
"launch_Titan_base",
"launch_Titan_short_base",
"launch_B_Titan_F",
"launch_I_Titan_F",
"launch_O_Titan_F",
"launch_Titan_F",
"launch_B_Titan_short_F",
"launch_I_Titan_short_F",
"launch_O_Titan_short_F",
"launch_Titan_short_F",
"launch_RPG32_ghex_F",
"launch_RPG7_F",
"launch_B_Titan_tna_F",
"launch_B_Titan_short_tna_F",
"launch_O_Titan_ghex_F",
"launch_O_Titan_short_ghex_F",
// Handguns
"HandGunBase",
"Pistol",
"Pistol_Base_F",
"hgun_ACPC2_F",
"hgun_P07_F",
"hgun_Pistol_heavy_01_F",
"hgun_Pistol_heavy_02_F",
"hgun_Rook40_F",
"hgun_Pistol_Signal_F",
"hgun_P07_khk_F",
"hgun_Pistol_01_F",
"Colt1911",
"Exile_Weapon_Colt1911",
"Makarov",
"Exile_Weapon_Makarov",
"TaurusTracker455",
"Exile_Weapon_Taurus",
"TaurusTracker455_gold",
"Exile_Weapon_TaurusGold",
"exile_rifle_SA61",
"Exile_Weapon_SA61",
"Makarov_light",
// Shotguns
// Throwables
"Exile_Melee_Abstract",
"Exile_Melee_Axe",
"Exile_Melee_Shovel",
"Exile_Melee_SledgeHammer"
// Unknown
];

View File

@ -0,0 +1,33 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
// load string library
nul=[] execVM "KRON_Strings.sqf";
DBD_priceConfiguration = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
DBD_includedWeaponMagazines = false;
player addAction["Run vehiclesConfig","vehiclesConfig.sqf"];
player addAction["Run vehiclesPricelist","vehiclesPriceList.sqf"];
player addAction["Run airConfig","airConfig.sqf"];
player addAction["Run airPriceList","airPriceList.sqf"];
player addAction["Run weaponsConfig","weaponsConfig.sqf"];
player addAction["Run weaponsPriceList","weaponsPriceList.sqf"];
player addAction["Run magazinesConfig","magazinesConfig.sqf"];
player addAction["Run magazinesPriceList","magazinesPriceList.sqf"];
player addAction["Run wearablesConfig","wearablesConfig.sqf"];
player addAction["Run wearablesPriceList","wearablesPriceList.sqf"];
player addAction["Run headgearConfig","headgearConfig.sqf"];
player addAction["Run headgearPriceList","headgearPriceList.sqf"];
player addAction["Run vestsConfig","vestsConfig.sqf"];
player addAction["Run vestsPriceList","vestsPriceList.sqf"];
player addAction["Run uniformsConfig","uniformsConfig.sqf"];
player addAction["Run uniformsPriceList","uniformsPriceList.sqf"];

View File

@ -2,7 +2,7 @@
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
@ -17,7 +17,7 @@ _cars = [];
_clipboard = "";
_wpnSmokeShell = []; // "B_IR_Grenade"
_wpnLauncherRound = [];
_wpnMagazines = [];
//_wpnMagazines = [];
_wpnVehicleAmmo = [];
_wpnMines = []; // "ATMine_Range_Mag" "SatchelCharge_Remote_Mag" "DemoCharge_Remote_Mag" "IEDUrbanSmall_Remote_Mag"
_isMagazine = true;
@ -41,10 +41,7 @@ _scannedMags = [];
};
};
}forEach _veh;
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
}forEach _wpnMagazines;
_clipBoard = _clipBoard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
@ -57,5 +54,11 @@ _clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
}forEach _wpnVehicleAmmo;
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Includes Weapon Magazines and anything not captured above%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Check for duplicates if you also run the extraction tool for weapons%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Which extracts all magazines available for player weapons%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
}forEach _wpnMagazines;
copyToClipboard _clipboard;

View File

@ -2,7 +2,7 @@
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
@ -37,17 +37,7 @@ _scannedMags = [];
};
};
}forEach _veh;
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 15; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 15; };%2",_x,endl];
};
}forEach _wpnMagazines;
_clipBoard = _clipBoard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
@ -82,5 +72,20 @@ _clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
};
}forEach _wpnVehicleAmmo;
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Includes Weapon Magazines and anything not captured above%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Check for duplicates if you also run the extraction tool for weapons%3",endl,endl,endl];
_clipBoard = _clipBoard + format["%1%2// Which extracts all magazines available for player weapons%3",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 15; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 15; };%2",_x,endl];
};
}forEach _wpnMagazines;
copyToClipboard _clipboard;
systemChat "Magazines Pricelist Generated";

View File

@ -2,7 +2,7 @@
Original script by KiloSwiss
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
Modified and enhanced by GhostriderDbD
5/22/17
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
@ -27,6 +27,10 @@ _wpnShotGun = []; //Shotguns
_wpnThrow = []; // throwables
_wpnUnknown = []; //Misc
_wpnMagazines = [];
_wpnOptics = [];
_wpnPointers = [];
_wpnMuzzles = [];
_aBaseNames = [];
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
@ -67,9 +71,30 @@ _wpList sort true;
case "Throw" : {_wpnThrow pushBack _baseName};
default{_wpnUnknown pushBack _baseName};
};
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
{
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
}forEach _ammoChoices;
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
{
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
}forEach _optics;
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
{
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
}forEach _pointers;
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
{
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
}forEach _muzzles;
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
{
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
}forEach _underbarrel;
};
};
//};
};
} foreach _wpList;
@ -125,7 +150,32 @@ _clipBoard = _clipBoard + format["%2%3// Throwables %1",endl,endl,endl];
_clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnUnknown;
_clipBoard = _clipBoard + format["%2%3// Magazines %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnMagazines;
_clipBoard = _clipBoard + format["%2%3// Optics %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnOptics;
_clipBoard = _clipBoard + format["%2%3// Muzzles %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnMuzzles;
_clipBoard = _clipBoard + format["%2%3// Pointers %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnPointers;
_clipBoard = _clipBoard + format["%2%3// Underbarrel %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnUnderbarrel;
copyToClipboard _clipBoard;

View File

@ -2,7 +2,7 @@
Original script by KiloSwiss
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
Modified and enhanced by GhostriderDbD
5/22/17
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
@ -27,6 +27,10 @@ _wpnShotGun = []; //Shotguns
_wpnThrow = []; // throwables
_wpnUnknown = []; //Misc
_wpnMagazines = [];
_wpnOptics = [];
_wpnPointers = [];
_wpnMuzzles = [];
_aBaseNames = [];
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
@ -67,6 +71,28 @@ _wpList sort true;
case "Throw" : {_wpnThrow pushBack _baseName};
default{_wpnUnknown pushBack _baseName};
};
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
{
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
}forEach _ammoChoices;
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
{
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
}forEach _optics;
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
{
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
}forEach _pointers;
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
{
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
}forEach _muzzles;
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
{
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
}forEach _underbarrel;
};
};
//};
@ -205,5 +231,65 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
};
}forEach _wpnUnknown;
_clipBoard = _clipBoard + format["%2%3// Magazines %1",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
};
}forEach _wpnMagazines;
_clipBoard = _clipBoard + format["%2%3// Optics %1",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
};
}forEach _wpnOptics;
_clipBoard = _clipBoard + format["%2%3// Muzzles %1",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
};
}forEach _wpnMuzzles;
_clipBoard = _clipBoard + format["%2%3// Pointers %1",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
};
}forEach _wpnPointers;
_clipBoard = _clipBoard + format["%2%3// Underbarrel %1",endl,endl,endl];
{
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
};
}forEach _wpnUnderbarrel;
copyToClipboard _clipBoard;
systemChat "Weapon Pricelist Generated";

View File

@ -15,15 +15,15 @@ _allWearableRoots = ["Pistol","Rifle","Launcher"];
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
_addedBaseNames = [];
_allBannedWearables = [];
_uniforms = []; //Assault Rifles
_headgear = []; //Assault Rifles with GL
_glasses = []; //Light Machine Guns
_masks = []; //Sub Machine Guns
_backpacks = []; //Designated Marksman Rifles
_uniforms = [];
_headgear = [];
_glasses = [];
_masks = [];
_backpacks = [];
_vests = [];
_goggles = []; //Sniper rifles
_binocs = []; //HandGuns/Pistols
_NVG = []; //Shotguns // NVGoggles
_goggles = [];
_binocs = [];
_NVG = [];
//_wpnThrow = []; // throwables
//_wpnUnknown = []; //Misc
@ -116,3 +116,5 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
}forEach _wpnUnknown;
*/
copyToClipboard _clipBoard;
_clipboard

View File

@ -15,15 +15,15 @@ _allWearableRoots = ["Pistol","Rifle","Launcher"];
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
_addedBaseNames = [];
_allBannedWearables = [];
_uniforms = []; //Assault Rifles
_headgear = []; //Assault Rifles with GL
_glasses = []; //Light Machine Guns
_masks = []; //Sub Machine Guns
_backpacks = []; //Designated Marksman Rifles
_uniforms = [];
_headgear = [];
_glasses = [];
_masks = [];
_backpacks = [];
_vests = [];
_goggles = []; //Sniper rifles
_binocs = []; //HandGuns/Pistols
_NVG = []; //Shotguns // NVGoggles
_goggles = [];
_binocs = [];
_NVG = [];
//_wpnThrow = []; // throwables
//_wpnUnknown = []; //Misc
@ -193,3 +193,5 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
}forEach _wpnUnknown;
*/
copyToClipboard _clipBoard;
_clipBoard

View File

@ -4,14 +4,21 @@ How To Use This Tool.
2) Start the Eden Editor.
3) Open the testConfig.Altis mission.
You are now ready to generate the class names. The tools copy these to the clipboard. All you need to do to generate a list of classnames is select the tool, Alt-Tab out of Arma, and paste the contents of the clipboard into a text editor such as notepad ++.
For each category (e.g., uniforms, weapons, vehicles) there are two tools.
One generates a simple list of class names which could be used when configuring traders for Exile.
The second will generate a pre-configured price list using either Epoch or Exile formats.
You can determine which format of price list will be generated by changing DBD_priceConfiguration in init.sqf.
You are now ready to generate the class names. The tools copy these to the clipboard.
All you need to do to generate a list of classnames:
- is select the tool for the category for which you want to generate lists of class names,
- Alt-Tab out of Arma,
- and paste the contents of the clipboard into a text editor such as notepad ++.
For each category (e.g., uniforms, weapons, vehicles) the tools will generate three types of lists:
- a list of class names in quotes, useful for putting together lists of items that are available through certain traders.
- pricelists formated in either Epoch or Exile format (which, of course need prices adjusted).
- a list suitable for addition to either the loot tables in Epoch or the loot table compiler in Exile.
You can determine which format of price list will be generated by changing GRG_mod in init.sqf.
Credits:
This tool uses Kronzky's string library: http://www.kronzky.info/snippets/strings/index.htm
The algorithm for extracting weapons class names is derived from one posted by KiloSwiss on EpochMod:
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
@ -21,7 +28,7 @@ License
http://creativecommons.org/licenses/by-nc-sa/4.0/
there is no charge to use these tools.
There is no charge to use these tools.
You may modify any of the tools as you like.
Please give credit to me and those listed above if redistributing modified code.

View File

@ -9,9 +9,19 @@
*/
// load string library
nul=[] execVM "KRON_Strings.sqf";
DBD_priceConfiguration = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
//nul=[] execVM "KRON_Strings.sqf";
GRG_mod = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
GRG_includedWeaponMagazines = false;
GRG_configuratorPathName = "ExcludedClassNames\";
#include "code\variables.sqf";
#include "code\functions.sqf";
player addAction ["Vehicles","vehicles.sqf", [], 9];
player addAction ["Weapons","weapons.sqf",[], 8.9];
player addAction ["Magazines","magazines.sqf", 8.7];
player addAction ["Wearables","wearables.sqf", 8.8];
/*
player addAction["Run vehiclesConfig","vehiclesConfig.sqf"];
player addAction["Run vehiclesPricelist","vehiclesPriceList.sqf"];
player addAction["Run airConfig","airConfig.sqf"];
@ -30,3 +40,6 @@ player addAction["Run vestsPriceList","vestsPriceList.sqf"];
player addAction["Run uniformsConfig","uniformsConfig.sqf"];
player addAction["Run uniformsPriceList","uniformsPriceList.sqf"];

View File

@ -0,0 +1,102 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseMagazines = [];
//#include "ExcludedClassNames\baseMagazines.sqf"
_cfgMagazines = (configfile >> "CfgMagazines") call BIS_fnc_getCfgSubClasses;
//_cfgMagazines sort true;
_sortedMagazines = [];
_clipboard = "";
_wpnSmokeShell = []; // "B_IR_Grenade"
_wpnLauncherRound = [];
_wpnMagazines = [];
_wpnVehicleAmmo = [];
_wpnMines = []; // "ATMine_Range_Mag" "SatchelCharge_Remote_Mag" "DemoCharge_Remote_Mag" "IEDUrbanSmall_Remote_Mag"
_isMagazine = true;
_scannedMags = [];
{
//diag_log format["Magazine = %1",_x];
_isKindOf = (_x isKindOF ["CA_Magazine", configFile >> "CfgMagazines"]);
if (true) then
{
//diag_log format["Acceptable Magazine = %1",_x];
if (_isKindOf and !(_x in _baseMagazines)) then
{
//diag_log format["Evaluated Magazine = %1",_x];
//if (!(_x isKindOF ["CA_LauncherMagazine", configFile >> "CfgMagazines"]) && !(_x isKindOF ["HandGrenade", configFile >> "CfgMagazines"]) && !(_x isKindOf ["VehicleMagazine", configFile >> "CfgMagazines"]) && !(_x isKindOf ["Exile_AbstractItem", configFile >> "CfgMagazines"])) then {_wpnMagazines pushBack _x};
if (_x isKindOF ["CA_LauncherMagazine", configFile >> "CfgMagazines"]) then {_wpnLauncherRound pushBack _x; _scannedMags pushBack _x;};
if(_x isKindOF ["HandGrenade", configFile >> "CfgMagazines"]) then {_wpnSmokeShell pushBack _x; _scannedMags pushBack _x;};
if (_x isKindOf ["VehicleMagazine", configFile >> "CfgMagazines"]) then {_wpnVehicleAmmo pushBack _x; _scannedMags pushBack _x;};
if (_x isKindOf ["Exile_AbstractItem", configFile >> "CfgMagazines"]) then { _scannedMags pushBack _x;}; // Ignore these for now
if !(_x in _scannedMags) then {_wpnMagazines pushBack _x; _scannedMags pushBack _x;};
};
};
}forEach _cfgMagazines;
if (GRG_mod == "Exile") then
{
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
};
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
_temp = [_wpnSmokeShell] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
_temp = [_wpnLauncherRound] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
_temp = [_wpnVehicleAmmo] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
};
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
_temp = [_wpnSmokeShell] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
_temp = [_wpnLauncherRound] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
_temp = [_wpnVehicleAmmo] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
};
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
_temp = [_wpnSmokeShell] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
_temp = [_wpnLauncherRound] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
_temp = [_wpnVehicleAmmo] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
copyToClipboard _clipboard;
hint format["Special Magazines Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];

View File

@ -8,7 +8,7 @@ class EditorData
toggles=1;
class ItemIDProvider
{
nextID=3;
nextID=5;
};
class Camera
{
@ -21,25 +21,17 @@ class EditorData
binarizationWanted=0;
addons[]=
{
"A3_Characters_F_Exp",
"A3_Soft_F_Exp_Offroad_01"
"A3_Characters_F"
};
class AddonsMetaData
{
class List
{
items=2;
items=1;
class Item0
{
className="A3_Characters_F_Exp";
name="Arma 3 Apex - Characters and Clothing";
author="Bohemia Interactive";
url="https://www.arma3.com";
};
class Item1
{
className="A3_Soft_F_Exp";
name="Arma 3 Apex - Unarmored Land Vehicles";
className="A3_Characters_F";
name="Arma 3 Alpha - Characters and Clothing";
author="Bohemia Interactive";
url="https://www.arma3.com";
};
@ -72,7 +64,7 @@ class Mission
};
class Entities
{
items=2;
items=1;
class Item0
{
dataType="Group";
@ -85,59 +77,22 @@ class Mission
dataType="Object";
class PositionInfo
{
position[]={15192.831,17.911438,16745.836};
position[]={14380.203,17.801437,15920.507};
};
side="West";
flags=6;
flags=7;
class Attributes
{
isPlayer=1;
};
id=2;
type="B_GEN_Commander_F";
id=4;
type="B_RangeMaster_F";
};
};
class Attributes
{
};
class CrewLinks
{
class LinkIDProvider
{
nextID=1;
};
class Links
{
items=1;
class Item0
{
linkID=0;
item0=2;
item1=1;
class CustomData
{
role=1;
};
};
};
};
id=0;
};
class Item1
{
dataType="Object";
class PositionInfo
{
position[]={15192.831,19.521503,16745.816};
};
side="West";
flags=6;
class Attributes
{
aiRadarUsage=-861312960;
};
id=1;
type="B_GEN_Offroad_01_gen_F";
id=3;
};
};
};

View File

@ -0,0 +1,96 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_vehiclesBase = [];
//#include "ExcludedClassNames\vehiclesBase.sqf"
_veh = (configfile >> "CfgVehicles") call BIS_fnc_getCfgSubClasses;
//_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_index = 0;
_cars = [];
_boats = [];
_air = [];
_exile = 0;
{
if (_x isKindOf "Car" && !(_x in _vehiclesBase)) then
{
_cars pushback _x;
};
if (_x isKindOf "Air" && !(_x in _vehiclesBase)) then
{
_air pushback _x;
};
if (_x isKindOf "Boat" && !(_x in _vehiclesBase)) then
{
_boat pushback _x;
};
}forEach _veh;
_clipBoard = "";
if (GRG_mod == "Exile") then
{
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
};
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
_temp = [_cars] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
_temp = [_boats] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
_temp = [_air] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
};
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
_temp = [_cars] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
_temp = [_boats] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
_temp = [_air] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
};
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
_temp = [_cars] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
_temp = [_boats] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
_temp = [_air] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
copyToClipboard _clipboard;
hint format["Vehicles Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];

View File

@ -0,0 +1,326 @@
/*
Original script by KiloSwiss
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
Modified and enhanced by GhostriderDbD
7/20/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_weaponsBase = [];
//#include "ExcludedClassNames\weaponsBase.sqf"
_knownWeapons = [];
_allWeaponRoots = ["Pistol","Rifle","Launcher"];
_allWeaponTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
_addedBaseNames = [];
_allBannedWeapons = [];
_wpnAR = []; //Assault Rifles
_wpnARG = []; //Assault Rifles with GL
_wpnLMG = []; //Light Machine Guns
_wpnSMG = []; //Sub Machine Guns
_wpnDMR = []; //Designated Marksman Rifles
_wpnLauncher = [];
_wpnSniper = []; //Sniper rifles
_wpnHandGun = []; //HandGuns/Pistols
_wpnShotGun = []; //Shotguns
_wpnThrow = []; // throwables
_wpnUnknown = []; //Misc
_wpnUnderbarrel = [];
_wpnMagazines = [];
_wpnOptics = [];
_wpnPointers = [];
_wpnMuzzles = [];
_aBaseNames = [];
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
//_wpList sort true;
{
_item = _x;
_isWeap = false;
_isKindOf = false;
{
_isKindOf = (_item isKindOF [_x, configFile >> "CfgWeapons"]);
if (_isKindOf) exitWith {};
} forEach _allWeaponRoots;
if (_isKindOf) then
{
//if (getnumber (configFile >> "cfgWeapons" >> _x >> "scope") == 2) then {
_itemType = _x call bis_fnc_itemType;
_itemCategory = _itemType select 1;
//diag_log format["pullWepClassNames:: _itemType = %1 || _itemCategory = %2",_itemType, _itemCategory];
if (((_itemType select 0) == "Weapon") && ((_itemType select 1) in _allWeaponTypes)) then {
_baseName = _x call BIS_fnc_baseWeapon;
//diag_log format["pullWepClassNames:: Processing for _baseName %3 || _itemType = %1 || _itemCategory = %2",_itemType, _itemCategory, _baseName];
if (!(_baseName in _addedBaseNames) && !(_baseName in _allBannedWeapons)) then {
_addedBaseNames pushBack _baseName;
switch(_itemCategory)do{
case "AssaultRifle" :{
if(count getArray(configfile >> "cfgWeapons" >> _baseName >> "muzzles") > 1)then[{_wpnARG pushBack _baseName},{_wpnAR pushBack _baseName}];
};
case "MachineGun" :{_wpnLMG pushBack _baseName};
case "SubmachineGun" :{_wpnSMG pushBack _baseName};
case "Rifle" :{_wpnDMR pushBack _baseName};
case "SniperRifle" :{_wpnSniper pushBack _baseName};
case "Shotgun" :{_wpnShotGun pushBack _baseName};
case "Handgun" :{_wpnHandGun pushBack _baseName};
case "MissileLauncher" :{_wpnLauncher pushBack _baseName};
case "RocketLauncher" :{_wpnLauncher pushBack _baseName};
case "DMR" : {_wpnDMR pushBack _baseName};
case "Throw" : {_wpnThrow pushBack _baseName};
default{_wpnUnknown pushBack _baseName};
};
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
{
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
}forEach _ammoChoices;
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
{
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
}forEach _optics;
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
{
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
}forEach _pointers;
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
{
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
}forEach _muzzles;
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
{
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
}forEach _underbarrel;
};
};
};
} foreach _wpList;
_clipboard = "";
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_TraderItemLists_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_ItemLists_Header;
};
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
_temp = [_wpnAR] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
_temp = [_wpnARG] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
_temp = [_wpnLMG] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
_temp = [_wpnSMG] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
_temp = [_wpnSniper] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
_temp = [_wpnDMR] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
_temp = [_wpnLauncher] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
_temp = [_wpnHandGun] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
_temp = [_wpnShotGun] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
_temp = [_wpnThrow] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
_temp = [_wpnUnknown] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
_temp = [_wpnMagazines] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
_temp = [_wpnOptics] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
_temp = [_wpnMuzzles] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
_temp = [_wpnPointers] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
_temp = [_wpnUnderbarrel] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
};
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
_temp = [_wpnAR] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
_temp = [_wpnARG] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
_temp = [_wpnLMG] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
_temp = [_wpnSMG] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
_temp = [_wpnSniper] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
_temp = [_wpnDMR] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
_temp = [_wpnLauncher] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
_temp = [_wpnHandGun] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
_temp = [_wpnShotGun] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
_temp = [_wpnThrow] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
_temp = [_wpnUnknown] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
_temp = [_wpnMagazines] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
_temp = [_wpnOptics] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
_temp = [_wpnMuzzles] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
_temp = [_wpnPointers] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
_temp = [_wpnUnderbarrel] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
};
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
_temp = [_wpnAR] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
_temp = [_wpnARG] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
_temp = [_wpnLMG] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
_temp = [_wpnSMG] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
_temp = [_wpnSniper] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
_temp = [_wpnDMR] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
_temp = [_wpnLauncher] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
_temp = [_wpnHandGun] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
_temp = [_wpnShotGun] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
_temp = [_wpnThrow] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
_temp = [_wpnUnknown] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
_temp = [_wpnMagazines] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
_temp = [_wpnOptics] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
_temp = [_wpnMuzzles] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
_temp = [_wpnPointers] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
_temp = [_wpnUnderbarrel] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
copyToClipboard _clipBoard;
hint format["Weapons Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];

View File

@ -0,0 +1,158 @@
/*
some of the algorithm/script is based on a script by KiloSwiss
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
Modified and enhanced by GhostriderDbD
5/22/17
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
_baseWearables = [];
//#include "baseWearables.sqf"
_allWearableRoots = ["Pistol","Rifle","Launcher"];
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
_addedBaseNames = [];
_allBannedWearables = [];
_uniforms = [];
_headgear = [];
_glasses = [];
_masks = [];
_backpacks = [];
_vests = [];
_goggles = [];
_binocs = [];
_NVG = [];
_wearablesList = (configfile >> "cfgGlasses") call BIS_fnc_getCfgSubClasses;
{
if ( !(_x in _baseWearables) && !(_x in _addedBaseNames) ) then
{
_addedBaseNames pushBack _x;
_glasses pushBack _x;
};
}forEach _wearablesList;
_aBaseNames = [];
_wearablesList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
//_wearablesList sort true;
{
if ( !(_x in _baseWearables) && !(_x in _addedBaseNames) ) then
{
_addedBaseNames pushBack _x;
// Uniforms
if (_x isKindOF ["Uniform_Base", configFile >> "CfgWeapons"]) then {_uniforms pushBack _x};
// Headgear / Masks
if ( (_x isKindOF ["HelmetBase", configFile >> "CfgWeapons"]) or (_x isKindOF ["H_HelmetB", configFile >> "CfgWeapons"]) ) then {_headgear pushBack _x};
// Goggles
if (_x isKindOF ["GoggleItem", configFile >> "CfgWeapons"]) then {_goggles pushBack _x};
// NVG
if (_x isKindOF ["NVGoggles", configFile >> "CfgWeapons"]) then {_NVG pushBack _x};
// Masks
// Vests
if ( (_x isKindOF ["Vest_Camo_Base", configFile >> "CfgWeapons"]) or (_x isKindOF ["Vest_NoCamo_Base", configFile >> "CfgWeapons"]) ) then {_vests pushBack _x};
// Backpacks
if (_x isKindOF ["Bag_Base", configFile >> "CfgVehicles"]) then {_backpacks pushBack _x};
};
} foreach _wearablesList;
_clipBoard = "";
if (GRG_mod == "Exile") then
{
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
};
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
_temp = [_uniforms] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
_temp = [_headgear] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
_temp = [_goggles] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
_temp = [_vests] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
_temp = [_backpacks] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
_temp = [_glasses] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
_temp = [_NVG] call fn_generateItemList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
};
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
_temp = [_uniforms] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
_temp = [_headgear] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
_temp = [_goggles] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
_temp = [_vests] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
_temp = [_backpacks] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
_temp = [_glasses] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
_temp = [_NVG] call fn_generatePriceList;
_clipBoard = _clipBoard + _temp;
if (GRG_mod == "Exile") then
{
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
};
if (GRG_mod == "Epoch") then
{
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
};
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
_temp = [_uniforms] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
_temp = [_headgear] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
_temp = [_goggles] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
_temp = [_vests] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
_temp = [_backpacks] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
_temp = [_glasses] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
_temp = [_NVG] call fn_generateLootTableEntries;
_clipBoard = _clipBoard + _temp;
copyToClipboard _clipBoard;
hint format["Wearables Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];