Add option to clear the ammo of all static guns, compile vehicle functions for server and client

This commit is contained in:
A Man
2022-04-26 16:54:57 +02:00
parent 57f1a534a7
commit 9c1da8101d
14 changed files with 30 additions and 17 deletions

View File

@@ -0,0 +1,47 @@
local _obj = _this select 0;
local _countMags = _this select 1;
local _weaponArray = [];
_weaponArray set [count _weaponArray,["",[-1]]];
local _findRecurse = {
local _root = (_this select 0);
local _path = +(_this select 1);
local _thisThis = _this select 2;
for "_i" from 0 to count _root -1 do {
local _class = _root select _i;
if (isClass _class) then {
local _currentPath = _path + [_i];
{
_weaponArray set [count _weaponArray,[_x,_currentPath]];
} count getArray (_class >> "weapons");
_class = _class >> "turrets";
if (isClass _class) then {[_class, _currentPath, _thisThis] call _findRecurse;};
};
};
};
[configFile >> "CfgVehicles" >> typeOf (_obj) >> "turrets", [], _obj] call _findRecurse;
{
local _type = _x select 0;
local _turret = _x select 1;
local _mags = getArray(configFile >> "CfgWeapons" >> _type >> "magazines");
local _mag = _mags select 0;
if (!isNil "_mag" && {!(["horn",_mag] call fnc_inString)})then {
for "_i" from 1 to _countMags do {
_obj addMagazineTurret[_mag,_turret];
};
};
} forEach _weaponArray;
{
local _mags = getArray(configFile >> "CfgWeapons" >> _x >> "magazines");
local _mag = _mags select 0;
for "_i" from 1 to _countMags do {
_obj addMagazine _mag;
};
} count (weapons _obj);