Files
DayZ-Epoch/SQF/dayz_code/compile/fn_clearTurrets.sqf

43 lines
1.1 KiB
Plaintext

//By denvdmj (probably, I found it on the biki)
local _obj = _this;
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, _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 _turret = _x;
local _mags = _obj magazinesTurret _turret;
{
local _mag = _x;
if !(["horn",_mag] call fnc_inString) then {
if (DZE_clearVehicleFlares) then {
_obj removeMagazinesTurret[_mag,_turret];
} else {
if !(["flare",_mag] call fnc_inString) then {
_obj removeMagazinesTurret[_mag,_turret];
};
};
};
} count _mags;
} forEach _weaponArray;