diff --git a/Sources/epoch_code/compile/traders/EPOCH_NPCTraderMenuFilter.sqf b/Sources/epoch_code/compile/traders/EPOCH_NPCTraderMenuFilter.sqf index bcd45d65..991f4b83 100644 --- a/Sources/epoch_code/compile/traders/EPOCH_NPCTraderMenuFilter.sqf +++ b/Sources/epoch_code/compile/traders/EPOCH_NPCTraderMenuFilter.sqf @@ -27,27 +27,28 @@ disableSerialization; private ["_aiItems","_bpck","_config","_filterArray","_filterItems","_filterMagazines","_filterVehicle","_filterWeapons","_index","_isPlayerFilter","_item","_itemCount","_itemIcon","_itemName","_itemOfferCount","_items","_name","_offerArray","_picture","_qty","_qtys","_sizeOut","_slot","_type","_vehicles","_wpn"]; //[[[end]]] params ["_control","_index"]; - +_config = 'CfgItemSort' call EPOCH_returnConfig; +_MainCategoriearray = getarray (_config >> "MainCategories" >> "Classes"); +_FilterArray = []; +if (_index != 0) then { + { + _MainCategorie = _x; + if (_index == (_MainCategorie select 0)) then { + _subcategories = _MainCategorie select 2; + { + _SubCategorieItems = getArray (_config >> "SubCatergories" >> _x); + { + _FilterArray pushback (tolower _x); + } foreach _SubCategorieItems; + } forEach _subcategories; + }; + } forEach _MainCategoriearray; +}; if !(isNull EPOCH_lastNPCtradeTarget) then { _slot = EPOCH_lastNPCtradeTarget getVariable["AI_SLOT", -1]; _isPlayerFilter = (ctrlIDC _control == 42100); if (_slot != -1) then { - - _filterArray = [ - [true,true,true,true], // all - // [true,false,false,false], // weapons only - [false,true,false,false], // mags only - [false,false,true,false], // items only - [false,false,false,true] // vehicles only - ]; - - //_filterWeapons = ((_filterArray select _index) select 0); - _filterMagazines = ((_filterArray select _index) select 1); - _filterItems = ((_filterArray select _index) select 2); - _filterVehicle = ((_filterArray select _index) select 3); - if (_isPlayerFilter) then { - _sizeOut = lbSize 41501; _offerArray = []; if (_sizeOut > 0) then { @@ -56,135 +57,88 @@ if !(isNull EPOCH_lastNPCtradeTarget) then { _offerArray pushBack _item; }; }; - lbClear 41500; - - if (_filterMagazines) then { - { - // make sure this exceeds the item count already offered - _item = _x; - _itemCount = {_x == _item} count magazines player; - _itemOfferCount = {_x == _item} count _offerArray; - if (_itemCount > _itemOfferCount) then { - _offerArray pushBack _item; - _index = lbAdd [41500, _x call EPOCH_itemDisplayName]; - lbSetData [41500, _index, _x]; - lbSetPicture [41500, _index, _x call EPOCH_itemPicture]; + _playeritems = ((items player)+(magazines player)); + if (primaryWeapon player != "") then { + _playeritems pushback primaryWeapon player; + }; + if (count backpackItems player == 0 && count backpackmagazines player == 0 && backpack player != "") then { + _playeritems pushback backpack player; + }; + + { + _item = _x; + if !(_item isequalto "") then { + if (_index == 0 || (tolower _item) in _FilterArray) then { + _itemCount = {_x == _item} count ((items player)+(magazines player)+[backpack player]+[primaryweapon player]); + _itemOfferCount = {_x == _item} count _offerArray; + if (_itemCount > _itemOfferCount) then { + _offerArray pushBack _item; + _id = lbAdd [41500, _x call EPOCH_itemDisplayName]; + lbSetData [41500, _id, _x]; + lbSetPicture [41500, _id, _x call EPOCH_itemPicture]; + }; }; - } forEach magazines player; - }; - - /* not used currently - if (_filterWeapons) then { - }; - */ - - if (_filterItems) then { - { - _item = _x; - _itemCount = {_x == _item} count items player; - _itemOfferCount = {_x == _item} count _offerArray; - if (_itemCount > _itemOfferCount) then { - _offerArray pushBack _item; - _index = lbAdd [41500, _x call EPOCH_itemDisplayName]; - lbSetData [41500, _index, _x]; - lbSetPicture [41500, _index, _x call EPOCH_itemPicture]; - }; - } forEach items player; - if (primaryWeapon player != "") then { - _wpn = primaryWeapon player; - _offerArray pushback _wpn; - _index = lbAdd [41500, _wpn call EPOCH_itemDisplayName]; - lbSetData [41500, _index, _wpn]; - lbSetPicture [41500, _index, _wpn call EPOCH_itemPicture]; }; - if (count backpackItems player == 0 && count backpackmagazines player == 0 && backpack player != "") then { - _bpck = Backpack player; - _offerArray pushback _bpck; - _index = lbAdd [41500, _bpck call EPOCH_itemDisplayName]; - lbSetData [41500, _index, _bpck]; - lbSetPicture [41500, _index, _bpck call EPOCH_itemPicture]; - }; - }; - - if (_filterVehicle) then { - _vehicles = player nearEntities [["LandVehicle","Ship","Air","Tank"], 30]; - { - if (local _x) then { - _type = typeOf _x; + } forEach _playeritems; + + _vehicles = player nearEntities [["LandVehicle","Ship","Air","Tank"], 30]; + { + if (local _x) then { + _type = typeOf _x; + if (_index == 0 || (tolower _type) in _FilterArray) then { _itemCount = { typeOf _x == _type } count _vehicles; _itemOfferCount = { _x == _type } count _offerArray; if (_itemCount > _itemOfferCount) then { _offerArray pushBack _type; - _config = configFile >> "CfgVehicles" >> _type; - _name = getText(_config >> "displayName"); _picture = getText(_config >> "picture"); - - _index = lbAdd[41500, _name]; - lbSetData[41500, _index, _type]; - lbSetPicture[41500, _index, _picture]; + _id = lbAdd[41500, _name]; + lbSetData[41500, _id, _type]; + lbSetPicture[41500, _id, _picture]; }; }; - } forEach _vehicles; - }; - - } else { - + }; + } forEach _vehicles; + _control = (_display displayCtrl 41500); + lbsort _control; + } + else { lbClear 41503; - _sizeOut = lbSize 41502; _offerArray = []; if (_sizeOut > 0) then { for "_i" from 0 to (_sizeOut - 1) do { - _item = lbData [41502, _i]; - _offerArray pushBack _item; + _id = lbData [41502, _i]; + _offerArray pushBack _id; }; }; _aiItems = EPOCH_lastNPCtradeTarget getVariable["AI_ITEMS", []]; if ((count _aiItems) == 2) then { _items = _aiItems select 0; _qtys = _aiItems select 1; + _sortarray = []; { - - _item = _x; - _itemName = ""; - _itemIcon = ""; - if ([_item, "CfgVehicles"] call EPOCH_fnc_isAny) then { - if (_filterVehicle) then { - _itemName = getText(configfile >> "CfgVehicles" >> _item >> "DisplayName"); - _itemIcon = getText(configfile >> "CfgVehicles" >> _item >> "picture"); - }; - } else { - if ([_item, "CfgWeapons"] call EPOCH_fnc_isAny) then { - if (_filterItems) then { - _itemName = getText(configfile >> "CfgWeapons" >> _item >> "DisplayName"); - _itemIcon = getText(configfile >> "CfgWeapons" >> _item >> "picture"); - }; - } else { - if ([_item, "CfgMagazines"] call EPOCH_fnc_isAny) then { - if (_filterMagazines) then { - _itemName = getText(configfile >> "CfgMagazines" >> _item >> "DisplayName"); - _itemIcon = getText(configfile >> "CfgMagazines" >> _item >> "picture"); - }; + _sortarray pushback [_x call EPOCH_itemDisplayName,_x,_qtys select _foreachindex]; + } foreach _items; + _sortarray sort true; + + { + _item = _x select 1; + + if !(_item isequalto "") then { + if (_index == 0 || (tolower _item) in _FilterArray) then { + _qty = ((_x select 2) - ({_x == _item} count _offerArray)); + if (_qty > 0) then { + _id = lnbAddRow[41503, ["", str(_qty),_x select 0]]; + lnbSetData [41503, [_id,0], _item]; + lnbSetValue [41503, [_id,0], _qty]; + lnbSetPicture [41503, [_id,0], _item call EPOCH_itemPicture]; }; }; }; - if (_itemName != "") then { - - _qty = ((_qtys select _forEachIndex) - ({_x == _item} count _offerArray)); - if (_qty > 0) then { - - // _offerArray pushBack _item; - _index = lnbAddRow[41503, ["", str(_qty), _itemName]]; - lnbSetData [41503, [_index,0], _item]; - lnbSetValue [41503, [_index,0], _qty]; - lnbSetPicture [41503, [_index,0], _itemIcon]; - }; - }; - - } forEach _items; + } forEach _sortarray; }; }; }; diff --git a/Sources/epoch_code/compile/traders/EPOCH_startNPCTraderMenu.sqf b/Sources/epoch_code/compile/traders/EPOCH_startNPCTraderMenu.sqf index 783669b4..36ff609d 100644 --- a/Sources/epoch_code/compile/traders/EPOCH_startNPCTraderMenu.sqf +++ b/Sources/epoch_code/compile/traders/EPOCH_startNPCTraderMenu.sqf @@ -1,6 +1,8 @@ //[[[cog import generate_private_arrays ]]] private ["_ok","_slot","_target"]; //[[[end]]] +_config = 'CfgItemSort' call EPOCH_returnConfig; +_MainCategoriearray = getarray (_config >> "MainCategories" >> "Classes"); _target = cursorTarget; if (alive _target) then { _slot = _target getVariable ["AI_SLOT",-1]; @@ -11,7 +13,11 @@ if (alive _target) then { if (!_ok) exitWith {}; 9992 cutRsc["EpochGameUI2", "PLAIN", 2, false]; ((uiNamespace getVariable "EPOCH_EpochGameUI2") displayCtrl 21208) ctrlSetText format["%1", EPOCH_playerCrypto]; - {lbAdd[42100,_x];lbAdd[42101,_x]} forEach ["All","Magazines","Items","Vehicles"]; + { + _categorie = _x select 1; + lbAdd[42100,_categorie]; + lbAdd[42101,_categorie] + } forEach _MainCategoriearray; lbSetCurSel[42100, 0]; lbSetCurSel[42101, 0]; }; diff --git a/Sources/epoch_config/Configs/CfgItemSort.hpp b/Sources/epoch_config/Configs/CfgItemSort.hpp new file mode 100644 index 00000000..3b8f674e --- /dev/null +++ b/Sources/epoch_config/Configs/CfgItemSort.hpp @@ -0,0 +1,1034 @@ +// File created by Ignatz - He-Man + +class CfgItemSort +{ + + class MainCategories + { + classes[] = { + {0,"All",{}}, + {1,"Clothings / Backpacks",{"Uniforms","Vests","HeadGear","Backpacks"}}, + {2,"Weapons",{"Weapons","Handweapons"}}, + {3,"Magazines / Attachments",{"Magazines","Attachments"}}, + {4,"Equipment / Explosives",{"Equipment","Explosive","Hand"}}, + {5,"Medical / Food",{"Medical","Food","Drink"}}, + {6,"Items / Basebuilding",{"Basebuilding","Items"}}, + {7,"Vehicles",{"Vehicles_Land","Vehicles_Air","Vehicles_Ship"}} + }; + }; + class SubCatergories + { + Uniforms[] = { + "U_O_CombatUniform_ocamo", + "U_O_GhillieSuit", + "U_O_PilotCoveralls", + "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_leader", + + "U_C_Poloshirt_stripped", + "U_C_Poloshirt_blue", + "U_C_Poloshirt_burgundy", + "U_C_Poloshirt_tricolour", + "U_C_Poloshirt_salmon", + "U_C_Poloshirt_redwhite", + "U_C_Poor_1", + "U_C_WorkerCoveralls", + "U_C_Journalist", + "U_C_Scientist", + "U_OrestesBody", + "U_Wetsuit_uniform", + "U_Wetsuit_White", + "U_Wetsuit_Blue", + "U_Wetsuit_Purp", + "U_Wetsuit_Camo", + "U_Camo_uniform", + "U_ghillie1_uniform", + "U_ghillie2_uniform", + "U_ghillie3_uniform", + "U_CamoBlue_uniform", + "U_CamoBrn_uniform", + "U_CamoRed_uniform", + + "U_C_Driver_1", + "U_C_Driver_2", + "U_C_Driver_3", + "U_C_Driver_4", + "U_C_Driver_1_black", + "U_C_Driver_1_blue", + "U_C_Driver_1_green", + "U_C_Driver_1_red", + "U_C_Driver_1_white", + "U_C_Driver_1_yellow", + "U_C_Driver_1_orange", + + // Apex + "U_O_T_Soldier_F", + "U_O_T_Officer_F", + "U_O_T_Sniper_F", + "U_O_T_FullGhillie_tna_F", + "U_O_V_Soldier_Viper_F", + "U_O_V_Soldier_Viper_hex_F", + + // Marksman Clothing + "U_O_FullGhillie_lsh", + "U_O_FullGhillie_sard", + "U_O_FullGhillie_ard" + }; + + Vests[] = { + "V_1_EPOCH", + "V_2_EPOCH", + "V_3_EPOCH", + "V_4_EPOCH", + "V_5_EPOCH", + "V_6_EPOCH", + "V_7_EPOCH", + "V_8_EPOCH", + "V_9_EPOCH", + "V_10_EPOCH", + "V_11_EPOCH", + "V_12_EPOCH", + "V_13_EPOCH", + "V_14_EPOCH", + "V_15_EPOCH", + "V_16_EPOCH", + "V_17_EPOCH", + "V_18_EPOCH", + "V_19_EPOCH", + "V_20_EPOCH", + "V_21_EPOCH", + "V_22_EPOCH", + "V_23_EPOCH", + "V_24_EPOCH", + "V_25_EPOCH", + "V_26_EPOCH", + "V_27_EPOCH", + "V_28_EPOCH", + "V_29_EPOCH", + "V_30_EPOCH", + "V_31_EPOCH", + "V_32_EPOCH", + "V_33_EPOCH", + "V_34_EPOCH", + "V_35_EPOCH", + "V_36_EPOCH", + "V_37_EPOCH", + "V_38_EPOCH", + "V_39_EPOCH", + "V_40_EPOCH", + + // Vests Apex + "V_PlateCarrier1_tna_F", + "V_TacChestrig_grn_F", + "V_TacChestrig_oli_F", + "V_TacChestrig_cbr_F", + "V_PlateCarrierSpec_tna_F", + "V_HarnessO_ghex_F", + "V_HarnessOGL_ghex_F", + "V_PlateCarroer2_tna_F", + "V_PlateCarrierGL_tna_F" + }; + + Backpacks[] = { + "B_AssaultPack_blk", + "B_AssaultPack_cbr", + "B_AssaultPack_dgtl", + "B_AssaultPack_khk", + "B_AssaultPack_mcamo", + "B_AssaultPack_ocamo", + "B_AssaultPack_rgr", + "B_AssaultPack_sgg", + "B_Carryall_cbr", + "B_Carryall_khk", + "B_Carryall_mcamo", + "B_Carryall_ocamo", + "B_Carryall_oli", + "B_Carryall_oucamo", + "B_FieldPack_blk", + "B_FieldPack_cbr", + "B_FieldPack_khk", + "B_FieldPack_ocamo", + "B_FieldPack_oli", + "B_FieldPack_oucamo", + "B_Kitbag_cbr", + "B_Kitbag_mcamo", + "B_Kitbag_rgr", + "B_Kitbag_sgg", + "B_Parachute", + "B_TacticalPack_blk", + "B_TacticalPack_mcamo", + "B_TacticalPack_ocamo", + "B_TacticalPack_oli", + "B_TacticalPack_rgr", + "smallbackpack_red_epoch", + "smallbackpack_green_epoch", + "smallbackpack_teal_epoch", + "smallbackpack_pink_epoch", + + // Backpacks Apex + "B_Bergen_tna_F", + "B_AssaultPack_tna", + "B_ViperHarness_ghex_F", + "B_ViperHarness_blk_F", + "B_ViperHarness_hex_F", + "B_ViperHarness_khk_F", + "B_ViperHarness_oli_F", + "B_ViperLightHarness_oli_F", + "B_ViperLightHarness_khk_F", + "B_ViperLightHarness_hex_F", + "B_ViperLightHarness_ghex_F", + "B_ViperLightHarness_blk_F", + "B_Carryall_ghex_F", + "B_FieldPack_ghex_F" + }; + + HeadGear[] = { + "H_1_EPOCH", + "H_2_EPOCH", + "H_3_EPOCH", + "H_4_EPOCH", + "H_5_EPOCH", + "H_6_EPOCH", + "H_7_EPOCH", + "H_8_EPOCH", + "H_9_EPOCH", + "H_10_EPOCH", + "H_11_EPOCH", + "H_12_EPOCH", + "H_13_EPOCH", + "H_14_EPOCH", + "H_15_EPOCH", + "H_16_EPOCH", + "H_17_EPOCH", + "H_18_EPOCH", + "H_19_EPOCH", + "H_20_EPOCH", + "H_21_EPOCH", + "H_22_EPOCH", + "H_23_EPOCH", + "H_24_EPOCH", + "H_25_EPOCH", + "H_26_EPOCH", + "H_27_EPOCH", + "H_28_EPOCH", + "H_29_EPOCH", + "H_30_EPOCH", + "H_31_EPOCH", + "H_32_EPOCH", + "H_33_EPOCH", + "H_34_EPOCH", + "H_35_EPOCH", + "H_36_EPOCH", + "H_37_EPOCH", + "H_38_EPOCH", + "H_39_EPOCH", + "H_40_EPOCH", + "H_41_EPOCH", + "H_42_EPOCH", + "H_43_EPOCH", + "H_44_EPOCH", + "H_45_EPOCH", + "H_46_EPOCH", + "H_47_EPOCH", + "H_48_EPOCH", + "H_49_EPOCH", + "H_50_EPOCH", + "H_51_EPOCH", + "H_52_EPOCH", + "H_53_EPOCH", + "H_54_EPOCH", + "H_55_EPOCH", + "H_56_EPOCH", + "H_57_EPOCH", + "H_58_EPOCH", + "H_59_EPOCH", + "H_60_EPOCH", + "H_61_EPOCH", + "H_62_EPOCH", + "H_63_EPOCH", + "H_64_EPOCH", + "H_65_EPOCH", + "H_66_EPOCH", + "H_67_EPOCH", + "H_68_EPOCH", + "H_69_EPOCH", + "H_70_EPOCH", + "H_71_EPOCH", + "H_72_EPOCH", + "H_73_EPOCH", + "H_74_EPOCH", + "H_75_EPOCH", + "H_76_EPOCH", + "H_77_EPOCH", + "H_78_EPOCH", + "H_79_EPOCH", + "H_80_EPOCH", + "H_81_EPOCH", + "H_82_EPOCH", + "H_83_EPOCH", + "H_84_EPOCH", + "H_85_EPOCH", + "H_86_EPOCH", + "H_87_EPOCH", + "H_88_EPOCH", + "H_89_EPOCH", + "H_90_EPOCH", + "H_91_EPOCH", + "H_92_EPOCH", + "H_93_EPOCH", + "H_94_EPOCH", + "H_95_EPOCH", + "H_96_EPOCH", + "H_97_EPOCH", + "H_98_EPOCH", + "H_99_EPOCH", + "H_100_EPOCH", + "H_101_EPOCH", + "H_102_EPOCH", + "H_103_EPOCH", + "H_104_EPOCH", + "wolf_mask_epoch", + "pkin_mask_epoch", + "clown_mask_epoch", + + // Headgear Apex + "H_HelmetLeaderO_ghex_F", + "H_HelmetCrew_O_ghex_F", + "H_HelmetO_ghex_F", + "H_Helmet_Skate", + "H_HelmetB_TI_tna_F", + "H_HelmetB_tna_F", + "H_HelmetB_Enh_tna_F", + "H_MilCap_tna_F", + "H_MilCap_ghex_F", + "H_Booniehat_tna_F", + "H_HelmetB_Light_tna_F" + }; + + Equipment[] = { + "Rangefinder", + "Laserdesignator", + "ItemCompass", + "ItemGPS", + "ItemWatch", + "NVG_EPOCH", + "Binocular", + "EpochRadio0", + "EpochRadio1", + "EpochRadio2", + "EpochRadio3", + "EpochRadio4", + "EpochRadio5", + "EpochRadio6", + "EpochRadio7", + "EpochRadio8", + "EpochRadio9", + "B_UavTerminal", + "O_UavTerminal" + }; + + Weapons[] = { + "MultiGun", + + "hgun_ACPC2_F", + "hgun_Rook40_F", + "hgun_P07_F", + "hgun_Pistol_heavy_01_F", + "hgun_Pistol_heavy_02_F", + "ruger_pistol_epoch", + "1911_pistol_epoch", + "hgun_Pistol_Signal_F", + + // light Rifle + "l85a2_epoch", + "l85a2_pink_epoch", + "l85a2_ugl_epoch", + "arifle_Katiba_F", + "arifle_Katiba_C_F", + "arifle_Katiba_GL_F", + "arifle_MXC_F", + "arifle_MX_F", + "arifle_MX_GL_F", + "arifle_MXM_F", + "arifle_SDAR_F", + "arifle_TRG21_F", + "arifle_TRG20_F", + "arifle_TRG21_GL_F", + "arifle_Mk20_F", + "arifle_Mk20C_F", + "arifle_Mk20_GL_F", + "arifle_Mk20_plain_F", + "arifle_Mk20C_plain_F", + "arifle_Mk20_GL_plain_F", + "SMG_01_F", + "SMG_02_F", + "hgun_PDW2000_F", + "arifle_MXM_Black_F", + "arifle_MX_GL_Black_F", + "arifle_MX_Black_F", + "arifle_MXC_Black_F", + "Rollins_F", + "m16_EPOCH", + "m16Red_EPOCH", + "m4a3_EPOCH", + + // Apex + "SMG_05_F", + + // mid Rifle + "sr25_epoch", + "srifle_EBR_F", + "srifle_DMR_01_F", + "M14_EPOCH", + "M14Grn_EPOCH", + "AKM_EPOCH", + + // Apex + "arifle_AK12_F", + "arifle_MX_khk_F", + "arifle_MX_GL_khk_F", + "arifle_MXC_khk_F", + "arifle_MXM_khk_F", + "arifle_AK12_GL_F", + "arifle_AKM_F", + "arifle_AKS_F", + "arifle_ARX_blk_F", + "arifle_ARX_hex_F", + "arifle_CTAR_blk_F", + "arifle_CTAR_GL_blk_F", + "arifle_SPAR_01_blk_F", + "arifle_SPAR_01_snd_F", + "arifle_SPAR_01_khk_F", + "arifle_SPAR_01_GL_khk_F", + "arifle_SPAR_01_GL_blk_F", + "arifle_SPAR_01_GL_snd_F", + "arifle_SPAR_02_blk_F", + "arifle_SPAR_02_snd_F", + "arifle_SPAR_02_khk_F", + "arifle_SPAR_03_khk_F", + "arifle_SPAR_03_blk_F", + "arifle_SPAR_03_snd_F", + + // heavy Rifle + "srifle_GM6_F", + "srifle_LRR_F", + "m107Tan_EPOCH", + "m107_EPOCH", + // Apex + "srifle_GM6_ghex_F", + "srifle_LRR_tna_F", + "srifle_DMR_07_blk_F", + "srifle_DMR_07_hex_F", + "srifle_DMR_07_ghex_F", + + // light Mashinegun + "m249_EPOCH", + "m249Tan_EPOCH", + "LMG_Mk200_F", + "arifle_MX_SW_F", + "arifle_MX_SW_Black_F", + + // mid Machinegun + "LMG_Zafir_F", + + // Apex + "LMG_03_F", + + // Launcher + "launch_I_Titan_F", + "launch_B_Titan_short_F", + "Titan_AT", + "Titan_AA", + + // Marksman rifles + "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_03_spotter_F", + "srifle_DMR_06_camo_F", + "srifle_DMR_06_olive_F", + "srifle_DMR_04_Tan_F", + "srifle_DMR_04_F", + "srifle_DMR_05_blk_F", + "srifle_DMR_05_hex_F", + "srifle_DMR_05_tan_f", + + // Marksman machine guns + "MMG_01_hex_F", + "MMG_01_tan_F", + "MMG_02_camo_F", + "MMG_02_black_F", + "MMG_02_sand_F", + + // Handweapons + "Hatchet", + "MeleeSledge", + "CrudeHatchet", + "MeleeMaul", + "WoodClub", + "Plunger", + "MeleeSword", + "MeleeRod", + "speargun_epoch", + "ChainSaw" + }; + + Magazines[] = { + "spear_magazine", + + // Handgun Mags + "16Rnd_9x21_Mag", + "30Rnd_9x21_Mag", + "9Rnd_45ACP_Mag", + "11Rnd_45ACP_Mag", + "6Rnd_45ACP_Cylinder", + "10rnd_22X44_magazine", + "9rnd_45X88_magazine", + "6Rnd_GreenSignal_F", + "6Rnd_RedSignal_F", + + // light Mags + "30Rnd_65x39_caseless_green", + "30Rnd_65x39_caseless_green_mag_Tracer", + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "20Rnd_556x45_UW_mag", + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "30Rnd_45ACP_Mag_SMG_01", + "30Rnd_45ACP_Mag_SMG_01_Tracer_Green", + "5Rnd_rollins_mag", + "30rnd_556_magazine", + + // mid Mags + "20Rnd_762x51_Mag", + "10Rnd_762x54_Mag", + "20rnd_762_magazine", + "30Rnd_762x39_Mag", + + // Apex + "30Rnd_762x39_Mag_F", + "30Rnd_762x39_Mag_Green_F", + "30Rnd_762x39_Mag_Tracer_F", + "30Rnd_580x42_Mag_F", + "30Rnd_580x42_Mag_Tracer_F", + "20Rnd_650x39_Cased_Mag_F", + + // heavy Mags + "10Rnd_127x54_Mag", + "5Rnd_127x108_Mag", + "5Rnd_127x108_APDS_Mag", + "7Rnd_408_Mag", + + // Apex + "10Rnd_50BW_Mag_F", + + // light Mashinegun Mags + "200Rnd_65x39_cased_Box", + "100Rnd_65x39_caseless_mag", + "200Rnd_65x39_cased_Box_Tracer", + "100Rnd_65x39_caseless_mag_Tracer", + "200Rnd_556x45_M249", + + // mid Mashinegun Mags + "150Rnd_762x54_Box", + "150Rnd_762x54_Box_Tracer", + + // Apex Mags + "30Rnd_545x39_Mag_F", + "30Rnd_545x39_Mag_Green_F", + "30Rnd_545x39_Mag_Tracer_F", + "30Rnd_545x39_Mag_Tracer_Green_F", + "100Rnd_580x42_Mag_F", + "100Rnd_580x42_Mag_Tracer_F", + "150Rnd_556x45_Drum_Mag_F", + "150Rnd_556x45_Drum_Mag_Tracer_F", + "200Rnd_556x45_Box_F", + "200Rnd_556x45_Box_Red_F", + + // Marksman Mags + "10Rnd_338_Mag", + "10Rnd_93x64_DMR_05_Mag", + "130Rnd_338_Mag", + "150Rnd_93x64_Mag", + + // GL + "3Rnd_HE_Grenade_shell", + "1Rnd_HE_Grenade_shell", + "UGL_FlareWhite_F", + "UGL_FlareGreen_F", + "UGL_FlareRed_F", + "UGL_FlareYellow_F", + "UGL_FlareCIR_F", + "1Rnd_Smoke_Grenade_shell", + "1Rnd_SmokeRed_Grenade_shell", + "1Rnd_SmokeGreen_Grenade_shell", + "1Rnd_SmokeYellow_Grenade_shell", + "1Rnd_SmokePurple_Grenade_shell", + "1Rnd_SmokeBlue_Grenade_shell", + "1Rnd_SmokeOrange_Grenade_shell", + "3Rnd_UGL_FlareWhite_F", + "3Rnd_UGL_FlareGreen_F", + "3Rnd_UGL_FlareRed_F", + "3Rnd_UGL_FlareYellow_F", + "3Rnd_UGL_FlareCIR_F", + "3Rnd_Smoke_Grenade_shell", + "3Rnd_SmokeRed_Grenade_shell", + "3Rnd_SmokeGreen_Grenade_shell", + "3Rnd_SmokeYellow_Grenade_shell", + "3Rnd_SmokePurple_Grenade_shell", + "3Rnd_SmokeBlue_Grenade_shell", + "3Rnd_SmokeOrange_Grenade_shell" + }; + + Attachments[] = { + // Multigun + "Heal_EPOCH", + "Defib_EPOCH", + "Repair_EPOCH", + + // Optics Light + "optic_Aco", + "optic_ACO_grn", + "optic_Aco_smg", + "optic_ACO_grn_smg", + "optic_Holosight", + "optic_Holosight_smg", + "optic_Yorris", + "optic_MRD", + + // Optics Mid + "optic_Arco", + "optic_Hamr", + "optic_MRCO", + "optic_NVS", + "Elcan_epoch", + "Elcan_reflex_epoch", + + // Optics Heavy + "optic_LRPS", + "optic_SOS", + "optic_DMS", + "optic_Nightstalker", + "optic_tws", + "optic_tws_mg", + + // Optics Marksman + "optic_AMS", + "optic_AMS_khk", + "optic_AMS_snd", + "optic_KHS_blk", + "optic_KHS_hex", + "optic_KHS_old", + "optic_KHS_tan", + + // Optics_Apex + "optic_ERCO_blk_F", + "optic_ERCO_khk_F", + "optic_ERCO_snd_F", + "optic_SOS_khk_F", + "optic_LRPS_tna_F", + "optic_LRPS_ghex_F", + "optic_ARCO_ghex_F", + "optic_Hamr_khk_F", + "optic_Holosight_khk_F", + "optic_DMS_ghex_F", + + "acc_flashlight", + "acc_pointer_IR", + + // Bipods Marksman + "bipod_01_F_snd", + "bipod_01_F_blk", + "bipod_01_F_mtp", + "bipod_02_F_blk", + "bipod_02_F_tan", + "bipod_02_F_hex", + "bipod_03_F_blk", + "bipod_03_F_oli", + + // Bipods Apex + "bipod_01_F_khk", + + // Muzzles + "muzzle_snds_H", + "muzzle_snds_L", + "muzzle_snds_M", + "muzzle_snds_B", + "muzzle_snds_H_MG", + "muzzle_snds_acp", + + // Muzzles Marksman + "muzzle_snds_338_black", + "muzzle_snds_338_green", + "muzzle_snds_338_sand", + "muzzle_snds_93mmg", + "muzzle_snds_93mmg_tan", + "muzzle_sr25S_epoch", + + // Muzzles Apex + "muzzle_snds_58_blk_F", + "muzzle_snds_58_wdm_F", + "muzzle_snds_H_MG_khk_F", + "muzzle_snds_H_MG_blk_F", + "muzzle_snds_H_khk_F", + "muzzle_snds_H_snd_F", + "muzzle_snds_m_khk_F", + "muzzle_snds_m_snd_F", + "uzzle_snds_B_khk_F", + "muzzle_snds_B_snd_F", + "muzzle_snds_65_TI_ghex_F", + "muzzle_snds_65_TI_blk_F", + "muzzle_snds_65_TI_hex_F" + }; + + Explosive[] = { + "DemoCharge_Remote_Mag", + "SatchelCharge_Remote_Mag", + "ATMine_Range_Mag", + "ClaymoreDirectionalMine_Remote_Mag", + "APERSMine_Range_Mag", + "APERSBoundingMine_Range_Mag", + "SLAMDirectionalMine_Wire_Mag", + "APERSTripMine_Wire_Mag" + }; + Hand[] = { + "SmokeShell", + "SmokeShellYellow", + "SmokeShellGreen", + "SmokeShellRed", + "SmokeShellPurple", + "SmokeShellOrange", + "SmokeShellBlue", + "Chemlight_green", + "Chemlight_red", + "Chemlight_yellow", + "Chemlight_blue" + }; + + Medical[] = { + "FAK", + "Towelette", + "HeatPack", + "ColdPack" + }; + + Food[] = { + "Pumpkin", + "FoodBioMeat", + "FoodMeeps", + "FoodSnooter", + "sardines_epoch", + "meatballs_epoch", + "scam_epoch", + "sweetcorn_epoch", + "CookedSheep_EPOCH", + "CookedGoat_EPOCH", + "SnakeMeat_EPOCH", + "CookedRabbit_EPOCH", + "CookedChicken_EPOCH", + "ItemTrout", + "ItemSeaBass", + "ItemTuna", + "honey_epoch", + "TacticalBacon", + "ChickenCarcass_EPOCH", + "GoatCarcass_EPOCH", + "RabbitCarcass_EPOCH", + "SheepCarcass_EPOCH", + "SnakeCarcass_EPOCH" + }; + + Drink[] = { + "WhiskeyNoodle", + "FoodWalkNSons", + "ItemSodaOrangeSherbet", + "ItemSodaPurple", + "ItemSodaMocha", + "ItemSodaBurst", + "ItemSodaRbull", + "ItemSodaAlpinedude" + }; + Basebuilding[] = { + "CircuitParts", + "PartPlankPack", + "CinderBlocks", + "MortarBucket", + "ItemScraps", + "ItemCorrugated", + "ItemCorrugatedLg", + "KitStudWall", + "KitWoodFloor", + "KitWoodStairs", + "KitWoodRamp", + "KitFirePlace", + "KitTiPi", + "KitShelf", + "KitWoodFoundation", + "KitFoundation", + "KitPlotPole", + "KitCinderWall", + "KitSolarGen", + "KitWorkbench", + "KitWoodLadder", + "KitWoodTower", + "ItemLockbox", + "Pelt_EPOCH", + "ItemSafe", + "ItemSolar", + "ItemCables", + "ItemBattery", + "ItemPlywoodPack" + //"ItemComboLock", + //"ItemPipe", + //"ItemBulb" + }; + + Items[] = { + "VehicleRepair", + "VehicleRepairLg", + "ItemDocument", + "ItemDocumentMission", + "ItemMixOil", + "emptyjar_epoch", + "jerrycan_epoch", + "lighter_epoch", + "WoodLog_EPOCH", + "ItemRope", + "ItemStick", + "ItemRock", + "ItemCoolerE", + "Venom_EPOCH", + "JackKit", + "EnergyPack", + "EnergyPackLg", + "ItemBarrelF", + "ItemBarrelE", + //"ItemBurlap", + //"ItemKey", + //"ItemKeyBlue", + //"ItemKeyGreen", + //"ItemKeyRed", + //"ItemKeyYellow", + //"ItemHotwire", + //"ItemKeyKit", + //"ItemDoc1", + //"ItemDoc2", + //"ItemDoc3", + //"ItemDoc4", + //"ItemDoc5", + //"ItemDoc6", + //"ItemDoc7", + //"ItemDoc8", + //"ItemVehDoc1", + //"ItemVehDoc2", + //"ItemVehDoc3", + //"ItemVehDoc4", + + // KryptoItems + "PartOreGold", + "PartOreSilver", + "PartOre", + "ItemGoldBar", + "ItemSilverBar", + "ItemGoldBar10oz", + "ItemTopaz", + "ItemOnyx", + "ItemSapphire", + "ItemAmethyst", + "ItemEmerald", + "ItemCitrine", + "ItemRuby", + "ItemQuartz", + "ItemJade", + "ItemGarnet", + "ItemKiloHemp", + "ItemAluminumBar", + "ItemCopperBar", + "ItemTinBar", + "ItemEmptyTin", + "ItemSodaEmpty", + //"ItemBriefcaseE", + //"ItemBriefcaseGold100oz", + + "PaintCanClear", + "PaintCanBlk", + "PaintCanBlu", + "PaintCanBrn", + "PaintCanGrn", + "PaintCanOra", + "PaintCanPur", + "PaintCanRed", + "PaintCanTeal", + "PaintCanYel" + }; + Vehicles_Land[] = { + "ebike_epoch", // Motorrad + "C_Offroad_01_EPOCH", // Offroader + "C_Quadbike_01_EPOCH", // Quad + "C_Hatchback_01_EPOCH", // Limousine + "C_Hatchback_02_EPOCH", // Sportlimousine + "C_SUV_01_EPOCH", // SUV + "C_Van_01_box_EPOCH", // Truck Boxer + "C_Van_01_transport_EPOCH", // Truck + + "K01", // Kart + "K02", // Kart Blueking + "K03", // Kart Redstone + "K04", // Kart Vrana + + "B_Truck_01_transport_EPOCH", // HEMTT Transport - Personen + "B_Truck_01_covered_EPOCH", // HEMTT Transporter abgedeckt + "B_Truck_01_mover_EPOCH", // HEMTT + "B_Truck_01_box_EPOCH", + "O_Truck_02_covered_EPOCH", + "O_Truck_02_transport_EPOCH", + "O_Truck_03_covered_EPOCH", + "O_Truck_03_transport_F", + + // Funktions Fahrzeuge |Repair,Heal,Tank| + "C_Offroad_01_repair_F", + "O_G_Van_01_fuel_F", + "B_G_Van_01_fuel_F", + "B_Truck_01_Repair_F", + "B_Truck_01_ammo_F", + "B_Truck_01_fuel_F", + "B_Truck_01_medical_F", + "O_Truck_02_box_EPOCH", + "O_Truck_02_medical_F", + "O_Truck_02_Ammo_F", + "O_Truck_02_fuel_F", + "O_Truck_03_repair_F", + "O_Truck_03_ammo_F", + "O_Truck_03_fuel_F", + "O_Truck_03_medical_F", + + "O_G_Offroad_01_armed_F", + "I_G_Offroad_01_armed_F", + "B_G_Offroad_01_armed_F", + "B_MRAP_01_EPOCH", + "O_MRAP_02_F", + "I_MRAP_03_F", + "I_MRAP_03_EPOCH", + "B_MRAP_01_hmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + + // Apex + "I_C_Offroad_02_unarmed_F", + "I_C_Offroad_02_unarmed_brown_F", + "I_C_Offroad_02_unarmed_olive_F", + "C_Offroad_02_unarmed_F", + "C_Offroad_02_unarmed_blue_F", + "C_Offroad_02_unarmed_orange_F", + "C_Offroad_02_unarmed_green_F", + "C_Offroad_02_unarmed_black_F", + "C_Offroad_02_unarmed_white_F", + "C_Offroad_02_unarmed_red_F", + + "B_LSV_01_unarmed_F", + "B_LSV_01_unarmed_olive_F", + "B_LSV_01_unarmed_sand_F", + "B_LSV_01_unarmed_black_F", + + "B_T_LSV_01_unarmed_F", + "B_T_LSV_01_unarmed_CTRG_F", + "B_T_LSV_01_unarmed_olive_F", + "B_T_LSV_01_unarmed_black_F", + "B_T_LSV_01_unarmed_sand_F", + + "O_LSV_02_unarmed_F", + "O_LSV_02_unarmed_ghex_F", + "O_LSV_02_unarmed_arid_F", + "O_LSV_02_unarmed_viper_F", + "O_LSV_02_unarmed_black_F", + + "O_T_LSV_02_unarmed_black_F", + "O_T_LSV_02_unarmed_ghex_F", + "O_T_LSV_02_unarmed_arid_F", + "O_T_LSV_02_unarmed_viper_F", + + "O_T_LSV_02_armed_black_F", + "O_T_LSV_02_armed_ghex_F", + "B_LSV_01_armed_black_F", + "B_LSV_01_armed_olive_F" + }; + + Vehicles_Air[] = { + "mosquito_epoch", + "C_Heli_light_01_wasp_F", + "C_Heli_light_01_red_F", + "C_Heli_light_01_blue_F", + "C_Heli_light_01_ion_F", + "C_Heli_light_01_graywatcher_F", + "C_Heli_light_01_digital_F", + "C_Heli_light_01_vrana_F", + "C_Heli_light_01_elliptical_F", + "C_Heli_light_01_speedy_F", + "C_Heli_light_01_jeans_F", + "C_Heli_light_01_light_F", + "C_Heli_light_01_shadow_F", + "C_Heli_light_01_furious_F", + "C_Heli_light_01_wave_F", + "C_Heli_light_01_sheriff_F", + + "O_Heli_Light_02_unarmed_EPOCH", + "I_Heli_light_03_unarmed_EPOCH", + "I_Heli_Transport_02_EPOCH", + "B_Heli_Transport_03_unarmed_green_F", + "B_Heli_Transport_03_unarmed_EPOCH", + "O_Heli_Transport_04_EPOCH", + "O_Heli_Transport_04_bench_EPOCH", + "O_Heli_Transport_04_box_EPOCH", + "O_Heli_Transport_04_covered_EPOCH", + "B_Heli_Light_01_EPOCH", + + "B_Heli_Light_01_armed_F", + "B_Heli_Transport_01_EPOCH", + "B_Heli_Transport_03_black_F", + "O_Heli_Light_02_v2_F", + "I_Heli_light_03_F", + + // Apex + "B_T_VTOL_01_vehicle_blue_F", + "B_T_VTOL_01_infantry_blue_F", + "B_T_VTOL_01_infantry_olive_F", + + "O_T_VTOL_02_vehicle_grey_F", + "O_T_VTOL_02_vehicle_F", + "O_T_VTOL_02_infantry_F" + }; + + Vehicles_Ship[] = { + "jetski_epoch", + "C_Boat_Civil_01_EPOCH", + "C_Boat_Civil_01_police_EPOCH", + "C_Boat_Civil_01_rescue_EPOCH", + "C_Rubberboat_EPOCH", + "C_Rubberboat_02_EPOCH", + "C_Rubberboat_03_EPOCH", + "C_Rubberboat_04_EPOCH", + "B_SDV_01_EPOCH", + + // Apex + "I_C_Boat_Transport_02_F", + "O_G_Boat_Transport_02_F", + "C_Boat_Transport_02_F", + "B_G_Boat_Transport_02_F", + "I_G_Boat_Transport_02_F" + }; + }; +}; \ No newline at end of file diff --git a/Sources/epoch_config/sandbox_config.hpp b/Sources/epoch_config/sandbox_config.hpp index ea8e1330..3ab87bbc 100644 --- a/Sources/epoch_config/sandbox_config.hpp +++ b/Sources/epoch_config/sandbox_config.hpp @@ -52,6 +52,7 @@ wreckRemovalMaxTime = 360; disableRandomization[] = {"All"}; +#include "Configs\CfgItemSort.hpp" #include "Configs\CfgTraderMissions.hpp" #include "Configs\CfgMissions.hpp" #include "Configs\CfgMissionsTasks.hpp"