Initial Version. Tested for Exile with serveral mods loaded.

This commit is contained in:
Ghostrider-DbD- 2017-05-23 23:33:50 -04:00
parent 18b84e01c4
commit 11db18e066
23 changed files with 3435 additions and 0 deletions

View File

@ -0,0 +1,357 @@
// =========================================================================================================
//
// String Functions Library
// Version: 2.2.1
// Author: Kronzky
//
// =========================================================================================================
//
// Usage:
//
// • KRON_StrToArray - Converts a string into an array of characters:
// _array=[_str] call KRON_StrToArray
//
// • KRON_StrLen - Returns the length of the string
// _len=[_str] call KRON_StrLen
//
// • KRON_StrLeft - Returns l characters from the left side of the string
// _left=[_str,l] call KRON_StrLeft
//
// • KRON_StrRight - Returns l characters from the right side of the string
// _right=[_str,l] call KRON_StrRight
//
// • KRON_StrMid - Returns l characters from the string, starting at position p (zero-based)
// If l is not defined, the rest of the string is returned
// _mid=[_str,p,(l)] call KRON_StrMid
//
// • KRON_StrInStr - Tests whether string b is present in string a
// _found=[a,b] call KRON_StrInStr
//
// • KRON_StrIndex - Returns the position of string b in string a
// _index=[a,b] call KRON_StrIndex
//
// • KRON_StrUpper - Converts a string to uppercase characters
// _upper=[_str] call KRON_StrUpper
//
// • KRON_StrLower - Converts a string to lowercase characters
// _lower=[_str] call KRON_StrLower
//
// • KRON_Replace - Replaces every occurrence of string _old in string _str with string _new
// _index=[_str,_old,_new] call KRON_Replace
//
// • KRON_FindFlag - Checks a mixed array (_this) for the presence of a string (_str)
// _flg=[_this,_str] call KRON_FindFlag
//
// • KRON_getArg - Searches a mixed array (_this) for a matching string beginning with (_t), and returns the part after a separator (s)
// A default value can be defined as (_d).
// _arg=[_this,_t,(_d)] call KRON_getArg
//
// • KRON_getArgRev - Works like getArg, but search for the part *after* the colon, and return the part in front of it
// A default value can be defined as (_d).
// _arg=[_this,_t,(_d)] call KRON_getArgRev
//
// • KRON_Compare - Compares two elements and returns -1 if first is smaller, 1 if second is smaller, and 0 if equal
// If optional parameter "case" is given, capitalization is considered (upper before lowercase)
// _cmp=[_str1,_str2,("case")] call KRON_Compare
//
// • KRON_ArraySort - Sorts an array of strings in acsending order (Numbers before letters, uppercase before lowercase)
// If array is multi-dimensional, optional parameter (_idx) specifies which column is used for sorting
// If optional parameter "desc" is given, order is reversed
// If optional parameter "case" is given, capitalization is considered (upper before lowercase)
// _srt=[_arr,(_idx),("desc"),("case")] call KRON_ArraySort
//
// =========================================================================================================
if !(requiredVersion '1.09') exitWith {};
KRON_StrToArray = {
private["_in","_i","_arr","_out"];
_in=_this select 0;
_arr = toArray(_in);
_out=[];
for "_i" from 0 to (count _arr)-1 do {
_out=_out+[toString([_arr select _i])];
};
_out
};
KRON_StrLeft = {
private["_in","_len","_arr","_out"];
_in=_this select 0;
_len=(_this select 1)-1;
_arr=[_in] call KRON_StrToArray;
_out="";
if (_len>=(count _arr)) then {
_out=_in;
} else {
for "_i" from 0 to _len do {
_out=_out + (_arr select _i);
};
};
_out
};
KRON_StrLen = {
private["_in","_arr","_len"];
_in=_this select 0;
_arr=[_in] call KRON_StrToArray;
_len=count (_arr);
_len
};
KRON_StrRight = {
private["_in","_len","_arr","_i","_out"];
_in=_this select 0;
_len=_this select 1;
_arr=[_in] call KRON_StrToArray;
_out="";
if (_len>(count _arr)) then {_len=count _arr};
for "_i" from ((count _arr)-_len) to ((count _arr)-1) do {
_out=_out + (_arr select _i);
};
_out
};
KRON_StrMid = {
private["_in","_pos","_len","_arr","_i","_out"];
_in=_this select 0;
_pos=abs(_this select 1);
_arr=[_in] call KRON_StrToArray;
_len=count(_arr);
if ((count _this)>2) then {_len=(_this select 2)};
_out="";
if ((_pos+_len)>=(count _arr)) then {_len=(count _arr)-_pos};
if (_len>0) then {
for "_i" from _pos to (_pos+_len-1) do {
_out=_out + (_arr select _i);
};
};
_out
};
KRON_StrIndex = {
private["_hay","_ndl","_lh","_ln","_arr","_tmp","_i","_j","_out"];
_hay=_this select 0;
_ndl=_this select 1;
_out=-1;
_i=0;
if (_hay == _ndl) exitWith {0};
_lh=[_hay] call KRON_StrLen;
_ln=[_ndl] call KRON_StrLen;
if (_lh < _ln) exitWith {-1};
_arr=[_hay] call KRON_StrToArray;
for "_i" from 0 to (_lh-_ln) do {
_tmp="";
for "_j" from _i to (_i+_ln-1) do {
_tmp=_tmp + (_arr select _j);
};
if (_tmp==_ndl) exitWith {_out=_i};
};
_out
};
KRON_StrInStr = {
private["_out"];
_in=_this select 0;
_out=if (([_this select 0,_this select 1] call KRON_StrIndex)==-1) then {false} else {true};
_out
};
KRON_Replace = {
private["_str","_old","_new","_out","_tmp","_jm","_la","_lo","_ln","_i"];
_str=_this select 0;
_arr=toArray(_str);
_la=count _arr;
_old=_this select 1;
_new=_this select 2;
_na=[_new] call KRON_StrToArray;
_lo=[_old] call KRON_StrLen;
_ln=[_new] call KRON_StrLen;
_out="";
for "_i" from 0 to (count _arr)-1 do {
_tmp="";
if (_i <= _la-_lo) then {
for "_j" from _i to (_i+_lo-1) do {
_tmp=_tmp + toString([_arr select _j]);
};
};
if (_tmp==_old) then {
_out=_out+_new;
_i=_i+_lo-1;
} else {
_out=_out+toString([_arr select _i]);
};
};
_out
};
KRON_StrUpper = {
private["_in","_out"];
_in=_this select 0;
_out=toUpper(_in);
_out
};
KRON_StrLower = {
private["_in","_out"];
_in=_this select 0;
_out=toLower(_in);
_out
};
KRON_ArrayToUpper = {
private["_in","_i","_e","_out"];
_in=_this select 0;
_out=[];
if ((count _in)>0) then {
for "_i" from 0 to (count _in)-1 do {
_e=_in select _i;
if (typeName _e=="STRING") then {
_e=toUpper(_e);
};
_out set [_i,_e];
};
};
_out
};
KRON_Compare = {
private["_k","_n","_s","_i","_c","_t","_s1","_s2","_l1","_l2","_l"];
_k=[_this,"CASE"] call KRON_findFlag;
_n=0;
_s=0;
for "_i" from 0 to 1 do {
_t=_this select _i;
switch (typeName _t) do {
case "SCALAR": {_n=1};
case "BOOL": {_this set [_i,str(_t)]};
case "SIDE": {_this set [_i,str(_t)]};
case "STRING": {if !(_k) then {_this=[_this] call KRON_ArrayToUpper}};
default {_n=-1};
};
};
_s1 = _this select 0;
_s2 = _this select 1;
if (_n!=0) exitWith {
if (_n==1) then {
if (_s1<_s2) then {_s=-1} else {if (_s1>_s2) then {_s=1}};
};
_s
};
_s1 = toArray(_s1);
_s2 = toArray(_s2);
_l1 = count _s1;
_l2 = count _s2;
_l=if (_l1<_l2) then {_l1} else {_l2};
for "_i" from 0 to _l-1 do {
if ((_s1 select _i)<(_s2 select _i)) then {
_s=-1;
_i=_l;
} else {
if ((_s1 select _i)>(_s2 select _i)) then {
_s=1;
_i=_l;
};
};
};
if (_s==0) then {
if (_l1<_l2) then {
_s=-1;
} else {
if (_l1>_l2) then {_s=1};
};
};
_s
};
KRON_ArraySort = {
private["_a","_d","_k","_s","_i","_vo","_v1","_v2","_j","_c","_x"];
_a = +(_this select 0);
_d = if ([_this,"DESC"] call KRON_findFlag) then {-1} else {1};
_k = if ([_this,"CASE"] call KRON_findFlag) then {"CASE"} else {"nocase"};
_s = -1;
if (typeName (_a select 0)=="ARRAY") then {
_s=0;
if (((count _this)>1) && (typeName (_this select 1)=="SCALAR")) then {
_s=_this select 1;
};
};
for "_i" from 0 to (count _a)-1 do {
_vo = _a select _i;
_v1 = _vo;
if (_s>-1) then {_v1=_v1 select _s};
_j = 0;
for [{_j=_i-1},{_j>=0},{_j=_j-1}] do {
_v2 = _a select _j;
if (_s>-1) then {_v2=_v2 select _s};
_c=[_v2,_v1,_k] call KRON_Compare;
if (_c!=_d) exitWith {};
_a set [_j+1,_a select _j];
};
_a set [_j+1,_vo];
};
_a
};
KRON_findFlag = {
private["_in","_flg","_arr","_out"];
_in=_this select 0;
_flg=toUpper(_this select 1);
_arr=[_in] call KRON_ArrayToUpper;
_out=_flg in _arr;
_out
};
KRON_getArg = {
private["_in","_flg","_fl","_def","_arr","_i","_j","_as","_aa","_org","_p","_out"];
_in=_this select 0;
_flg=toUpper(_this select 1);
_fl=[_flg] call KRON_StrLen;
_out="";
if ((count _this)>2) then {_out=_this select 2};
_arr=[_in] call KRON_ArrayToUpper;
if ((count _arr)>0) then {
for "_i" from 0 to (count _in)-1 do {
_as = _arr select _i;
if (typeName _as=="STRING") then {
_aa = [_as] call KRON_StrToArray;
_p = _aa find ":";
if (_p==_fl) then {
if (([_as,_fl] call KRON_StrLeft)==_flg) then {
_org = _in select _i;
_out=[_org,_p+1] call KRON_StrMid;
};
};
};
};
};
_out
};
KRON_getArgRev = {
private["_in","_flg","_fl","_def","_arr","_i","_j","_as","_aa","_org","_p","_out"];
_in=_this select 0;
_flg=toUpper(_this select 1);
_fl=[_flg] call KRON_StrLen;
_out="";
if ((count _this)>2) then {_out=_this select 2};
_arr=[_in] call KRON_ArrayToUpper;
if ((count _arr)>0) then {
for "_i" from 0 to (count _in)-1 do {
_as = _arr select _i;
if (typeName _as=="STRING") then {
_aa = [_as] call KRON_StrToArray;
_p = _aa find ":";
if (_p+1==(count _aa)-_fl) then {
if (([_as,_p+1] call KRON_StrMid)==_flg) then {
_org = _in select _i;
_out=[_org,_p] call KRON_StrLeft;
};
};
};
};
};
_out
};

View File

@ -0,0 +1,27 @@
How To Use This Tool.
1) Start Arma 3 with any mods for which you wish to extract class names.
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.
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/
License
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/
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

@ -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,797 @@
/*
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
"100Rnd_580x42_Mag_F",
"100Rnd_580x42_Mag_Tracer_F",
"100Rnd_65x39_caseless_mag",
"100Rnd_65x39_caseless_mag_Tracer",
"100Rnd_762x54_PK_Tracer_Green",
"100Rnd_762x54_PK_Tracer_Red",
"100Rnd_762x54_PK_Tracer_White",
"100Rnd_762x54_PK_Tracer_Yellow",
"10Rnd_127x54_Mag",
"10Rnd_127x99_m107",
"10Rnd_338_Mag",
"10Rnd_50BW_Mag_F",
"10Rnd_762x51_Mag",
"10Rnd_762x54_Mag",
"10Rnd_762x54_SVD",
"10Rnd_765x17ball",
"10Rnd_93x64_DMR_05_Mag",
"10Rnd_9x21_Mag",
"10Rnd_9x39_VSS",
"10x_303_M",
"11Rnd_45ACP_Mag",
"120Rnd_CMFlare_Chaff_Magazine",
"120Rnd_CMFlareMagazine",
"130Rnd_338_Mag",
"150Rnd_556x45_Drum_Mag_F",
"150Rnd_556x45_Drum_Mag_Tracer_F",
"150Rnd_762x51_Box",
"150Rnd_762x51_Box_Tracer",
"150Rnd_762x54_Box",
"150Rnd_762x54_Box_Tracer",
"150Rnd_93x64_Mag",
"168Rnd_CMFlare_Chaff_Magazine",
"16Rnd_9x21_green_Mag",
"16Rnd_9x21_Mag",
"16Rnd_9x21_red_Mag",
"16Rnd_9x21_yellow_Mag",
"192Rnd_CMFlare_Chaff_Magazine",
"1Rnd_HE_Grenade_shell",
"1Rnd_Smoke_Grenade_shell",
"1Rnd_SmokeBlue_Grenade_shell",
"1Rnd_SmokeGreen_Grenade_shell",
"1Rnd_SmokeOrange_Grenade_shell",
"1Rnd_SmokePurple_Grenade_shell",
"1Rnd_SmokeRed_Grenade_shell",
"1Rnd_SmokeYellow_Grenade_shell",
"200Rnd_556x45_Box_F",
"200Rnd_556x45_Box_Red_F",
"200Rnd_556x45_Box_Tracer_F",
"200Rnd_556x45_Box_Tracer_Red_F",
"200Rnd_65x39_cased_Box",
"200Rnd_65x39_cased_Box_Tracer",
"20Rnd_556x45_UW_mag",
"20Rnd_650x39_Cased_Mag_F",
"20Rnd_762x51_DMR",
"20Rnd_762x51_Mag",
"20Rnd_765x17ball",
"20Rnd_9x39_VSS",
"20Rnd_Green_Tracer_762x51_DMR",
"20Rnd_Red_Tracer_762x51_DMR",
"20Rnd_Yellow_Tracer_762x51_DMR",
"240Rnd_CMFlare_Chaff_Magazine",
"240Rnd_CMFlareMagazine",
"300Rnd_CMFlare_Chaff_Magazine",
"30Rnd_45ACP_Mag_SMG_01",
"30Rnd_45ACP_Mag_SMG_01_Tracer_Green",
"30Rnd_45ACP_Mag_SMG_01_Tracer_Red",
"30Rnd_45ACP_Mag_SMG_01_Tracer_Yellow",
"30Rnd_545x39_AK",
"30Rnd_545x39_Mag_F",
"30Rnd_545x39_Mag_Green_F",
"30Rnd_545x39_Mag_Tracer_F",
"30Rnd_545x39_Mag_Tracer_Green_F",
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_green",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_580x42_Mag_F",
"30Rnd_580x42_Mag_Tracer_F",
"30Rnd_65x39_caseless_green",
"30Rnd_65x39_caseless_green_mag_Tracer",
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"30Rnd_762x39_AK47_M",
"30Rnd_762x39_Mag_F",
"30Rnd_762x39_Mag_Green_F",
"30Rnd_762x39_Mag_Tracer_F",
"30Rnd_762x39_Mag_Tracer_Green_F",
"30Rnd_9x21_Green_Mag",
"30Rnd_9x21_Mag",
"30Rnd_9x21_Mag_SMG_02",
"30Rnd_9x21_Mag_SMG_02_Tracer_Green",
"30Rnd_9x21_Mag_SMG_02_Tracer_Red",
"30Rnd_9x21_Mag_SMG_02_Tracer_Yellow",
"30Rnd_9x21_Red_Mag",
"30Rnd_9x21_Yellow_Mag",
"30Rnd_Green_Tracer_545x39_AK",
"30Rnd_Red_Tracer_545x39_AK",
"30Rnd_White_Tracer_545x39_AK",
"30Rnd_Yellow_Tracer_545x39_AK",
"3Rnd_HE_Grenade_shell",
"3Rnd_Smoke_Grenade_shell",
"3Rnd_SmokeBlue_Grenade_shell",
"3Rnd_SmokeGreen_Grenade_shell",
"3Rnd_SmokeOrange_Grenade_shell",
"3Rnd_SmokePurple_Grenade_shell",
"3Rnd_SmokeRed_Grenade_shell",
"3Rnd_SmokeYellow_Grenade_shell",
"3Rnd_UGL_FlareCIR_F",
"3Rnd_UGL_FlareGreen_F",
"3Rnd_UGL_FlareRed_F",
"3Rnd_UGL_FlareWhite_F",
"3Rnd_UGL_FlareYellow_F",
"45Rnd_Green_Tracer_545x39_RPK",
"50Rnd_UK59_762x54_Tracer_Green",
"556",
"5Rnd_127x108_APDS_KSVK",
"5Rnd_127x108_APDS_Mag",
"5Rnd_127x108_KSVK",
"5Rnd_127x108_Mag",
"5x_22_LR_17_HMR_M",
"60Rnd_CMFlare_Chaff_Magazine",
"60Rnd_CMFlareMagazine",
"6Rnd_45ACP",
"6Rnd_45ACP_Cylinder",
"6Rnd_GreenSignal_F",
"6Rnd_RedSignal_F",
"75Rnd_Green_Tracer_545x39_RPK",
"762",
"7Rnd_408_Mag",
"7Rnd_45ACP_1911",
"8Rnd_9x18_Makarov",
"8Rnd_9x18_MakarovSD",
"8Rnd_B_Beneli_74Pellets",
"8rnd_B_Beneli_74Slug",
"9Rnd_45ACP_Mag",
"Alsatain_Ck",
"Alsatian_Raw",
"APERSBoundingMine_Range_Mag",
"APERSMine_Range_Mag",
"APERSTripMine_Wire_Mag",
"ATMine_Range_Mag",
"B_IR_Grenade",
"burlap",
"CA_Magazine",
"CatShark_Ck",
"CatShark_Raw",
"Chicken_Ck",
"Chicken_Raw",
"ClaymoreDirectionalMine_Remote_Mag",
"cornerDoubleBarrier_1_kit",
"DemoCharge_Remote_Mag",
"domeSmall_Kit",
"doubleBarrier_1_kit",
"Exile_AbstractItem",
"Exile_Item_AlsatianSteak_Cooked",
"Exile_Item_AlsatianSteak_Raw",
"Exile_Item_Bandage",
"Exile_Item_BaseCameraKit",
"Exile_Item_BBQSandwich",
"Exile_Item_BBQSandwich_Cooked",
"Exile_Item_BeefParts",
"Exile_Item_Beer",
"Exile_Item_BreachingCharge_BigMomma",
"Exile_Item_BreachingCharge_Metal",
"Exile_Item_BreachingCharge_Wood",
"Exile_Item_Bullets_556",
"Exile_Item_Bullets_762",
"Exile_Item_BurlapSack",
"Exile_Item_BushKit_Green",
"Exile_Item_CamoTentKit",
"Exile_Item_CampFireKit",
"Exile_Item_Can_Empty",
"Exile_Item_CanOpener",
"Exile_Item_CarWheel",
"Exile_Item_CatFood",
"Exile_Item_CatFood_Cooked",
"Exile_Item_CatSharkFilet_Cooked",
"Exile_Item_CatSharkFilet_Raw",
"Exile_Item_Cement",
"Exile_Item_Cheathas",
"Exile_Item_ChickenFilet_Cooked",
"Exile_Item_ChickenFilet_Raw",
"Exile_Item_ChocolateMilk",
"Exile_Item_ChristmasTinner",
"Exile_Item_ChristmasTinner_Cooked",
"Exile_Item_CockONut",
"Exile_Item_Codelock",
"Exile_Item_ConcreteDoorKit",
"Exile_Item_ConcreteDoorwayKit",
"Exile_Item_ConcreteFloorKit",
"Exile_Item_ConcreteFloorPortKit",
"Exile_Item_ConcreteGateKit",
"Exile_Item_ConcreteStairsKit",
"Exile_Item_ConcreteSupportKit",
"Exile_Item_ConcreteWallKit",
"Exile_Item_ConcreteWindowKit",
"Exile_Item_CookingPot",
"Exile_Item_CordlessScrewdriver",
"Exile_Item_Defibrillator",
"Exile_Item_DogFood",
"Exile_Item_DogFood_Cooked",
"Exile_Item_DsNuts",
"Exile_Item_DuctTape",
"Exile_Item_EMRE",
"Exile_Item_EnergyDrink",
"Exile_Item_ExtensionCord",
"Exile_Item_FinSteak_Cooked",
"Exile_Item_FinSteak_Raw",
"Exile_Item_FireExtinguisher",
"Exile_Item_Flag",
"Exile_Item_FlagStolen1",
"Exile_Item_FlagStolen10",
"Exile_Item_FlagStolen2",
"Exile_Item_FlagStolen3",
"Exile_Item_FlagStolen4",
"Exile_Item_FlagStolen5",
"Exile_Item_FlagStolen6",
"Exile_Item_FlagStolen7",
"Exile_Item_FlagStolen8",
"Exile_Item_FlagStolen9",
"Exile_Item_FloodLightKit",
"Exile_Item_Foolbox",
"Exile_Item_FortificationUpgrade",
"Exile_Item_FuelBarrelEmpty",
"Exile_Item_FuelBarrelFull",
"Exile_Item_FuelCanisterEmpty",
"Exile_Item_FuelCanisterFull",
"Exile_Item_GloriousKnakworst",
"Exile_Item_GloriousKnakworst_Cooked",
"Exile_Item_GoatSteak_Cooked",
"Exile_Item_GoatSteak_Raw",
"Exile_Item_Grinder",
"Exile_Item_Hammer",
"Exile_Item_Handsaw",
"Exile_Item_HBarrier5Kit",
"Exile_Item_Heatpack",
"Exile_Item_InstaDoc",
"Exile_Item_InstantCoffee",
"Exile_Item_JunkMetal",
"Exile_Item_Knife",
"Exile_Item_Laptop",
"Exile_Item_Leaves",
"Exile_Item_LightBulb",
"Exile_Item_MacasCheese",
"Exile_Item_MacasCheese_Cooked",
"Exile_Item_MackerelFilet_Cooked",
"Exile_Item_MackerelFilet_Raw",
"Exile_Item_Magazine01",
"Exile_Item_Magazine02",
"Exile_Item_Magazine03",
"Exile_Item_Magazine04",
"Exile_Item_Matches",
"Exile_Item_MetalBoard",
"Exile_Item_MetalHedgehogKit",
"Exile_Item_MetalPole",
"Exile_Item_MetalScrews",
"Exile_Item_MetalWire",
"Exile_Item_MobilePhone",
"Exile_Item_Moobar",
"Exile_Item_MountainDupe",
"Exile_Item_MulletFilet_Cooked",
"Exile_Item_MulletFilet_Raw",
"Exile_Item_Noodles",
"Exile_Item_OilCanister",
"Exile_Item_OrnateFilet_Cooked",
"Exile_Item_OrnateFilet_Raw",
"Exile_Item_PlasticBottleCoffee",
"Exile_Item_PlasticBottleDirtyWater",
"Exile_Item_PlasticBottleEmpty",
"Exile_Item_PlasticBottleFreshWater",
"Exile_Item_PlasticBottleSaltWater",
"Exile_Item_Pliers",
"Exile_Item_PortableGeneratorKit",
"Exile_Item_PowerDrink",
"Exile_Item_RabbitSteak_Cooked",
"Exile_Item_RabbitSteak_Raw",
"Exile_Item_Raisins",
"Exile_Item_RazorWireKit",
"Exile_Item_RepairKitConcrete",
"Exile_Item_RepairKitMetal",
"Exile_Item_RepairKitWood",
"Exile_Item_RoosterFilet_Cooked",
"Exile_Item_RoosterFilet_Raw",
"Exile_Item_Rope",
"Exile_Item_RubberDuck",
"Exile_Item_SafeKit",
"Exile_Item_SalemaFilet_Cooked",
"Exile_Item_SalemaFilet_Raw",
"Exile_Item_Sand",
"Exile_Item_SandBagsKit_Corner",
"Exile_Item_SandBagsKit_Long",
"Exile_Item_SausageGravy",
"Exile_Item_SausageGravy_Cooked",
"Exile_Item_Screwdriver",
"Exile_Item_SeedAstics",
"Exile_Item_SheepSteak_Cooked",
"Exile_Item_SheepSteak_Raw",
"Exile_Item_Shovel",
"Exile_Item_SleepingMat",
"Exile_Item_SnakeFilet_Cooked",
"Exile_Item_SnakeFilet_Raw",
"Exile_Item_SprayCan_Black",
"Exile_Item_SprayCan_Blue",
"Exile_Item_SprayCan_Green",
"Exile_Item_SprayCan_Red",
"Exile_Item_SprayCan_White",
"Exile_Item_Storagecratekit",
"Exile_Item_Surstromming",
"Exile_Item_Surstromming_Cooked",
"Exile_Item_ThermalScannerPro",
"Exile_Item_ToiletPaper",
"Exile_Item_TunaFilet_Cooked",
"Exile_Item_TunaFilet_Raw",
"Exile_Item_TurtleFilet_Cooked",
"Exile_Item_TurtleFilet_Raw",
"Exile_Item_Vishpirin",
"Exile_Item_WaterBarrelKit",
"Exile_Item_WaterCanisterDirtyWater",
"Exile_Item_WaterCanisterEmpty",
"Exile_Item_WeaponParts",
"Exile_Item_WireFenceKit",
"Exile_Item_WoodDoorKit",
"Exile_Item_WoodDoorwayKit",
"Exile_Item_WoodDrawBridgeKit",
"Exile_Item_WoodFloorKit",
"Exile_Item_WoodFloorPortKit",
"Exile_Item_WoodFloorPortSmallKit",
"Exile_Item_WoodGateKit",
"Exile_Item_WoodLadderKit",
"Exile_Item_WoodLog",
"Exile_Item_WoodPlank",
"Exile_Item_WoodStairsKit",
"Exile_Item_WoodSticks",
"Exile_Item_WoodSupportKit",
"Exile_Item_WoodWallHalfKit",
"Exile_Item_WoodWallKit",
"Exile_Item_WoodWindowKit",
"Exile_Item_WorkBenchKit",
"Exile_Item_Wrench",
"Exile_Magazine_100Rnd_762x54_PK_Green",
"Exile_Magazine_10Rnd_127x99_m107",
"Exile_Magazine_10Rnd_127x99_m107_Bullet_Cam_Mag",
"Exile_Magazine_10Rnd_303",
"Exile_Magazine_10Rnd_338_Bullet_Cam_Mag",
"Exile_Magazine_10Rnd_762x54",
"Exile_Magazine_10Rnd_765x17_SA61",
"Exile_Magazine_10Rnd_93x64_DMR_05_Bullet_Cam_Mag",
"Exile_Magazine_10Rnd_9x39",
"Exile_Magazine_20Rnd_762x51_DMR",
"Exile_Magazine_20Rnd_762x51_DMR_Green",
"Exile_Magazine_20Rnd_762x51_DMR_Red",
"Exile_Magazine_20Rnd_762x51_DMR_Yellow",
"Exile_Magazine_20Rnd_765x17_SA61",
"Exile_Magazine_20Rnd_9x39",
"Exile_Magazine_30Rnd_545x39_AK",
"Exile_Magazine_30Rnd_545x39_AK_Green",
"Exile_Magazine_30Rnd_545x39_AK_Red",
"Exile_Magazine_30Rnd_545x39_AK_White",
"Exile_Magazine_30Rnd_545x39_AK_Yellow",
"Exile_Magazine_30Rnd_762x39_AK",
"Exile_Magazine_45Rnd_545x39_RPK_Green",
"Exile_Magazine_5Rnd_127x108_APDS_Bullet_Cam_Mag",
"Exile_Magazine_5Rnd_127x108_APDS_KSVK",
"Exile_Magazine_5Rnd_127x108_APDS_KSVK_Bullet_Cam_Mag",
"Exile_Magazine_5Rnd_127x108_Bullet_Cam_Mag",
"Exile_Magazine_5Rnd_127x108_KSVK",
"Exile_Magazine_5Rnd_127x108_KSVK_Bullet_Cam_Mag",
"Exile_Magazine_5Rnd_22LR",
"Exile_Magazine_6Rnd_45ACP",
"Exile_Magazine_75Rnd_545x39_RPK_Green",
"Exile_Magazine_7Rnd_408_Bullet_Cam_Mag",
"Exile_Magazine_7Rnd_45ACP",
"Exile_Magazine_8Rnd_74Pellets",
"Exile_Magazine_8Rnd_74Slug",
"Exile_Magazine_8Rnd_9x18",
"Exile_Magazine_Battery",
"Exile_Magazine_Boing",
"Exile_Magazine_Swing",
"Exile_Magazine_Swoosh",
"Fin_Ck",
"Fin_Raw",
"FlareGreen_F",
"FlareRed_F",
"FlareWhite_F",
"FlareYellow_F",
"gasPump_Kit",
"Goat_Ck",
"Goat_Raw",
"I_IR_Grenade",
"IEDLandBig_Remote_Mag",
"IEDLandSmall_Remote_Mag",
"IEDUrbanBig_Remote_Mag",
"IEDUrbanSmall_Remote_Mag",
"in005_1Rnd_12Gauge_Pellets",
"in005_1Rnd_12Gauge_Slug",
"in005_2Rnd_12Gauge_Pellets",
"in005_2Rnd_12Gauge_Slug",
"ladder_1_kit",
"Laserbatteries",
"longBarrier_1_kit",
"longDoubleBarrier_1_kit",
"Mackrel_Ck",
"Mackrel_Raw",
"metalShelves_Kit",
"MiniGrenade",
"Mullet_Ck",
"Mullet_Raw",
"O_IR_Grenade",
"Ornate_Ck",
"Ornate_Raw",
"Rabbit_Ck",
"Rabbit_Raw",
"rds_dummy_mag",
"Rooster_Ck",
"Rooster_Raw",
"Salema_Ck",
"Salema_Raw",
"SatchelCharge_Remote_Mag",
"Sheep_Ck",
"Sheep_Raw",
"singleBarrier_1_kit",
"SLAMDirectionalMine_Wire_Mag",
"smallBunker_1_kit",
"Snake_Ck",
"Snake_Raw",
"spraycan_blk",
"spraycan_blu",
"spraycan_grn",
"spraycan_red",
"spraycan_wht",
"tallStoneTower_1_kit",
"tallStoneWall_1_kit",
"tallTower_1_kit",
"Tuna_Ck",
"Tuna_Raw",
"Turtle_Ck",
"Turtle_Raw",
"UGL_FlareCIR_F",
"UGL_FlareGreen_F",
"UGL_FlareRed_F",
"UGL_FlareWhite_F",
"UGL_FlareYellow_F",
"wpn_prt",
// Grenades, Smoke Grenades, Chemlights and Flares
"Chemlight_blue",
"Chemlight_green",
"Chemlight_red",
"Chemlight_yellow",
"Exile_Item_ZipTie",
"HandGrenade",
"HandGrenade_Stone",
"SmokeShell",
"SmokeShellBlue",
"SmokeShellGreen",
"SmokeShellOrange",
"SmokeShellPurple",
"SmokeShellRed",
"SmokeShellYellow",
"TinCanGrenade_01",
// Launcher Rounds
"CA_LauncherMagazine",
"NLAW_F",
"RPG32_F",
"RPG32_HE_F",
"RPG7_F",
"Titan_AA",
"Titan_AP",
"Titan_AT",
// Vehicle Ammo
"1000Rnd_20mm_shells",
"1000Rnd_25mm_shells",
"1000Rnd_65x39_Belt",
"1000Rnd_65x39_Belt_Green",
"1000Rnd_65x39_Belt_Tracer_Green",
"1000Rnd_65x39_Belt_Tracer_Red",
"1000Rnd_65x39_Belt_Tracer_Yellow",
"1000Rnd_65x39_Belt_Yellow",
"1000Rnd_762x51_Belt",
"1000Rnd_762x51_Belt_Green",
"1000Rnd_762x51_Belt_Red",
"1000Rnd_762x51_Belt_T_Green",
"1000Rnd_762x51_Belt_T_Red",
"1000Rnd_762x51_Belt_T_Yellow",
"1000Rnd_762x51_Belt_Yellow",
"1000Rnd_Gatling_30mm_Plane_CAS_01_F",
"100Rnd_105mm_HEAT_MP",
"100Rnd_127x107_DSHKM_M",
"100Rnd_127x99_M",
"100Rnd_127x99_mag",
"100Rnd_127x99_mag_Tracer_Green",
"100Rnd_127x99_mag_Tracer_Red",
"100Rnd_127x99_mag_Tracer_Yellow",
"100Rnd_Green_Tracer_127x107_DSHKM_M",
"100Rnd_Green_Tracer_127x99_M",
"100Rnd_Green_Tracer_762x54_PKT_M",
"100Rnd_Red_Tracer_127x99_M",
"100Rnd_Red_Tracer_762x54_PKT_M",
"100Rnd_White_Tracer_127x99_M",
"100Rnd_White_Tracer_762x54_PKT_M",
"100Rnd_Yellow_Tracer_127x99_M",
"100Rnd_Yellow_Tracer_762x54_PKT_M",
"12Rnd_125mm_HE",
"12Rnd_125mm_HE_T_Green",
"12Rnd_125mm_HE_T_Red",
"12Rnd_125mm_HE_T_Yellow",
"12Rnd_125mm_HEAT",
"12Rnd_125mm_HEAT_T_Green",
"12Rnd_125mm_HEAT_T_Red",
"12Rnd_125mm_HEAT_T_Yellow",
"12Rnd_230mm_rockets",
"12Rnd_missiles",
"12Rnd_PG_missiles",
"140Rnd_30mm_MP_shells",
"140Rnd_30mm_MP_shells_Tracer_Green",
"140Rnd_30mm_MP_shells_Tracer_Red",
"140Rnd_30mm_MP_shells_Tracer_Yellow",
"14Rnd_120mm_HE_shells",
"14Rnd_120mm_HE_shells_Tracer_Green",
"14Rnd_120mm_HE_shells_Tracer_Red",
"14Rnd_120mm_HE_shells_Tracer_Yellow",
"14Rnd_80mm_rockets",
"1500Rnd_Green_Tracer_762x54_PKT_M",
"1500Rnd_Red_Tracer_762x54_PKT_M",
"1500Rnd_White_Tracer_762x54_PKT_M",
"1500Rnd_Yellow_Tracer_762x54_PKT_M",
"150Rnd_127x107_DSHKM_M",
"150Rnd_127x108_Ball",
"160Rnd_40mm_APFSDS_Tracer_Red_shells",
"16Rnd_120mm_HE_shells",
"16Rnd_120mm_HE_shells_Tracer_Green",
"16Rnd_120mm_HE_shells_Tracer_Red",
"16Rnd_120mm_HE_shells_Tracer_Yellow",
"1Rnd_GAA_missiles",
"1Rnd_GAT_missiles",
"2000Rnd_20mm_shells",
"2000Rnd_65x39_Belt",
"2000Rnd_65x39_Belt_Green",
"2000Rnd_65x39_Belt_Tracer_Green",
"2000Rnd_65x39_Belt_Tracer_Green_Splash",
"2000Rnd_65x39_Belt_Tracer_Red",
"2000Rnd_65x39_Belt_Tracer_Yellow",
"2000Rnd_65x39_Belt_Tracer_Yellow_Splash",
"2000Rnd_65x39_Belt_Yellow",
"2000Rnd_762x51_Belt",
"2000Rnd_762x51_Belt_Green",
"2000Rnd_762x51_Belt_Red",
"2000Rnd_762x51_Belt_T_Green",
"2000Rnd_762x51_Belt_T_Red",
"2000Rnd_762x51_Belt_T_Yellow",
"2000Rnd_762x51_Belt_Yellow",
"2000Rnd_Green_Tracer_762x54_PKT_M",
"2000Rnd_Red_Tracer_762x54_PKT_M",
"2000Rnd_White_Tracer_762x54_PKT_M",
"2000Rnd_Yellow_Tracer_762x54_PKT_M",
"200Rnd_127x99_mag",
"200Rnd_127x99_mag_Tracer_Green",
"200Rnd_127x99_mag_Tracer_Red",
"200Rnd_127x99_mag_Tracer_Yellow",
"200Rnd_20mm_G_belt",
"200Rnd_40mm_G_belt",
"200Rnd_65x39_Belt",
"200Rnd_65x39_Belt_Tracer_Green",
"200Rnd_65x39_Belt_Tracer_Red",
"200Rnd_65x39_Belt_Tracer_Yellow",
"200Rnd_762x51_Belt",
"200Rnd_762x51_Belt_Green",
"200Rnd_762x51_Belt_Red",
"200Rnd_762x51_Belt_T_Green",
"200Rnd_762x51_Belt_T_Red",
"200Rnd_762x51_Belt_T_Yellow",
"200Rnd_762x51_Belt_Yellow",
"200Rnd_Green_Tracer_762x54_PKT_M",
"200Rnd_Red_Tracer_762x54_PKT_M",
"200Rnd_White_Tracer_762x54_PKT_M",
"200Rnd_Yellow_Tracer_762x54_PKT_M",
"20Rnd_105mm_HEAT_MP",
"20Rnd_105mm_HEAT_MP_T_Green",
"20Rnd_105mm_HEAT_MP_T_Red",
"20Rnd_105mm_HEAT_MP_T_Yellow",
"20Rnd_Rocket_03_AP_F",
"20Rnd_Rocket_03_HE_F",
"240Rnd_40mm_GPR_Tracer_Red_shells",
"24Rnd_125mm_APFSDS",
"24Rnd_125mm_APFSDS_T_Green",
"24Rnd_125mm_APFSDS_T_Red",
"24Rnd_125mm_APFSDS_T_Yellow",
"24Rnd_missiles",
"24Rnd_PG_missiles",
"250Rnd_30mm_APDS_shells",
"250Rnd_30mm_APDS_shells_Tracer_Green",
"250Rnd_30mm_APDS_shells_Tracer_Red",
"250Rnd_30mm_APDS_shells_Tracer_Yellow",
"250Rnd_30mm_HE_shells",
"250Rnd_30mm_HE_shells_Tracer_Green",
"250Rnd_30mm_HE_shells_Tracer_Red",
"250Rnd_Green_Tracer_762x54_PKT_M",
"250Rnd_Red_Tracer_762x54_PKT_M",
"250Rnd_White_Tracer_762x54_PKT_M",
"250Rnd_Yellow_Tracer_762x54_PKT_M",
"28Rnd_120mm_APFSDS_shells",
"28Rnd_120mm_APFSDS_shells_Tracer_Green",
"28Rnd_120mm_APFSDS_shells_Tracer_Red",
"28Rnd_120mm_APFSDS_shells_Tracer_Yellow",
"29Rnd_30mm_AGS30",
"2Rnd_155mm_Mo_Cluster",
"2Rnd_155mm_Mo_guided",
"2Rnd_155mm_Mo_LG",
"2Rnd_AAA_missiles",
"2Rnd_AAA_missiles_MI02",
"2Rnd_Bomb_03_F",
"2Rnd_GAT_missiles",
"2Rnd_GBU12_LGB",
"2Rnd_GBU12_LGB_MI10",
"2Rnd_LG_scalpel",
"2Rnd_LG_scalpel_hidden",
"2Rnd_Missile_AA_03_F",
"2Rnd_Missile_AA_04_F",
"2Rnd_Mk82",
"2Rnd_Mk82_MI08",
"300Rnd_20mm_shells",
"300Rnd_25mm_shells",
"30Rnd_120mm_APFSDS_shells",
"30Rnd_120mm_APFSDS_shells_Tracer_Green",
"30Rnd_120mm_APFSDS_shells_Tracer_Red",
"30Rnd_120mm_APFSDS_shells_Tracer_Yellow",
"30Rnd_120mm_HE_shells",
"30Rnd_120mm_HE_shells_Tracer_Green",
"30Rnd_120mm_HE_shells_Tracer_Red",
"30Rnd_120mm_HE_shells_Tracer_Yellow",
"32Rnd_120mm_APFSDS_shells",
"32Rnd_120mm_APFSDS_shells_Tracer_Green",
"32Rnd_120mm_APFSDS_shells_Tracer_Red",
"32Rnd_120mm_APFSDS_shells_Tracer_Yellow",
"32Rnd_155mm_Mo_shells",
"32Rnd_40mm_G_belt",
"38Rnd_80mm_rockets",
"4000Rnd_20mm_Tracer_Red_shells",
"40Rnd_105mm_APFSDS",
"40Rnd_105mm_APFSDS_T_Green",
"40Rnd_105mm_APFSDS_T_Red",
"40Rnd_105mm_APFSDS_T_Yellow",
"40Rnd_20mm_G_belt",
"40Rnd_40mm_APFSDS_shells",
"40Rnd_40mm_APFSDS_Tracer_Green_shells",
"40Rnd_40mm_APFSDS_Tracer_Red_shells",
"40Rnd_40mm_APFSDS_Tracer_Yellow_shells",
"450Rnd_127x108_Ball",
"4Rnd_AAA_missiles",
"4Rnd_AAA_missiles_MI02",
"4Rnd_AAT_missiles",
"4Rnd_Bomb_04_F",
"4Rnd_GAA_missiles",
"4Rnd_LG_Jian",
"4Rnd_Missile_AGM_01_F",
"4Rnd_Titan_long_missiles",
"5000Rnd_762x51_Belt",
"5000Rnd_762x51_Yellow_Belt",
"500Rnd_127x99_mag",
"500Rnd_127x99_mag_Tracer_Green",
"500Rnd_127x99_mag_Tracer_Red",
"500Rnd_127x99_mag_Tracer_Yellow",
"500Rnd_65x39_Belt",
"500Rnd_65x39_Belt_Tracer_Green_Splash",
"500Rnd_65x39_Belt_Tracer_Red_Splash",
"500Rnd_65x39_Belt_Tracer_Yellow_Splash",
"500Rnd_Cannon_30mm_Plane_CAS_02_F",
"50Rnd_127x107_DSHKM_M",
"50Rnd_127x108_Ball",
"5Rnd_GAT_missiles",
"60Rnd_30mm_APFSDS_shells",
"60Rnd_30mm_APFSDS_shells_Tracer_Green",
"60Rnd_30mm_APFSDS_shells_Tracer_Red",
"60Rnd_30mm_APFSDS_shells_Tracer_Yellow",
"60Rnd_40mm_GPR_shells",
"60Rnd_40mm_GPR_Tracer_Green_shells",
"60Rnd_40mm_GPR_Tracer_Red_shells",
"60Rnd_40mm_GPR_Tracer_Yellow_shells",
"64Rnd_40mm_G_belt",
"680Rnd_35mm_AA_shells",
"680Rnd_35mm_AA_shells_Tracer_Green",
"680Rnd_35mm_AA_shells_Tracer_Red",
"680Rnd_35mm_AA_shells_Tracer_Yellow",
"6Rnd_155mm_Mo_AT_mine",
"6Rnd_155mm_Mo_mine",
"6Rnd_155mm_Mo_smoke",
"6Rnd_AAT_missiles",
"6Rnd_LG_scalpel",
"6Rnd_Missile_AGM_02_F",
"7Rnd_Rocket_04_AP_F",
"7Rnd_Rocket_04_HE_F",
"8Rnd_82mm_Mo_Flare_white",
"8Rnd_82mm_Mo_guided",
"8Rnd_82mm_Mo_LG",
"8Rnd_82mm_Mo_shells",
"8Rnd_82mm_Mo_Smoke_white",
"8Rnd_LG_scalpel",
"96Rnd_40mm_G_belt",
"magazine_Bomb_GBU12_x1",
"magazine_Bomb_KAB250_x1",
"magazine_Cannon_Phalanx_x1550",
"magazine_Fighter01_Gun20mm_AA_x450",
"magazine_Fighter02_Gun30mm_AA_x180",
"magazine_Fighter04_Gun20mm_AA_x150",
"magazine_Fighter04_Gun20mm_AA_x250",
"magazine_Missile_AA_R73_x1",
"magazine_Missile_AA_R77_x1",
"magazine_Missile_AGM_02_x1",
"magazine_Missile_AGM_KH25_x1",
"magazine_Missile_AMRAAM_C_x1",
"magazine_Missile_AMRAAM_D_x1",
"magazine_Missile_BIM9X_x1",
"magazine_Missile_rim116_x21",
"magazine_Missile_rim162_x8",
"PylonMissile_1Rnd_AAA_missiles",
"PylonMissile_1Rnd_Bomb_03_F",
"PylonMissile_1Rnd_Bomb_04_F",
"PylonMissile_1Rnd_GAA_missiles",
"PylonMissile_1Rnd_LG_scalpel",
"PylonMissile_1Rnd_Missile_AA_03_F",
"PylonMissile_1Rnd_Missile_AA_04_F",
"PylonMissile_1Rnd_Mk82_F",
"PylonMissile_Bomb_GBU12_x1",
"PylonMissile_Bomb_KAB250_x1",
"PylonMissile_Missile_AA_R73_x1",
"PylonMissile_Missile_AA_R77_INT_x1",
"PylonMissile_Missile_AA_R77_x1",
"PylonMissile_Missile_AGM_02_x1",
"PylonMissile_Missile_AGM_02_x2",
"PylonMissile_Missile_AGM_KH25_INT_x1",
"PylonMissile_Missile_AGM_KH25_x1",
"PylonMissile_Missile_AMRAAM_C_x1",
"PylonMissile_Missile_AMRAAM_D_INT_x1",
"PylonMissile_Missile_AMRAAM_D_x1",
"PylonMissile_Missile_BIM9X_x1",
"PylonRack_12Rnd_missiles",
"PylonRack_12Rnd_PG_missiles",
"PylonRack_19Rnd_Rocket_Skyfire",
"PylonRack_1Rnd_AAA_missiles",
"PylonRack_1Rnd_GAA_missiles",
"PylonRack_1Rnd_LG_scalpel",
"PylonRack_1Rnd_Missile_AA_03_F",
"PylonRack_1Rnd_Missile_AA_04_F",
"PylonRack_1Rnd_Missile_AGM_01_F",
"PylonRack_1Rnd_Missile_AGM_02_F",
"PylonRack_20Rnd_Rocket_03_AP_F",
"PylonRack_20Rnd_Rocket_03_HE_F",
"PylonRack_3Rnd_LG_scalpel",
"PylonRack_3Rnd_Missile_AGM_02_F",
"PylonRack_4Rnd_LG_scalpel",
"PylonRack_7Rnd_Rocket_04_AP_F",
"PylonRack_7Rnd_Rocket_04_HE_F",
"PylonRack_Bomb_GBU12_x2",
"PylonRack_Missile_AGM_02_x1",
"PylonRack_Missile_AGM_02_x2",
"PylonRack_Missile_AMRAAM_C_x1",
"PylonRack_Missile_AMRAAM_C_x2",
"PylonRack_Missile_AMRAAM_D_x1",
"PylonRack_Missile_AMRAAM_D_x2",
"PylonRack_Missile_BIM9X_x1",
"PylonRack_Missile_BIM9X_x2",
"PylonWeapon_2000Rnd_65x39_belt",
"PylonWeapon_300Rnd_20mm_shells",
"rds_car_FirstAidKit_proxy",
"rds_car_warning_triangle_to11_proxy",
"rds_empty_proxy",
"rds_Sparewheel_gaz24_proxy",
"rds_Sparewheel_golf4_proxy",
"rds_Sparewheel_ikarus_proxy",
"rds_Sparewheel_lada_proxy",
"rds_Sparewheel_octavia_proxy",
"rds_Sparewheel_s1203_proxy",
"SmokeLauncherMag",
"SmokeLauncherMag_boat",
"VehicleMagazine"
];

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,138 @@
/*
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
"arifle_AK107",
"arifle_AK12_F",
"arifle_AK47",
"arifle_AK74",
"arifle_AKM",
"arifle_AKM_F",
"arifle_AKS",
"arifle_AKS_F",
"arifle_AKS_Gold",
"arifle_CTAR_blk_F",
"arifle_CTAR_ghex_F",
"arifle_CTAR_hex_F",
"arifle_CTARS_blk_F",
"arifle_CTARS_ghex_F",
"arifle_CTARS_hex_F",
"arifle_Katiba_F",
"arifle_Katiba_C_F",
"arifle_Mk20_F",
"arifle_Mk20_plain_F",
"arifle_Mk20C_F",
"arifle_Mk20C_plain_F",
"arifle_MX_F",
"arifle_MX_Black_F",
"arifle_MX_khk_F",
"arifle_MXC_F",
"arifle_MXC_Black_F",
"arifle_MXC_khk_F",
"arifle_MXM_Black_F",
"arifle_MXM_F",
"arifle_MXM_khk_F",
"arifle_RPK74",
"arifle_SDAR_F",
"arifle_SPAR_01_blk_F",
"arifle_SPAR_01_khk_F",
"arifle_SPAR_01_snd_F",
"arifle_TRG20_F",
"arifle_TRG21_F",
"exile_arifle_M16A2",
"exile_arifle_M16A4",
"exile_arifle_M4",
"Exile_Weapon_AK107",
"Exile_Weapon_AK47",
"Exile_Weapon_AK74",
"Exile_Weapon_AKM",
"Exile_Weapon_AKS",
"Exile_Weapon_AKS_Gold",
"Exile_Weapon_CZ550",
"Exile_Weapon_DMR",
"Exile_Weapon_ksvk",
"Exile_Weapon_LeeEnfield",
"Exile_Weapon_M1014",
"Exile_Weapon_M16A2",
"Exile_Weapon_M16A4",
"Exile_Weapon_M4",
"Exile_Weapon_RPK",
"Exile_Weapon_SVD",
"Exile_Weapon_SVDCamo",
"Exile_Weapon_VSSVintorez",
"hgun_PDW2000_F",
"ksvk",
"M1014",
"srifle_CZ550_base",
"srifle_CZ550_shit_1",
"srifle_CZ550_shit_2",
"srifle_DMR",
"srifle_LeeEnfield",
"srifle_SVD",
"srifle_SVD_des",
"srifle_VSSVintorez",
// Assault Rifles with GL
"arifle_AK107_GL",
"arifle_AK12_GL_F",
"arifle_AK74_GL",
"arifle_ARX_blk_F",
"arifle_ARX_ghex_F",
"arifle_ARX_hex_F",
"arifle_CTAR_GL_blk_F",
"arifle_CTAR_GL_ghex_F",
"arifle_CTAR_GL_hex_F",
"arifle_Katiba_GL_F",
"arifle_Mk20_GL_F",
"arifle_Mk20_GL_plain_F",
"arifle_MX_GL_F",
"arifle_MX_GL_Black_F",
"arifle_MX_GL_khk_F",
"arifle_SPAR_01_GL_blk_F",
"arifle_SPAR_01_GL_khk_F",
"arifle_SPAR_01_GL_snd_F",
"arifle_TRG21_GL_F",
"Exile_Weapon_AK107_GL",
"Exile_Weapon_AK74_GL",
// LMGs
"arifle_MX_SW_Black_F",
"arifle_MX_SW_F",
"arifle_MX_SW_khk_F",
"arifle_SPAR_02_blk_F",
"arifle_SPAR_02_khk_F",
"arifle_SPAR_02_snd_F",
"Exile_Weapon_PK",
"Exile_Weapon_PKP",
"LMG_03_F",
"LMG_Mk200_F",
"lmg_UK59",
"LMG_Zafir_F",
"MMG_01_hex_F",
"MMG_01_tan_F",
"MMG_02_black_F",
"MMG_02_camo_F",
"MMG_02_sand_F",
"Pecheneg",
"PKP",
// SMGs
"SMG_01_F",
"SMG_02_F",
"SMG_05_F"
];

View File

@ -0,0 +1,39 @@
/*
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/
*/
_baseHeadgear = [];
#include "baseHeadgear.sqf"
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_index = 0;
_cars = [];
_exile = 0;
_clipboard = "";
{
_isKindOf = (_x isKindOF ["HelmetBase", configFile >> "CfgWeapons"]) or (_x isKindOF ["H_HelmetB", configFile >> "CfgWeapons"]);
if (_isKindOf and !(_x in _baseHeadgear)) then
{
_cars pushback _x;
diag_log format["%1",_x];
_index = _index + 1;
_left = [_x,5] call KRON_StrLeft;
if (_left in ["Exile"]) then {
_exile = _exile + 1;
systemChat format["%1",_x];
};
_clipboard = _clipboard + format['"%1",%2',_x,endl];
};
}forEach _veh;
systemChat format["number of type of Vests = %1", _index];
systemChat format["number of Exile Vests = %1",_exile];
copyToClipboard _clipboard;;

View File

@ -0,0 +1,38 @@
/*
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/
*/
_baseHeadgear = [];
#include "baseHeadgear.sqf"
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
_cars = [];
_clipboard = "";
{
_isKindOf = (_x isKindOF ["HelmetBase", configFile >> "CfgWeapons"]) or (_x isKindOF ["H_HelmetB", configFile >> "CfgWeapons"]);
if (_isKindOf and !(_x in _baseHeadgear)) then
{
_cars pushback _x;
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 50; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 50; };%2",_x,endl];
};
};
}forEach _veh;
systemChat format["number of type of Man = %1", _index];
copyToClipboard _clipboard;
systemChat "Headgear Pricelist Generated";

26
testConfig.Altis/init.sqf Normal file
View File

@ -0,0 +1,26 @@
/*
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.
player addAction["Run vehiclesConfig","vehiclesConfig.sqf"];
player addAction["Run vehiclesPricelist","vehiclesPriceList.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"];
player addAction["Run weaponsConfig","weaponsConfig.sqf"];
player addAction["Run weaponsPriceList","weaponsPriceList.sqf"];
player addAction["Run magazinesConfig","magazinesConfig.sqf"];
player addAction["Run magazinesPriceList","magazinesPriceList.sqf"];

View File

@ -0,0 +1,63 @@
/*
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/
*/
_baseMagazines = [];
#include "baseMagazines.sqf"
//systemChat format["%1%2 end",_baseUniforms,endl];
//uiSleep 5;
_veh = (configfile >> "CfgMagazines") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_cars = [];
_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 _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];
}forEach _wpnSmokeShell;
_clipBoard = _clipBoard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
}forEach _wpnLauncherRound;
_clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
}forEach _wpnVehicleAmmo;
copyToClipboard _clipboard;

View File

@ -0,0 +1,86 @@
/*
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/
*/
_baseMagazines = [];
#include "baseMagazines.sqf"
_veh = (configfile >> "CfgMagazines") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_cars = [];
_clipboard = "";
_wpnSmokeShell = []; // "B_IR_Grenade"
_wpnLauncherRound = [];
_wpnMagazines = [];
_wpnVehicleAmmo = [];
_wpnMines = []; // "ATMine_Range_Mag" "SatchelCharge_Remote_Mag" "DemoCharge_Remote_Mag" "IEDUrbanSmall_Remote_Mag"
_isMagazine = true;
_scannedMags = [];
{
_isKindOf = (_x isKindOF ["CA_Magazine", configFile >> "CfgMagazines"]);
if (true) then
{
if (_isKindOf and !(_x in _baseMagazines)) then
{
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 _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
{
_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 _wpnSmokeShell;
_clipBoard = _clipBoard + format["%1%2// Launcher Rounds%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 _wpnLauncherRound;
_clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",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 _wpnVehicleAmmo;
copyToClipboard _clipboard;
systemChat "Magazines Pricelist Generated";

View File

@ -0,0 +1,143 @@
version=53;
class EditorData
{
moveGridStep=1;
angleGridStep=0.2617994;
scaleGridStep=1;
autoGroupingDist=10;
toggles=1;
class ItemIDProvider
{
nextID=3;
};
class Camera
{
pos[]={44081.895,20,-9231.0098};
dir[]={-0.00050094543,0,1};
up[]={0,1,0};
aside[]={1,0,0.00050094543};
};
};
binarizationWanted=0;
addons[]=
{
"A3_Characters_F_Exp",
"A3_Soft_F_Exp_Offroad_01"
};
class AddonsMetaData
{
class List
{
items=2;
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";
author="Bohemia Interactive";
url="https://www.arma3.com";
};
};
};
randomSeed=14371957;
class ScenarioData
{
author="GhostRider=DbD=";
};
class Mission
{
class Intel
{
timeOfChanges=1800.0002;
startWeather=0.30000001;
startWind=0.1;
startWaves=0.1;
forecastWeather=0.30000001;
forecastWind=0.1;
forecastWaves=0.1;
forecastLightnings=0.1;
year=2035;
month=6;
day=24;
hour=12;
minute=0;
startFogDecay=0.014;
forecastFogDecay=0.014;
};
class Entities
{
items=2;
class Item0
{
dataType="Group";
side="West";
class Entities
{
items=1;
class Item0
{
dataType="Object";
class PositionInfo
{
position[]={15192.831,17.911438,16745.836};
};
side="West";
flags=6;
class Attributes
{
isPlayer=1;
};
id=2;
type="B_GEN_Commander_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";
};
};
};

105
testConfig.Altis/strtst.sqf Normal file
View File

@ -0,0 +1,105 @@
/*** Convert to array ***/
_str="1234efg890";
_array=[_str] call KRON_StrtoArray;
_arr1=format['StrtoArray: ["%1"] => %2',_str,_array]; // returns ["1","2","3","4","e","f","g","8","9","0"]
/*** String length ***/
_str="abcdefg";
_len=[_str] call KRON_StrLen;
_len1=format['StrLen: ["%1"] => %2',_str,_len]; // returns '7'
/*** Get left part of string ***/
_str="1234567890";
_len=3;
_left=[_str,_len] call KRON_StrLeft;
_left1=format['StrLeft: ["%1",%2] => "%3"',_str,_len,_left]; // returns '123'
/*** Get right part of string ***/
_str="1234567890";
_len=5;
_right=[_str,_len] call KRON_StrRight;
_right1=format['StrRight: ["%1",%2] => "%3"',_str,_len,_right]; // returns '67890'
/*** Get Substring ***/
_str="1234567890";
_pos=3;
_len=3;
_substr=[_str,_pos,_len] call KRON_StrMid;
_mid1=format['StrMid: ["%1",%2,%3] => "%4"',_str,_pos,_len,_substr]; // returns '345'
_str="1234567890";
_pos=4;
_substr=[_str,_pos] call KRON_StrMid;
_mid2=format['StrMid: ["%1",%2] => "%3"',_str,_pos,_substr]; // returns '567890'
/*** Test for string ***/
_str="1234567890";
_ins="345";
_found=[_str,_ins] call KRON_StrInStr;
_instr1=format['StrInStr: ["%1","%2"] => %3',_str,_ins,_found]; // returns 'true'
_str="1234567890";
_ins="345";
_found=[_str,_ins] call KRON_StrIndex;
_instr2=format['StrIndex: ["%1","%2"] => %3',_str,_ins,_found]; // returns 2
/*** Convert to uppercase ***/
_str="abc123XYZ";
_ucase=[_str] call KRON_StrUpper;
_upper=format['StrUpper: ["%1"] => "%2"',_str,_ucase]; // returns 'ABC123XYZ'
_str="abc123XYZ";
_lcase=[_str] call KRON_StrLower;
_lower=format['StrLower: ["%1"] => "%2"',_str,_lcase]; // returns 'abc123xyz'
/*** Read flag ***/
_arr=[this,1,"nogo",true];
_arg=[_arr,"NOGO"] call KRON_FindFlag;
_flg=format['FindFlag: [[this,1,"nogo",true],"NOGO"] => "%1"',_arg]; // returns true
/*** Read arguments ***/
_arr=[this,1,"left:100","right:200"];
_arg=parseNumber([_arr,"Left"] call KRON_getArg);
_arg1=format['getArg: [[this,1,"left:100","right:200"],"Left"] => "%2"',_str,_arg]; // returns '100'
_arr=[this,1,"left:100","right:200"];
_arg=parseNumber([_arr,"Right"] call KRON_getArg);
_arg2=format['getArg: [[this,1,"left:100","right:200"],"Right"] => "%2"',_str,_arg]; // returns '200'
/*** Compare ***/
_str1="abc";
_str2="bde";
_cmp=[_str1,_str2] call KRON_Compare;
_cmp1=format['Compare: ["%1","%2"] => "%3"',_str1,_str2,_cmp]; // returns -1
/*** Sort array***/
_arr=["x","aaa","100","abc"];
_srt=[_arr] call KRON_ArraySort;
_srt1=format['ArraySort: [%1] => %2',_arr,_srt]; // returns ["100","aaa","abc","x"]
_arr=["x","aaa","100","abc"];
_srt=[_arr,"desc"] call KRON_ArraySort;
_srt2=format['ArraySort: [%1,"desc"] => %2',_arr,_srt]; // returns ["x","abc","aaa","100"]
_arr=[["Jim",300,false],["Joe",100,false],["Jack",200,true]];
_srt=[_arr] call KRON_ArraySort;
_srt3=format['ArraySort: [[%1]] => %2',_arr,_srt]; // returns [["Jack",200,true],["Jim",300,false],["Joe",100,false]]
_arr=[["Jim",300,false],["Joe",100,false],["Jack",200,true]];
_srt=[_arr,1,"desc"] call KRON_ArraySort;
_srt4=format['ArraySort: [[%1],1,"desc"] => %2',_arr,_srt]; // returns [["Jim",300,false],["Jack",200,true],["Joe",100,false]]
/*** Output results ***/
hintc format['%1\n%2\n%3\n%4\n%5\n%6\n%7\n%8\n%9\n%10\n%11\n%12\n%13\n%14\n%15\n%16\n%17\n%18',_arr1,_len1,_left1,_right1,_mid1,_mid2,_instr1,_instr2,_upper,_lower,_flg,_arg1,_arg2,_cmp1,_srt1,_srt2,_srt3,_srt4];

View File

@ -0,0 +1,41 @@
/*
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/
*/
_baseUniforms = [];
#include "baseUniforms.sqf"
//systemChat format["%1%2 end",_baseUniforms,endl];
//uiSleep 5;
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_index = 0;
_cars = [];
_exile = 0;
_clipboard = "";
{
_isKindOf = _x isKindOF ["Uniform_Base", configFile >> "CfgWeapons"];
if (_isKindOf and !(_x in _baseUniforms)) then
{
_cars pushback _x;
diag_log format["%1",_x];
_index = _index + 1;
_left = [_x,5] call KRON_StrLeft;
if (_left in ["Exile"]) then {
_exile = _exile + 1;
systemChat format["%1",_x];
};
_clipboard = _clipboard + format['"%1",%2',_x,endl];
};
}forEach _veh;
systemChat format["number of type of Uniform_Base = %1", _index];
systemChat format["number of Exile uniforms = %1",_exile];
copyToClipboard _clipboard;

View File

@ -0,0 +1,34 @@
/*
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/
*/
_baseUniforms = [];
#include "baseUniforms.sqf"
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_cars = [];
_clipboard = "";
{
_isKindOf = _x isKindOF ["Uniform_Base", configFile >> "CfgWeapons"];
if (_isKindOf and !(_x in _baseUniforms)) then
{
_cars pushback _x;
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 50; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 50; };%2",_x,endl];
};
};
}forEach _veh;
copyToClipboard _clipboard;
systemChat "Uniforms Pricelist Generated";

View File

@ -0,0 +1,597 @@
/*
Class Name Extraction Tool
By GhostriderDbD
For Arma 3
Lists vehicles that should be excluded from the output of 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/
*/
_vehiclesBase = [
"APC_Wheeled_01_base_F",
"APC_Wheeled_02_base_F",
"APC_Wheeled_03_base_F",
"B_APC_Wheeled_01_base_F",
"B_APC_Wheeled_01_cannon_F",
"B_CTRG_LSV_01_light_F",
"B_G_Offroad_01_armed_F",
"B_G_Offroad_01_F",
"B_G_Offroad_01_repair_F",
"B_G_Quadbike_01_F",
"B_G_Van_01_fuel_F",
"B_G_Van_01_transport_F",
"B_GEN_Offroad_01_gen_F",
"B_LSV_01_armed_black_F",
"B_LSV_01_armed_F",
"B_LSV_01_armed_olive_F",
"B_LSV_01_armed_sand_F",
"B_LSV_01_unarmed_black_F",
"B_LSV_01_unarmed_F",
"B_LSV_01_unarmed_olive_F",
"B_LSV_01_unarmed_sand_F",
"B_MRAP_01_F",
"B_MRAP_01_gmg_F",
"B_MRAP_01_hmg_F",
"B_Quadbike_01_F",
"B_T_APC_Wheeled_01_cannon_F",
"B_T_LSV_01_armed_black_F",
"B_T_LSV_01_armed_CTRG_F",
"B_T_LSV_01_armed_F",
"B_T_LSV_01_armed_olive_F",
"B_T_LSV_01_armed_sand_F",
"B_T_LSV_01_unarmed_black_F",
"B_T_LSV_01_unarmed_CTRG_F",
"B_T_LSV_01_unarmed_F",
"B_T_LSV_01_unarmed_olive_F",
"B_T_LSV_01_unarmed_sand_F",
"B_T_MRAP_01_F",
"B_T_MRAP_01_gmg_F",
"B_T_MRAP_01_hmg_F",
"B_T_Quadbike_01_F",
"B_T_Truck_01_ammo_F",
"B_T_Truck_01_box_F",
"B_T_Truck_01_covered_F",
"B_T_Truck_01_fuel_F",
"B_T_Truck_01_medical_F",
"B_T_Truck_01_mover_F",
"B_T_Truck_01_Repair_F",
"B_T_Truck_01_transport_F",
"B_Truck_01_ammo_F",
"B_Truck_01_box_F",
"B_Truck_01_covered_F",
"B_Truck_01_fuel_F",
"B_Truck_01_medical_F",
"B_Truck_01_mover_F",
"B_Truck_01_Repair_F",
"B_Truck_01_transport_F",
"B_UGV_01_F",
"B_UGV_01_rcws_F",
"BRDM2_HQ_Base",
"BRDM2_HQ_CHDKZ",
"BTR40_base_EP1",
"BTR40_MG_base_EP1",
"BTR40_MG_TK_GUE_EP1",
"BTR40_MG_TK_INS_EP1",
"BTR40_TK_GUE_EP1",
"BTR40_TK_INS_EP1",
"Bus",
"C_Hatchback_01_beigecustom_F",
"C_Hatchback_01_black_F",
"C_Hatchback_01_blue_F",
"C_Hatchback_01_bluecustom_F",
"C_Hatchback_01_dark_F",
"C_Hatchback_01_F",
"C_Hatchback_01_green_F",
"C_Hatchback_01_grey_F",
"C_Hatchback_01_sport_blue_F",
"C_Hatchback_01_sport_F",
"C_Hatchback_01_sport_green_F",
"C_Hatchback_01_sport_grey_F",
"C_Hatchback_01_sport_orange_F",
"C_Hatchback_01_sport_red_F",
"C_Hatchback_01_sport_white_F",
"C_Hatchback_01_white_F",
"C_Hatchback_01_yellow_F",
"C_Kart_01_black_F",
"C_Kart_01_Blu_F",
"C_Kart_01_F",
"C_Kart_01_F_Base",
"C_Kart_01_Fuel_F",
"C_Kart_01_green_F",
"C_Kart_01_orange_F",
"C_Kart_01_Red_F",
"C_Kart_01_Vrana_F",
"C_Kart_01_white_F",
"C_Kart_01_yellow_F",
"C_Offroad_01_blue_F",
"C_Offroad_01_bluecustom_F",
"C_Offroad_01_darkred_F",
"C_Offroad_01_F",
"C_Offroad_01_red_F",
"C_Offroad_01_repair_F",
"C_Offroad_01_sand_F",
"C_Offroad_01_white_F",
"C_Offroad_02_unarmed_black_F",
"C_Offroad_02_unarmed_blue_F",
"C_Offroad_02_unarmed_F",
"C_Offroad_02_unarmed_green_F",
"C_Offroad_02_unarmed_orange_F",
"C_Offroad_02_unarmed_red_F",
"C_Offroad_02_unarmed_white_F",
"C_Offroad_default_F",
"C_Offroad_luxe_F",
"C_Offroad_stripped_F",
"C_Quadbike_01_black_F",
"C_Quadbike_01_blue_F",
"C_Quadbike_01_F",
"C_Quadbike_01_red_F",
"C_Quadbike_01_white_F",
"C_SUV_01_F",
"C_Truck_02_box_F",
"C_Truck_02_covered_F",
"C_Truck_02_fuel_F",
"C_Truck_02_transport_F",
"C_Van_01_box_F",
"C_Van_01_box_red_F",
"C_Van_01_box_white_F",
"C_Van_01_fuel_F",
"C_Van_01_fuel_red_F",
"C_Van_01_fuel_red_v2_F",
"C_Van_01_fuel_white_F",
"C_Van_01_fuel_white_v2_F",
"C_Van_01_transport_F",
"C_Van_01_transport_red_F",
"C_Van_01_transport_white_F",
"Car",
"Car_F",
"Exile_Bike_QuadBike_Abstract",
"Exile_Bike_QuadBike_Black",
"Exile_Bike_QuadBike_Blue",
"Exile_Bike_QuadBike_Csat",
"Exile_Bike_QuadBike_Fia",
"Exile_Bike_QuadBike_Guerilla01",
"Exile_Bike_QuadBike_Guerilla02",
"Exile_Bike_QuadBike_Nato",
"Exile_Bike_QuadBike_Red",
"Exile_Bike_QuadBike_White",
"Exile_Car_BRDM2_HQ",
"Exile_Car_BRDM2_HQ_Abstract",
"Exile_Car_BTR40_Abstract",
"Exile_Car_BTR40_Camo",
"Exile_Car_BTR40_Green",
"Exile_Car_BTR40_MG_Abstract",
"Exile_Car_BTR40_MG_Camo",
"Exile_Car_BTR40_MG_Green",
"Exile_Car_Golf_Abstract",
"Exile_Car_Golf_Black",
"Exile_Car_Golf_Red",
"Exile_Car_Hatchback_Abstract",
"Exile_Car_Hatchback_Beige",
"Exile_Car_Hatchback_BeigeCustom",
"Exile_Car_Hatchback_Black",
"Exile_Car_Hatchback_Blue",
"Exile_Car_Hatchback_BlueCustom",
"Exile_Car_Hatchback_Dark",
"Exile_Car_Hatchback_Green",
"Exile_Car_Hatchback_Grey",
"Exile_Car_Hatchback_Rusty1",
"Exile_Car_Hatchback_Rusty2",
"Exile_Car_Hatchback_Rusty3",
"Exile_Car_Hatchback_Sport_Abstract",
"Exile_Car_Hatchback_Sport_Admin",
"Exile_Car_Hatchback_Sport_Beige",
"Exile_Car_Hatchback_Sport_Blue",
"Exile_Car_Hatchback_Sport_Green",
"Exile_Car_Hatchback_Sport_Orange",
"Exile_Car_Hatchback_Sport_Red",
"Exile_Car_Hatchback_Sport_White",
"Exile_Car_Hatchback_Yellow",
"Exile_Car_HEMMT",
"Exile_Car_HEMMT_Abstract",
"Exile_Car_HMMWV_M134_Abstract",
"Exile_Car_HMMWV_M134_Desert",
"Exile_Car_HMMWV_M134_Green",
"Exile_Car_HMMWV_M2_Abstract",
"Exile_Car_HMMWV_M2_Desert",
"Exile_Car_HMMWV_M2_Green",
"Exile_Car_HMMWV_MEV_Abstract",
"Exile_Car_HMMWV_MEV_Desert",
"Exile_Car_HMMWV_MEV_Green",
"Exile_Car_HMMWV_UNA_Abstract",
"Exile_Car_HMMWV_UNA_Desert",
"Exile_Car_HMMWV_UNA_Green",
"Exile_Car_Hunter",
"Exile_Car_Hunter_Abstract",
"Exile_Car_Ifrit",
"Exile_Car_Ifrit_Abstract",
"Exile_Car_Ikarus_Abstract",
"Exile_Car_Ikarus_Blue",
"Exile_Car_Ikarus_Party",
"Exile_Car_Ikarus_Red",
"Exile_Car_Kart_Abstract",
"Exile_Car_Kart_Black",
"Exile_Car_Kart_Blue",
"Exile_Car_Kart_BluKing",
"Exile_Car_Kart_Green",
"Exile_Car_Kart_Orange",
"Exile_Car_Kart_RedStone",
"Exile_Car_Kart_Vrana",
"Exile_Car_Kart_White",
"Exile_Car_Kart_Yellow",
"Exile_Car_Lada_Abstract",
"Exile_Car_Lada_Green",
"Exile_Car_Lada_Hipster",
"Exile_Car_Lada_Red",
"Exile_Car_Lada_Taxi",
"Exile_Car_Lada_White",
"Exile_Car_LandRover_Abstract",
"Exile_Car_LandRover_Ambulance_Abstract",
"Exile_Car_LandRover_Ambulance_Desert",
"Exile_Car_LandRover_Ambulance_Green",
"Exile_Car_LandRover_Ambulance_Sand",
"Exile_Car_LandRover_Desert",
"Exile_Car_LandRover_Green",
"Exile_Car_LandRover_Red",
"Exile_Car_LandRover_Sand",
"Exile_Car_LandRover_Urban",
"Exile_Car_MB4WD",
"Exile_Car_MB4WDOpen",
"Exile_Car_Octavius_Abstract",
"Exile_Car_Octavius_Black",
"Exile_Car_Octavius_White",
"Exile_Car_Offroad_Abstract",
"Exile_Car_Offroad_Armed_Abstract",
"Exile_Car_Offroad_Armed_Guerilla01",
"Exile_Car_Offroad_Armed_Guerilla02",
"Exile_Car_Offroad_Armed_Guerilla03",
"Exile_Car_Offroad_Armed_Guerilla04",
"Exile_Car_Offroad_Armed_Guerilla05",
"Exile_Car_Offroad_Armed_Guerilla06",
"Exile_Car_Offroad_Armed_Guerilla07",
"Exile_Car_Offroad_Armed_Guerilla08",
"Exile_Car_Offroad_Armed_Guerilla09",
"Exile_Car_Offroad_Armed_Guerilla10",
"Exile_Car_Offroad_Armed_Guerilla11",
"Exile_Car_Offroad_Armed_Guerilla12",
"Exile_Car_Offroad_Beige",
"Exile_Car_Offroad_Blue",
"Exile_Car_Offroad_BlueCustom",
"Exile_Car_Offroad_DarkRed",
"Exile_Car_Offroad_Guerilla01",
"Exile_Car_Offroad_Guerilla02",
"Exile_Car_Offroad_Guerilla03",
"Exile_Car_Offroad_Guerilla04",
"Exile_Car_Offroad_Guerilla05",
"Exile_Car_Offroad_Guerilla06",
"Exile_Car_Offroad_Guerilla07",
"Exile_Car_Offroad_Guerilla08",
"Exile_Car_Offroad_Guerilla09",
"Exile_Car_Offroad_Guerilla10",
"Exile_Car_Offroad_Guerilla11",
"Exile_Car_Offroad_Guerilla12",
"Exile_Car_Offroad_Red",
"Exile_Car_Offroad_Repair_Abstract",
"Exile_Car_Offroad_Repair_Beige",
"Exile_Car_Offroad_Repair_Blue",
"Exile_Car_Offroad_Repair_BlueCustom",
"Exile_Car_Offroad_Repair_Civillian",
"Exile_Car_Offroad_Repair_DarkRed",
"Exile_Car_Offroad_Repair_Guerilla01",
"Exile_Car_Offroad_Repair_Guerilla02",
"Exile_Car_Offroad_Repair_Guerilla03",
"Exile_Car_Offroad_Repair_Guerilla04",
"Exile_Car_Offroad_Repair_Guerilla05",
"Exile_Car_Offroad_Repair_Guerilla06",
"Exile_Car_Offroad_Repair_Guerilla07",
"Exile_Car_Offroad_Repair_Guerilla08",
"Exile_Car_Offroad_Repair_Guerilla09",
"Exile_Car_Offroad_Repair_Guerilla10",
"Exile_Car_Offroad_Repair_Guerilla11",
"Exile_Car_Offroad_Repair_Guerilla12",
"Exile_Car_Offroad_Repair_Red",
"Exile_Car_Offroad_Repair_White",
"Exile_Car_Offroad_Rusty1",
"Exile_Car_Offroad_Rusty2",
"Exile_Car_Offroad_Rusty3",
"Exile_Car_Offroad_White",
"Exile_Car_OldTractor_Abstract",
"Exile_Car_OldTractor_Red",
"Exile_Car_ProwlerLight",
"Exile_Car_ProwlerUnarmed",
"Exile_Car_QilinUnarmed",
"Exile_Car_Strider",
"Exile_Car_Strider_Abstract",
"Exile_Car_SUV_Abstract",
"Exile_Car_SUV_Armed_Abstract",
"Exile_Car_SUV_Armed_Black",
"Exile_Car_SUV_Black",
"Exile_Car_SUV_Grey",
"Exile_Car_SUV_Orange",
"Exile_Car_SUV_Red",
"Exile_Car_SUV_Rusty1",
"Exile_Car_SUV_Rusty2",
"Exile_Car_SUV_Rusty3",
"Exile_Car_SUVXL_Abstract",
"Exile_Car_SUVXL_Black",
"Exile_Car_Tempest",
"Exile_Car_Tempest_Abstract",
"Exile_Car_TowTractor_Abstract",
"Exile_Car_TowTractor_White",
"Exile_Car_Tractor_Abstract",
"Exile_Car_Tractor_Red",
"Exile_Car_UAZ_Abstract",
"Exile_Car_UAZ_Green",
"Exile_Car_UAZ_Open_Abstract",
"Exile_Car_UAZ_Open_Green",
"Exile_Car_Ural_Covered_Abstract",
"Exile_Car_Ural_Covered_Blue",
"Exile_Car_Ural_Covered_Military",
"Exile_Car_Ural_Covered_Worker",
"Exile_Car_Ural_Covered_Yellow",
"Exile_Car_Ural_Open_Abstract",
"Exile_Car_Ural_Open_Blue",
"Exile_Car_Ural_Open_Military",
"Exile_Car_Ural_Open_Worker",
"Exile_Car_Ural_Open_Yellow",
"Exile_Car_V3S_Covered",
"Exile_Car_V3S_Covered_Abstract",
"Exile_Car_V3S_Open",
"Exile_Car_V3S_Open_Abstract",
"Exile_Car_Van_Abstract",
"Exile_Car_Van_Black",
"Exile_Car_Van_Box_Abstract",
"Exile_Car_Van_Box_Black",
"Exile_Car_Van_Box_Guerilla01",
"Exile_Car_Van_Box_Guerilla02",
"Exile_Car_Van_Box_Guerilla03",
"Exile_Car_Van_Box_Guerilla04",
"Exile_Car_Van_Box_Guerilla05",
"Exile_Car_Van_Box_Guerilla06",
"Exile_Car_Van_Box_Guerilla07",
"Exile_Car_Van_Box_Guerilla08",
"Exile_Car_Van_Box_Red",
"Exile_Car_Van_Box_White",
"Exile_Car_Van_Fuel_Abstract",
"Exile_Car_Van_Fuel_Black",
"Exile_Car_Van_Fuel_Guerilla01",
"Exile_Car_Van_Fuel_Guerilla02",
"Exile_Car_Van_Fuel_Guerilla03",
"Exile_Car_Van_Fuel_Red",
"Exile_Car_Van_Fuel_White",
"Exile_Car_Van_Guerilla01",
"Exile_Car_Van_Guerilla02",
"Exile_Car_Van_Guerilla03",
"Exile_Car_Van_Guerilla04",
"Exile_Car_Van_Guerilla05",
"Exile_Car_Van_Guerilla06",
"Exile_Car_Van_Guerilla07",
"Exile_Car_Van_Guerilla08",
"Exile_Car_Van_Red",
"Exile_Car_Van_White",
"Exile_Car_Volha_Abstract",
"Exile_Car_Volha_Black",
"Exile_Car_Volha_Blue",
"Exile_Car_Volha_White",
"Exile_Car_Zamak",
"Exile_Car_Zamak_Abstract",
"Golf_Base",
"Golf_Civ_Base",
"Golf_Civ_Black",
"Golf_Civ_pink",
"Hatchback_01_base_F",
"Hatchback_01_sport_base_F",
"HMMWV_Base",
"HMMWV_M134",
"HMMWV_M134_des",
"HMMWV_M2",
"HMMWV_M2_des",
"HMMWV_M2_GPK_1",
"HMMWV_M2_GPK_Base",
"HMMWV_MEV",
"HMMWV_MEV_des",
"HMMWV_UNA",
"HMMWV_UNA_des",
"I_APC_Wheeled_03_base_F",
"I_APC_Wheeled_03_cannon_F",
"I_C_Offroad_02_unarmed_brown_F",
"I_C_Offroad_02_unarmed_F",
"I_C_Offroad_02_unarmed_olive_F",
"I_C_Van_01_transport_brown_F",
"I_C_Van_01_transport_F",
"I_C_Van_01_transport_olive_F",
"I_G_Offroad_01_armed_F",
"I_G_Offroad_01_F",
"I_G_Offroad_01_repair_F",
"I_G_Quadbike_01_F",
"I_G_Van_01_fuel_F",
"I_G_Van_01_transport_F",
"I_MRAP_03_F",
"I_MRAP_03_gmg_F",
"I_MRAP_03_hmg_F",
"I_Quadbike_01_F",
"I_Truck_02_ammo_F",
"I_Truck_02_box_F",
"I_Truck_02_covered_F",
"I_Truck_02_fuel_F",
"I_Truck_02_medical_F",
"I_Truck_02_transport_F",
"I_UGV_01_F",
"I_UGV_01_rcws_F",
"Ikarus_Base",
"Ikarus_Civ_02",
"Ikarus_Govnodav_01",
"Ikarus_Govnodav_02",
"Kart_01_Base_F",
"Lada_Base",
"Lada_Civ_01",
"Lada_Civ_02",
"Lada_Civ_03",
"Lada_Civ_04",
"Lada_Civ_Base",
"Lada_Militia",
"Landrover_civ",
"Landrover_Civ_01",
"Landrover_Civ_01_Urban1",
"Landrover_Civ_02",
"Landrover_Civ_03",
"Landrover_Des",
"LR_Ambulance_01",
"LR_Ambulance_02",
"LR_Ambulance_Base",
"LR_MG_Base",
"LSV_01_armed_base_F",
"LSV_01_base_F",
"LSV_01_light_base_F",
"LSV_01_unarmed_base_F",
"LSV_02_armed_base_F",
"LSV_02_base_F",
"LSV_02_unarmed_base_F",
"MRAP_01_base_F",
"MRAP_01_gmg_base_F",
"MRAP_01_hmg_base_F",
"MRAP_02_base_F",
"MRAP_02_gmg_base_F",
"MRAP_02_hmg_base_F",
"MRAP_03_base_F",
"MRAP_03_gmg_base_F",
"MRAP_03_hmg_base_F",
"O_APC_Wheeled_02_base_F",
"O_APC_Wheeled_02_rcws_F",
"O_G_Offroad_01_armed_F",
"O_G_Offroad_01_F",
"O_G_Offroad_01_repair_F",
"O_G_Quadbike_01_F",
"O_G_Van_01_fuel_F",
"O_G_Van_01_transport_F",
"O_LSV_02_armed_arid_F",
"O_LSV_02_armed_black_F",
"O_LSV_02_armed_F",
"O_LSV_02_armed_ghex_F",
"O_LSV_02_armed_viper_F",
"O_LSV_02_unarmed_arid_F",
"O_LSV_02_unarmed_black_F",
"O_LSV_02_unarmed_F",
"O_LSV_02_unarmed_ghex_F",
"O_LSV_02_unarmed_viper_F",
"O_MRAP_02_F",
"O_MRAP_02_gmg_F",
"O_MRAP_02_hmg_F",
"O_Quadbike_01_F",
"O_T_APC_Wheeled_02_rcws_ghex_F",
"O_T_LSV_02_armed_arid_F",
"O_T_LSV_02_armed_black_F",
"O_T_LSV_02_armed_F",
"O_T_LSV_02_armed_ghex_F",
"O_T_LSV_02_armed_viper_F",
"O_T_LSV_02_unarmed_arid_F",
"O_T_LSV_02_unarmed_black_F",
"O_T_LSV_02_unarmed_F",
"O_T_LSV_02_unarmed_ghex_F",
"O_T_LSV_02_unarmed_viper_F",
"O_T_MRAP_02_ghex_F",
"O_T_MRAP_02_gmg_ghex_F",
"O_T_MRAP_02_hmg_ghex_F",
"O_T_Quadbike_01_ghex_F",
"O_T_Truck_03_ammo_ghex_F",
"O_T_Truck_03_covered_ghex_F",
"O_T_Truck_03_device_ghex_F",
"O_T_Truck_03_fuel_ghex_F",
"O_T_Truck_03_medical_ghex_F",
"O_T_Truck_03_repair_ghex_F",
"O_T_Truck_03_transport_ghex_F",
"O_T_UGV_01_ghex_F",
"O_T_UGV_01_rcws_ghex_F",
"O_Truck_02_Ammo_F",
"O_Truck_02_box_F",
"O_Truck_02_covered_F",
"O_Truck_02_fuel_F",
"O_Truck_02_medical_F",
"O_Truck_02_transport_F",
"O_Truck_03_ammo_F",
"O_Truck_03_covered_F",
"O_Truck_03_device_F",
"O_Truck_03_fuel_F",
"O_Truck_03_medical_F",
"O_Truck_03_repair_F",
"O_Truck_03_transport_F",
"O_UGV_01_F",
"O_UGV_01_rcws_F",
"Octavia_Base",
"Octavia_Civ_01",
"Octavia_Civ_03",
"Octavia_Civ_04",
"Octavia_Civ_05",
"Offroad_01_armed_base_F",
"Offroad_01_base_F",
"Offroad_01_civil_base_F",
"Offroad_01_military_base_F",
"Offroad_01_repair_base_F",
"Offroad_01_repair_military_base_F",
"Offroad_01_unarmed_base_F",
"Offroad_02_base_F",
"Offroad_02_unarmed_base_F",
"PaperCar",
"Quadbike_01_base_F",
"SUV_01_base_black_F",
"SUV_01_base_F",
"SUV_01_base_grey_F",
"SUV_01_base_orange_F",
"SUV_01_base_red_F",
"SUV_armored_Base",
"SUV_Base",
"SUV_civ_01",
"SUV_civ_02",
"SUV_civ_03",
"SUV_civ_04",
"SUV_civ_05",
"SUV_civ_06",
"SUV_civ_07",
"SUV_civ_08",
"TowingTractor",
"Tractor",
"Tractor_Base",
"TractorOld",
"Truck",
"Truck_01_base_F",
"Truck_02_Ammo_base_F",
"Truck_02_base_F",
"Truck_02_box_base_F",
"Truck_02_fuel_base_F",
"Truck_02_medical_base_F",
"Truck_02_transport_base_F",
"Truck_03_base_F",
"Truck_F",
"UAZ_AGS30_Base",
"UAZ_Armed_Base",
"UAZ_Base",
"UAZ_MG_Base",
"UAZ_Open_Base",
"UGV_01_base_F",
"UGV_01_rcws_base_F",
"Ural_Base",
"Ural_Civ_01",
"Ural_Civ_02",
"Ural_Civ_03",
"Ural_Civ_Base",
"Ural_Open_Base",
"Ural_Open_Civ_01",
"Ural_Open_Civ_02",
"Ural_Open_Civ_03",
"Ural_Open_RU",
"Ural_RU",
"V3S_base",
"V3S_Base_EP1",
"Van_01_base_F",
"Van_01_box_base_F",
"Van_01_fuel_base_F",
"Van_01_transport_base_F",
"volha_Base",
"volha_Civ_01",
"volha_Civ_02",
"volha_Civ_03",
"Wheeled_APC",
"Wheeled_APC_F"
];

View File

@ -0,0 +1,38 @@
/*
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 "vehiclesBase.sqf"
_veh = (configfile >> "CfgVehicles") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_index = 0;
_cars = [];
_exile = 0;
_clipboard = "";
{
if (_x isKindOf "Car" && !(_x in _vehiclesBase)) then
{
_cars pushback _x;
diag_log format["%1",_x];
_index = _index + 1;
_left = [_x,5] call KRON_StrLeft;
if (_left in ["Exile"]) then {
_exile = _exile + 1;
systemChat format["%1",_x];
};
_clipboard = _clipboard + format['"%1",%2',_x,endl];
};
}forEach _veh;
systemChat format["number of type of Car_F = %1", _index];
systemChat format["number of Exile cars = %1",_exile];
copyToClipboard _clipboard;

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/
*/
_vehiclesBase = [];
#include "vehiclesBase.sqf"
_veh = (configfile >> "CfgVehicles") call BIS_fnc_getCfgSubClasses;
_veh sort true;
_cars = [];
_clipboard = "";
{
if (_x isKindOf "Car" && !(_x in _vehiclesBase)) then
{
_cars pushback _x;
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 15000; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 15000; };%2",_x,endl];
};
};
}forEach _veh;
copyToClipboard _clipboard;
systemChat "Vehicles Pricelist Generated";

View File

@ -0,0 +1,41 @@
/*
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/
*/
_baseVests = [];
#include "baseVests.sqf"
//systemChat format["%1%2 end",_baseUniforms,endl];
//uiSleep 5;
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
systemChat format[" _veh contains %1 entries",count _veh];
_index = 0;
_cars = [];
_exile = 0;
_clipboard = "";
{
_isKindOf = (_x isKindOF ["Vest_Camo_Base", configFile >> "CfgWeapons"]) or (_x isKindOF ["Vest_NoCamo_Base", configFile >> "CfgWeapons"]);
if (_isKindOf and !(_x in _baseVests)) then
{
_cars pushback _x;
diag_log format["%1",_x];
_index = _index + 1;
_left = [_x,5] call KRON_StrLeft;
if (_left in ["Exile"]) then {
_exile = _exile + 1;
systemChat format["%1",_x];
};
_clipboard = _clipboard + format['"%1",%2',_x,endl];
};
}forEach _veh;
systemChat format["number of type of Vests = %1", _index];
systemChat format["number of Exile Vests = %1",_exile];
copyToClipboard _clipboard;

View File

@ -0,0 +1,35 @@
/*
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/
*/
_baseVests = [];
#include "baseVests.sqf"
_veh = (configfile >> "CfgWeapons") call BIS_fnc_getCfgSubClasses;
_veh sort true;
_cars = [];
_clipboard = "";
{
_isKindOf = (_x isKindOF ["Vest_Camo_Base", configFile >> "CfgWeapons"]) or (_x isKindOF ["Vest_NoCamo_Base", configFile >> "CfgWeapons"]);
if (_isKindOf and !(_x in _baseVests)) then
{
_cars pushback _x;
if (DBD_priceConfiguration == "Exile") then
{
_clipboard = _clipboard + format["class %1 { quality = 3; price = 50; };%2",_x,endl];
};
if (DBD_priceConfiguration == "Epoch") then
{
_clipboard = _clipboard + format["class %1 { price = 50; };%2",_x,endl];
};
};
}forEach _veh;
copyToClipboard _clipboard;
systemChat "Vest Pricelist Generated";

View File

@ -0,0 +1,131 @@
/*
Original 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/
*/
_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
_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};
};
};
};
//};
};
} foreach _wpList;
_clipBoard = format["%2%3// // Assault Rifles %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl];
}forEach _wpnAR;
_clipBoard = _clipBoard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnARG;
_clipBoard = _clipBoard + format["%2%3// LMGs %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnLMG;
_clipBoard = _clipBoard + format["%2%3// SMGs %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnSMG;
_clipBoard = _clipBoard + format["%2%3// Snipers %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnSniper;
_clipBoard = _clipBoard + format["%2%3// DMRs %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnDMR;
_clipBoard = _clipBoard + format["%2%3// Launchers %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnLauncher;
_clipBoard = _clipBoard + format["%2%3// Handguns %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnHandGun;
_clipBoard = _clipBoard + format["%2%3// Shotguns %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnShotGun;
_clipBoard = _clipBoard + format["%2%3// Throwables %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnThrow;
_clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
{
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
}forEach _wpnUnknown;
copyToClipboard _clipBoard;

View File

@ -0,0 +1,209 @@
/*
Original 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/
*/
_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
_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};
};
};
};
//};
};
} foreach _wpList;
_clipBoard = format["%2%3// // Assault Rifles %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 _wpnAR;
_clipBoard = _clipBoard + format["%2%3// Assault Rifles with GL %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 _wpnARG;
_clipBoard = _clipBoard + format["%2%3// LMGs %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 _wpnLMG;
_clipBoard = _clipBoard + format["%2%3// SMGs %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 _wpnSMG;
_clipBoard = _clipBoard + format["%2%3// Snipers %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 _wpnSniper;
_clipBoard = _clipBoard + format["%2%3// DMRs %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 _wpnDMR;
_clipBoard = _clipBoard + format["%2%3// Launchers %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 _wpnLauncher;
_clipBoard = _clipBoard + format["%2%3// Handguns %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 _wpnHandGun;
_clipBoard = _clipBoard + format["%2%3// Shotguns %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 _wpnShotGun;
_clipBoard = _clipBoard + format["%2%3// Throwables %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 _wpnThrow;
_clipBoard = _clipBoard + format["%2%3// Unknown %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 _wpnUnknown;
copyToClipboard _clipBoard;
systemChat "Weapon Pricelist Generated";