101 lines
2.9 KiB
Plaintext
101 lines
2.9 KiB
Plaintext
/*
|
|
* Author: Hizumi & IndigoFox
|
|
*
|
|
* Create Mortar resupply box for the 17th Battalion
|
|
*
|
|
* Arguments:
|
|
* 0: Vehicle - <OBJECT>
|
|
* 1: Position - <ARRAY>
|
|
*
|
|
* Return Value:
|
|
* Function executed <BOOL>
|
|
*
|
|
* 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;
|
|
|
|
// ignore weight restrictions for carry/drag
|
|
_box setVariable ["ace_ignoreWeightCarry", true, true];
|
|
_box; |