mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
This adds a remove and add ammo function for vehicles. Also a keep flares check if the vehicle ammo got removed. Server admins can add/remove different weapons to vehicles by just editing server_spawnVehicle.
47 lines
1.3 KiB
Plaintext
47 lines
1.3 KiB
Plaintext
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); |