diff --git a/functions/CfgFunctions.hpp b/functions/CfgFunctions.hpp index 04aa8f0..4bd975c 100644 --- a/functions/CfgFunctions.hpp +++ b/functions/CfgFunctions.hpp @@ -45,9 +45,14 @@ class milsim }; class resupply { + class crateDefinitions {}; class createAmmoBox {}; - class createWeaponsBox {}; + class createBox {}; + class createCSWBox {}; + class createLaunchersBox {}; class createMedicalBox {}; + class createMortarBox {}; + class createWeaponsBox {}; } class ambience { diff --git a/functions/client/fn_addZenModules.sqf b/functions/client/fn_addZenModules.sqf index 72e5e2b..f410814 100644 --- a/functions/client/fn_addZenModules.sqf +++ b/functions/client/fn_addZenModules.sqf @@ -5,35 +5,40 @@ if ( !hasInterface ) exitWith {}; "Create Resupply Box", { params [["_pos", [0,0,0], [[]], 3], ["_target", objNull, [objNull]]]; - + _keysSorted = keys milsim_resupply_crateDefinitions; + _keysSorted sort true; + _comboOptions = []; + _comboOptions resize (count _keysSorted); + for "_i" from 0 to (count _keysSorted) - 1 do { + private _definition = milsim_resupply_crateDefinitions get (_keysSorted select _i); + _comboOptions set [_i, [ + _definition getOrDefault ["displayName", "ERROR"], // display name + _definition getOrDefault ["description", "No description"], // tooltip + _definition getOrDefault ["icon", "No icon"] // icon + ]]; + }; + [ "Resupply Box Options", [ - [ "COMBO", "Box Type", [[1,2,3], [["Ammo"],["Weapons"],["Medical"]],0] ] + // [ "COMBO", "Box Type", [[1,2,3], [["Ammo"],["Weapons"],["Medical"]],0] ] + ["COMBO", "Box Type", [_keysSorted, _comboOptions, 0]] ], { params ["_dialog", "_args"]; - _dialog params ["_type"]; - _args params ["_pos", "_target"]; - - switch (_type) do { - case 1: { - [_target, _pos] call milsim_fnc_createAmmoBox; - }; - case 2: { - [_target, _pos] call milsim_fnc_createWeaponsBox; - }; - case 3: { - [_target, _pos] call milsim_fnc_createMedicalBox; - }; + _dialog params ["_typeOptionSelected"]; + _args params ["_pos", "_target", "_keysSorted"]; + + + if ([_target, _typeOptionSelected, _pos] call milsim_fnc_createBox) then { + ["Resupply Box", format["Created a %1 box", _typeOptionSelected]] call BIS_fnc_curatorHint; }; }, {}, - [_pos, _target] + [_pos, _target, _options] ] call zen_dialog_fnc_create; - } ] call zen_custom_modules_fnc_register; diff --git a/functions/init/fn_initPlayerLocal.sqf b/functions/init/fn_initPlayerLocal.sqf index 3a1a2a3..5f25ff9 100644 --- a/functions/init/fn_initPlayerLocal.sqf +++ b/functions/init/fn_initPlayerLocal.sqf @@ -1,5 +1,8 @@ if ( !hasInterface ) exitWith {}; +// define milsim_resupply_crateDefinitions +call milsim_fnc_crateDefinitions; + ["InitializePlayer", [player, true]] call BIS_fnc_dynamicGroups; nil; \ No newline at end of file diff --git a/functions/init/fn_initServer.sqf b/functions/init/fn_initServer.sqf index 15784ef..220f8ec 100644 --- a/functions/init/fn_initServer.sqf +++ b/functions/init/fn_initServer.sqf @@ -1,5 +1,8 @@ if (!isServer) exitWith {}; +// define milsim_resupply_crateDefinitions +call milsim_fnc_crateDefinitions; + _fixedAssets = [ ["Ares", "USAF_A10", 0], ["Odyssey", "RHSGREF_A29B_HIDF", 0], @@ -50,6 +53,8 @@ missionNamespace setVariable ["milsim_var_rotaryAssets", _rotaryAssets]; publicVariable "milsim_var_fixedAssets"; publicVariable "milsim_var_rotaryAssets"; + + // Initializes the Dynamic Groups framework and groups ["Initialize", [true]] call BIS_fnc_dynamicGroups; diff --git a/functions/resupply/fn_crateDefinitions.sqf b/functions/resupply/fn_crateDefinitions.sqf new file mode 100644 index 0000000..17bb3e8 --- /dev/null +++ b/functions/resupply/fn_crateDefinitions.sqf @@ -0,0 +1,201 @@ +milsim_resupply_crateDefinitions = createHashMapFromArray [ + ["AMMO LIGHT", createHashMapFromArray [ + ["className", "Box_Syndicate_Ammo_F"], + ["displayName", "Ammo Crate"], + ["description", "A crate containing general ammunition and equipment for an infantry squad."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\rifle_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", []], + ["weapons", [ + ["rhs_weap_M136",4], + ["rhs_weap_M136_hp",4], + ["rhs_weap_m72a7",2] + ]], + ["magazines", [ + ["1Rnd_SmokePurple_Grenade_shell",12], + ["1Rnd_SmokeBlue_Grenade_shell",24], + ["1Rnd_SmokeOrange_Grenade_shell",12], + ["rhs_mag_M441_HE",25], + ["rhs_mag_M433_HEDP",15], + ["ACE_40mm_Flare_ir",12], + ["rhsusf_200Rnd_556x45_mixed_soft_pouch_coyote",25], + ["rhsusf_20Rnd_762x51_m993_Mag",25], + ["SmokeShell",12], + ["rhs_mag_m67",12], + ["1Rnd_Smoke_Grenade_shell",24], + ["1Rnd_SmokeRed_Grenade_shell",24], + ["1Rnd_SmokeGreen_Grenade_shell",24], + ["1Rnd_SmokeYellow_Grenade_shell",12], + ["Tier1_30Rnd_556x45_M856A1_EMag",25], + ["Tier1_30Rnd_556x45_Mk318Mod0_EMag",75], + ["ACE_30Rnd_65_Creedmor_mag",25], + ["SMA_30Rnd_762x35_BLK_EPR",25], + ["Tier1_30Rnd_762x35_300BLK_SMK_PMAG",25], + ["SMA_30Rnd_68x43_SPC_FMJ",25], + ["SMA_30Rnd_68x43_SPC_FMJ_Tracer",25], + ["SMA_20Rnd_762x51mm_M80A1_EPR",25], + ["SMA_20Rnd_762x51mm_M80A1_EPR_Tracer",25], + ["SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range",25], + ["SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range_Tracer",25], + ["Tier1_250Rnd_762x51_Belt_M993_AP",15], + ["ACE_20Rnd_762x51_Mag_Tracer",25], + ["ACE_20Rnd_762x51_M993_AP_Mag",25], + ["rhsusf_20Rnd_762x51_SR25_m993_Mag",25], + ["Tier1_20Rnd_762x51_M993_SR25_Mag",25], + ["Tier1_20Rnd_65x48_Creedmoor_SR25_Mag",25], + ["rhssaf_30rnd_556x45_EPR_G36", 25], + ["DemoCharge_Remote_Mag",16] + ]], + ["items", []] + ] + ]]], + ["AMMO HEAVY", createHashMapFromArray [ + ["className", "Box_NATO_Wps_F"], + ["displayName", "Heavy Ammo Crate"], + ["description", "A crate containing mixed ammo for rifles, ARs, MAT, and HAT."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\heli_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", []], + ["weapons", []], + ["magazines", [ + ["MRAWS_HEAT_F",35], + ["MRAWS_HE_F",15], + ["Tier1_250Rnd_762x51_Belt_M993_AP",50], + ["Tier1_30Rnd_556x45_M856A1_EMag",25], + ["Tier1_30Rnd_556x45_Mk318Mod0_EMag",50], + ["Titan_AA",10], + ["Titan_AT",10], + ["200Rnd_65x39_cased_Box_Tracer_Red",50] + ]], + ["items", []] + ] + ]]], + ["AMMO MORTAR", createHashMapFromArray [ + ["className", "Box_Syndicate_Wps_F"], + ["displayName", "Mortar Ammo Crate"], + ["description", "A crate containing mortar ammunition."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\scout_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", []], + ["weapons", []], + ["magazines", [ + ["ACE_1Rnd_82mm_Mo_HE",24], + ["ACE_1Rnd_82mm_Mo_Smoke",12], + ["ACE_1Rnd_82mm_Mo_Illum",12] + ]], + ["items", []] + ] + ]]], + ["MEDICAL", createHashMapFromArray [ + ["className", "ACE_medicalSupplyCrate_advanced"], + ["displayName", "Medical Crate"], + ["description", "A crate containing medical supplies."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\heal_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", []], + ["weapons", []], + ["magazines", []], + ["items", [ + ["ACE_packingBandage",100], + ["ACE_elasticBandage",100], + ["ACE_tourniquet",48], + ["ACE_splint",48], + ["ACE_morphine",50], + ["ACE_epinephrine",50], + ["ACE_bloodIV",75], + ["ACE_bloodIV_500",50], + ["ACE_bloodIV_250",25], + ["ACE_quikclot",75], + ["ACE_personalAidKit", 5], + ["ACE_surgicalKit", 5] + ]] + ] + ]]], + ["LAUNCHERS", createHashMapFromArray [ + ["className", "Box_NATO_WpsLaunch_F"], + ["displayName", "Launcher Crate"], + ["description", "A crate containing missile launchers and ammunition."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\heli_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", [ + + ]], + ["weapons", [ + ["launch_B_Titan_short_F",2], + ["launch_NLAW_F",2], + ["rhs_weap_fim92",2] + ]], + ["magazines", [ + ["Titan_AA",6], + ["Titan_AT",6] + ]], + ["items", [ + + ]] + ] + ]]], + ["CSW", createHashMapFromArray [ + ["className", "Box_NATO_Equip_F"], + ["displayName", "CSW Crate"], + ["description", "A crate containing backpacks that assemble into static weapons."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\defend_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", [ + ["RHS_M2_Gun_Bag",2], + ["RHS_M2_Tripod_Bag",2], + ["RHS_M2_MiniTripod_Bag",2], + ["rhs_Tow_Gun_Bag",2], + ["rhs_TOW_Tripod_Bag",2], + ["UK3CB_Static_M240_Elcan_Gun_Bag",2], + ["UK3CB_B_Static_M240_Elcan_Tripod_Low_Bag_US_D",2], + ["RHS_Mk19_Gun_Bag",2], + ["RHS_Mk19_Tripod_Bag",2] + ]], + ["weapons", []], + ["magazines", []], + ["items", []] + ] + ]]], + ["MORTAR MK6", createHashMapFromArray [ + ["className", "Box_NATO_WpsSpecial_F"], + ["displayName", "Mortar MK6 Supply Crate"], + ["description", "A crate containing Mk6 mortar resupply (tubes) and tools."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\scout_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", [ + ["B_Mortar_01_support_F",3], + ["B_Mortar_01_weapon_F",6], + ["UK3CB_LSM_B_B_CARRYALL_RADIO_TIG_STRIPE_01",1] + ]], + ["weapons", [ + ["ACE_Vector",2] + ]], + ["magazines", [ + ["acex_intelitems_notepad",2] + ]], + ["items", [ + ["ACE_artilleryTable",2], + ["ACE_RangeTable_82mm",2], + ["ACE_microDAGR",2], + ["ACE_MapTools",2] + ]] + ] + ]]], + ["MORTAR 60MM COMMANDO", createHashMapFromArray [ + ["className", "Box_NATO_WpsSpecial_F"], + ["displayName", "Mortar 60mm Commando Supply Crate"], + ["description", "A crate containing COMMANDO 60mm mortar shells and some STANAGs."], + ["icon", "\A3\ui_f\data\igui\cfg\simpleTasks\types\scout_ca.paa"], + ["items", createHashMapFromArray [ + ["backpacks", []], + ["weapons", []], + ["magazines", [ + ["twc_2inch_he_1rnd",70], + ["twc_2inch_smoke_1rnd",15], + ["twc_2inch_illum_1rnd",15], + ["Tier1_30Rnd_556x45_Mk318Mod0_EMag",20] + ]], + ["items", []] + ] + ]]] +]; \ No newline at end of file diff --git a/functions/resupply/fn_createAmmoBox.sqf b/functions/resupply/fn_createAmmoBox.sqf index 2e3f319..06da1f4 100644 --- a/functions/resupply/fn_createAmmoBox.sqf +++ b/functions/resupply/fn_createAmmoBox.sqf @@ -1,7 +1,7 @@ /* * Author: Hizumi * - * Create Ammo resupply box for the 17th Batallion + * Create Ammo resupply box for the 17th Battalion * * Arguments: * 0: Vehicle - @@ -12,9 +12,19 @@ * * Example: * [box] call milsim_fnc_createAmmoBox; // create ammo box via init line of editor object - * [objNull, pos] call milsim_fnc_createAmmoBox // create ammo box via zeus module + * [objNull, pos] call milsim_fnc_createAmmoBox; // create ammo box via zeus module * * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; */ @@ -23,89 +33,4 @@ params [ ["_pos", [0,0,0], [[]], 3] ]; -if (isNull _box) then { - _box = "Box_Syndicate_Ammo_F" createVehicle _pos; -}; - -clearBackpackCargoGlobal _box; -clearItemCargoGlobal _box; -clearMagazineCargoGlobal _box; -clearWeaponCargoGlobal _box; - -_packs = []; - -_items = []; - -_magazines = [ - ["1Rnd_SmokePurple_Grenade_shell",12], - ["1Rnd_SmokeBlue_Grenade_shell",24], - ["1Rnd_SmokeOrange_Grenade_shell",12], - ["rhs_mag_M441_HE",25], - ["rhs_mag_M433_HEDP",15], - ["ACE_40mm_Flare_ir",12], - ["rhsusf_200Rnd_556x45_mixed_soft_pouch_coyote",25], - ["rhsusf_20Rnd_762x51_m993_Mag",25], - ["SmokeShell",12], - ["rhs_mag_m67",12], - ["1Rnd_Smoke_Grenade_shell",24], - ["1Rnd_SmokeRed_Grenade_shell",24], - ["1Rnd_SmokeGreen_Grenade_shell",24], - ["1Rnd_SmokeYellow_Grenade_shell",12], - ["Tier1_30Rnd_556x45_M856A1_EMag",25], - ["Tier1_30Rnd_556x45_Mk318Mod0_EMag",75], - ["ACE_30Rnd_65_Creedmor_mag",25], - ["SMA_30Rnd_762x35_BLK_EPR",25], - ["Tier1_30Rnd_762x35_300BLK_SMK_PMAG",25], - ["SMA_30Rnd_68x43_SPC_FMJ",25], - ["SMA_30Rnd_68x43_SPC_FMJ_Tracer",25], - ["SMA_20Rnd_762x51mm_M80A1_EPR",25], - ["SMA_20Rnd_762x51mm_M80A1_EPR_Tracer",25], - ["SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range",25], - ["SMA_20Rnd_762x51mm_Mk316_Mod_0_Special_Long_Range_Tracer",25], - ["Tier1_250Rnd_762x51_Belt_M993_AP",15], - ["ACE_20Rnd_762x51_Mag_Tracer",25], - ["ACE_20Rnd_762x51_M993_AP_Mag",25], - ["rhsusf_20Rnd_762x51_SR25_m993_Mag",25], - ["Tier1_20Rnd_762x51_M993_SR25_Mag",25], - ["Tier1_20Rnd_65x48_Creedmoor_SR25_Mag",25], - ["rhssaf_30rnd_556x45_EPR_G36", 25], - ["DemoCharge_Remote_Mag",16] -]; - -_weapons = [ - ["rhs_weap_M136",4], - ["rhs_weap_M136_hp",4], - ["rhs_weap_m72a7",2] -]; - -{ - _x params ["_class", "_qty"]; - - _box addBackpackCargoGlobal [_class, _qty] - -} foreach _packs; - -{ - _x params ["_class", "_qty"]; - - _box addItemCargoGlobal [_class, _qty] - -} foreach _items; - -{ - _x params ["_class", "_qty"]; - - _box addMagazineCargoGlobal [_class, _qty] - -} foreach _magazines; - -{ - _x params ["_class", "_qty"]; - - _box addWeaponCargoGlobal [_class, _qty] - -} foreach _weapons; - -[_box,1] call ace_cargo_fnc_setSize; - -true; \ No newline at end of file +[_box, "AMMO LIGHT", _pos] call milsim_fnc_createBox; \ No newline at end of file diff --git a/functions/resupply/fn_createBox.sqf b/functions/resupply/fn_createBox.sqf new file mode 100644 index 0000000..6bb8e57 --- /dev/null +++ b/functions/resupply/fn_createBox.sqf @@ -0,0 +1,99 @@ +/* + * Author: Hizumi & IndigoFox + * + * Create Mortar resupply box for the 17th Battalion + * + * Arguments: + * 0: Vehicle - + * 1: Position - + * + * Return Value: + * Function executed + * + * Example: + * [box] call milsim_fnc_createBox; // create mortar ammo box via init line of editor object + * [objNull, pos] call milsim_fnc_createBox; // create mortar ammo box via zeus module + * + * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; + */ + + +params [ + ["_box", objNull, [objNull]], + ["_type", "", [""]], + ["_pos", [0,0,0], [[]], 3] +]; + +if (isNil "milsim_resupply_crateDefinitions") exitWith { + format["Resupply Boxes: milsim_resupply_crateDefinitions is not defined, possibly a bad edit?"] remoteExec ["systemChat", 0]; + false; +}; + +if (_type isEqualTo "") exitWith { + format["Resupply Boxes: [_boxObject, _type, _pos] call milsim_fnc_createBox"] remoteExec ["systemChat", 0]; + format["Please use one of the following types for _type:"] remoteExec ["systemChat", 0]; + format["%1", (keys milsim_resupply_crateDefinitions)] remoteExec ["systemChat", 0]; + false; +}; + +private _boxData = milsim_resupply_crateDefinitions getOrDefault [_type, createHashMap]; +if (count _boxData isEqualTo 0) exitWith { + format["Resupply Boxes: [_boxObject, _type, _pos] call milsim_fnc_createBox"] remoteExec ["systemChat", 0]; + format["%1 is not a valid type for _type", _type] remoteExec ["systemChat", 0]; + format["Please use one of the following types for _type:"] remoteExec ["systemChat", 0]; + format["%1", (keys milsim_resupply_crateDefinitions)] remoteExec ["systemChat", 0]; + false; +}; + +private _boxItems = _boxData getOrDefault ["items", createHashMap]; + +if (isNull _box) then { + _box = (_boxData get "className") createVehicle _pos; +}; + +clearBackpackCargoGlobal _box; +clearItemCargoGlobal _box; +clearMagazineCargoGlobal _box; +clearWeaponCargoGlobal _box; + +{ + _x params ["_class", "_qty"]; + + _box addBackpackCargoGlobal [_class, _qty] + +} foreach (_boxItems getOrDefault ["backpacks", []]); + +{ + _x params ["_class", "_qty"]; + + _box addItemCargoGlobal [_class, _qty] + +} foreach (_boxItems getOrDefault ["items", []]); + +{ + _x params ["_class", "_qty"]; + + _box addMagazineCargoGlobal [_class, _qty] + +} foreach (_boxItems getOrDefault ["magazines", []]); + +{ + _x params ["_class", "_qty"]; + + _box addWeaponCargoGlobal [_class, _qty] + +} foreach (_boxItems getOrDefault ["weapons", []]); + +[_box,1] call ace_cargo_fnc_setSize; + +true; \ No newline at end of file diff --git a/functions/resupply/fn_createCSWBox.sqf b/functions/resupply/fn_createCSWBox.sqf new file mode 100644 index 0000000..180e21c --- /dev/null +++ b/functions/resupply/fn_createCSWBox.sqf @@ -0,0 +1,36 @@ +/* + * Author: Hizumi & IndigoFox + * + * Create Ammo resupply box for the 17th Battalion + * + * Arguments: + * 0: Vehicle - + * 1: Position - + * + * Return Value: + * Function executed + * + * Example: + * [box] call milsim_fnc_createCSWBox; // create ammo box via init line of editor object + * [objNull, pos] call milsim_fnc_createCSWBox; // create ammo box via zeus module + * + * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; + */ + + +params [ + ["_box", objNull, [objNull]], + ["_pos", [0,0,0], [[]], 3] +]; + +[_box, "CSW", _pos] call milsim_fnc_createBox; \ No newline at end of file diff --git a/functions/resupply/fn_createLaunchersBox.sqf b/functions/resupply/fn_createLaunchersBox.sqf new file mode 100644 index 0000000..a702aa0 --- /dev/null +++ b/functions/resupply/fn_createLaunchersBox.sqf @@ -0,0 +1,36 @@ +/* + * Author: Hizumi & IndigoFox + * + * Create Ammo resupply box for the 17th Battalion + * + * Arguments: + * 0: Vehicle - + * 1: Position - + * + * Return Value: + * Function executed + * + * Example: + * [box] call milsim_fnc_createLaunchersBox; // create ammo box via init line of editor object + * [objNull, pos] call milsim_fnc_createLaunchersBox; // create ammo box via zeus module + * + * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; + */ + + +params [ + ["_box", objNull, [objNull]], + ["_pos", [0,0,0], [[]], 3] +]; + +[_box, "LAUNCHERS", _pos] call milsim_fnc_createBox; \ No newline at end of file diff --git a/functions/resupply/fn_createMedicalBox.sqf b/functions/resupply/fn_createMedicalBox.sqf index 4ee057c..0b0b0a0 100644 --- a/functions/resupply/fn_createMedicalBox.sqf +++ b/functions/resupply/fn_createMedicalBox.sqf @@ -23,64 +23,4 @@ params [ ["_pos", [0,0,0], [[]], 3] ]; -if (isNull _box) then { - _box = "ACE_medicalSupplyCrate_advanced" createVehicle _pos; -}; - -clearBackpackCargoGlobal _box; -clearItemCargoGlobal _box; -clearMagazineCargoGlobal _box; -clearWeaponCargoGlobal _box; - -_packs = []; - -_items = [ - ["ACE_packingBandage",100], - ["ACE_elasticBandage",100], - ["ACE_tourniquet",48], - ["ACE_splint",48], - ["ACE_morphine",50], - ["ACE_epinephrine",50], - ["ACE_bloodIV",75], - ["ACE_bloodIV_500",50], - ["ACE_bloodIV_250",25], - ["ACE_quikclot",75], - ["ACE_personalAidKit", 5], - ["ACE_surgicalKit", 5] -]; - -_magazines = []; - -_weapons = []; - -{ - _x params ["_class", "_qty"]; - - _box addBackpackCargoGlobal [_class, _qty] - -} foreach _packs; - -{ - _x params ["_class", "_qty"]; - - _box addItemCargoGlobal [_class, _qty] - -} foreach _items; - -{ - _x params ["_class", "_qty"]; - - _box addMagazineCargoGlobal [_class, _qty] - -} foreach _magazines; - -{ - _x params ["_class", "_qty"]; - - _box addWeaponCargoGlobal [_class, _qty] - -} foreach _weapons; - -[_box,1] call ace_cargo_fnc_setSize; - -true; \ No newline at end of file +[_box, "MEDICAL", _pos] call milsim_fnc_createBox; \ No newline at end of file diff --git a/functions/resupply/fn_createMortarBox.sqf b/functions/resupply/fn_createMortarBox.sqf new file mode 100644 index 0000000..8d63374 --- /dev/null +++ b/functions/resupply/fn_createMortarBox.sqf @@ -0,0 +1,36 @@ +/* + * Author: Hizumi & IndigoFox + * + * Create Mortar resupply box for the 17th Battalion + * + * Arguments: + * 0: Vehicle - + * 1: Position - + * + * Return Value: + * Function executed + * + * Example: + * [box] call milsim_fnc_createMortarBox; // create mortar ammo box via init line of editor object + * [objNull, pos] call milsim_fnc_createMortarBox; // create mortar ammo box via zeus module + * + * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; + */ + + +params [ + ["_box", objNull, [objNull]], + ["_pos", [0,0,0], [[]], 3] +]; + +[_box, "AMMO MORTAR", _pos] call milsim_fnc_createBox; \ No newline at end of file diff --git a/functions/resupply/fn_createWeaponsBox.sqf b/functions/resupply/fn_createWeaponsBox.sqf index c5141d7..5907845 100644 --- a/functions/resupply/fn_createWeaponsBox.sqf +++ b/functions/resupply/fn_createWeaponsBox.sqf @@ -12,9 +12,19 @@ * * Example: * [box] call milsim_fnc_createWeaponsBox; // create ammo box via init line of editor object - * [objNull, pos] call milsim_fnc_createWeaponsBox // create ammo box via zeus module + * [objNull, pos] call milsim_fnc_createWeaponsBox; // create ammo box via zeus module * * Public: Yes + * + * Note: For gathering: + formatText ["%1", [ + ["containerClassname", typeOf cursorObject], + ["backpack", (backpackCargo cursorObject) call BIS_fnc_consolidateArray], + ["item", (itemCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazine", (magazineCargo cursorObject) call BIS_fnc_consolidateArray], + ["magazineAmmo", magazinesAmmoCargo cursorObject], + ["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray] + ]]; */ @@ -23,60 +33,4 @@ params [ ["_pos", [0,0,0], [[]], 3] ]; -if (isNull _box) then { - _box = "Box_NATO_Wps_F" createVehicle _pos; -}; - -clearBackpackCargoGlobal _box; -clearItemCargoGlobal _box; -clearMagazineCargoGlobal _box; -clearWeaponCargoGlobal _box; - -_packs = []; - -_items = []; - -_magazines = [ - ["MRAWS_HEAT_F",35], - ["MRAWS_HE_F",15], - ["Tier1_250Rnd_762x51_Belt_M993_AP",50], - ["Tier1_30Rnd_556x45_M856A1_EMag",25], - ["Tier1_30Rnd_556x45_Mk318Mod0_EMag",50], - ["Titan_AA",10], - ["Titan_AT",10], - ["200Rnd_65x39_cased_Box_Tracer_Red",50] -]; - -_weapons = []; - -{ - _x params ["_class", "_qty"]; - - _box addBackpackCargoGlobal [_class, _qty] - -} foreach _packs; - -{ - _x params ["_class", "_qty"]; - - _box addItemCargoGlobal [_class, _qty] - -} foreach _items; - -{ - _x params ["_class", "_qty"]; - - _box addMagazineCargoGlobal [_class, _qty] - -} foreach _magazines; - -{ - _x params ["_class", "_qty"]; - - _box addWeaponCargoGlobal [_class, _qty] - -} foreach _weapons; - -[_box,1] call ace_cargo_fnc_setSize; - -true; \ No newline at end of file +[_box, "AMMO HEAVY", _pos] call milsim_fnc_createBox; \ No newline at end of file