Files
DayZ-Epoch/SQF/dayz_code/actions/player_gather.sqf
2016-02-29 00:55:29 -05:00

38 lines
1.6 KiB
Plaintext

private ["_plant", "_originalCount"];
_plant = _this;
if (_plant getVariable["Gathering",false]) exitWith {};
_originalCount = getNumber (configFile >> "CfgVehicles" >> (typeOf _plant) >> "TransportMagazines" >> "_xx_leaf" >> "count");
if !([ [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] , [getMagazineCargo _plant, getWeaponCargo _plant] ] call BIS_fnc_areEqual) then {
//diag_log [ [getMagazineCargo _plant, getWeaponCargo _plant], "!=", [[["equip_comfreyleafs"],[_originalCount]],[[],[]]] ];
_plant setVariable["Gathering",true]; // avoid multiple call because the fn_selfActions is called in an infinite loop
[_this] spawn { // in background to be called after fn_selfActions
_plant = _this select 0;
_mags = (getMagazineCargo _plant) select 0;
_weps = (getWeaponCargo _plant) select 0;
if (count _mags != 0 OR count _weps != 0) then { // if not empty
// replace plant to a regular weaponholder
_item = createVehicle ["WeaponHolder", (getPosATL _plant), [], 0, "CAN_COLLIDE"];
_magcounts = (getMagazineCargo _plant) select 1;
{
_item addMagazineCargoGlobal [_x, _magcounts select _forEachIndex];
} forEach _mags;
_wepcounts = (getWeaponCargo _plant) select 1;
{
_item addWeaponCargoGlobal [_x, _wepcounts select _forEachIndex];
} forEach _weps;
};
//remove vehicle, Need to ask server to remove.
PVDZ_obj_Delete = [_plant,player];
publicVariableServer "PVDZ_obj_Delete";
deleteVehicle _plant;
//Make some noise
_dis=2;
_sfx = "tentpack";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] call player_alertZombies;
};
};