mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Replaced waitAndExec for single PFH with 30s delay
This commit is contained in:
parent
83fbc1ff10
commit
2645b102f0
@ -31,30 +31,51 @@ if !(isArray (_config >> "litter")) exitwith {};
|
||||
_litter = getArray (_config >> "litter");
|
||||
|
||||
_createLitter = {
|
||||
_position = getPos (_this select 0);
|
||||
_litterClass = _this select 1;
|
||||
_litterObject = createVehicle [_litterClass, _position, [], 0, "NONE"];
|
||||
_litterObject setPos [(_position select 0) + random 0.5, (_position select 1) + random 1.2, _position select 2];
|
||||
_litterObject setDir (random 360);
|
||||
_litterObject;
|
||||
_position = getPos (_this select 0);
|
||||
_litterClass = _this select 1;
|
||||
_litterObject = createVehicle [_litterClass, _position, [], 0, "NONE"];
|
||||
_litterObject setPos [(_position select 0) + random 0.5, (_position select 1) + random 1.2, _position select 2];
|
||||
_litterObject setDir (random 360);
|
||||
_litterObject;
|
||||
};
|
||||
|
||||
if (isnil QGVAR(allCreatedLitter)) then {
|
||||
GVAR(allCreatedLitter) = [];
|
||||
GVAR(litterPFHRunning) = false;
|
||||
};
|
||||
|
||||
_createdLitter = [];
|
||||
{
|
||||
if (typeName _x == "ARRAY") then {
|
||||
{
|
||||
if (typeName _x == "STRING") exitwith {
|
||||
_createdLitter pushback ([_target, _x] call _createLitter);
|
||||
};
|
||||
}foreach _x;
|
||||
};
|
||||
if (typeName _x == "STRING") then {
|
||||
_createdLitter pushback ([_target, _x] call _createLitter);
|
||||
};
|
||||
if (typeName _x == "ARRAY") then {
|
||||
{
|
||||
if (typeName _x == "STRING") exitwith {
|
||||
_createdLitter pushback ([_target, _x] call _createLitter);
|
||||
};
|
||||
}foreach _x;
|
||||
};
|
||||
if (typeName _x == "STRING") then {
|
||||
_createdLitter pushback ([_target, _x] call _createLitter);
|
||||
};
|
||||
}foreach _litter;
|
||||
|
||||
[{
|
||||
{
|
||||
deleteVehicle _x;
|
||||
}foreach (_this select 0);
|
||||
}, [_createdLitter], 1800, 0] call EFUNC(common,waitAndExecute);
|
||||
GVAR(allCreatedLitter) pushback [time, 1800, _createdLitter];
|
||||
|
||||
if !(GVAR(litterPFHRunning)) then {
|
||||
GVAR(litterPFHRunning) = true;
|
||||
[{
|
||||
{
|
||||
if (time - (_x select 0) >= (_x select 1)) then {
|
||||
{
|
||||
deleteVehicle _x;
|
||||
}foreach (_this select 2);
|
||||
GVAR(allCreatedLitter) set[_foreachIndex, objNull];
|
||||
};
|
||||
}foreach GVAR(allCreatedLitter);
|
||||
GVAR(allCreatedLitter) = GVAR(allCreatedLitter) - [objNull];
|
||||
|
||||
if (count GVAR(allCreatedLitter) == 0) exitwith {
|
||||
GVAR(litterPFHRunning) = false;
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
};
|
||||
}, 30, []] call CBA_fnc_addPerFrameHandler;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user