mirror of
https://github.com/rambo/arma3_missions.git
synced 2024-08-30 16:52:13 +00:00
remove dangling triggers when tasks are removed via kill handler or similar
This commit is contained in:
parent
1365770430
commit
d186afe289
@ -29,6 +29,8 @@ _trgcond = "[thisList] call lzlanded";
|
||||
diag_log format["LZ trigger condition: %1", _trgcond];
|
||||
diag_log format["LZ trigger action: %1", _trgaction];
|
||||
_trg setTriggerStatements[_trgcond, _trgaction, ""];
|
||||
trigIdsArray set [_playerno, _trg];
|
||||
|
||||
|
||||
// TODO: delete the trigger when deleting the task on player death or similar
|
||||
|
||||
|
@ -8,7 +8,7 @@ RespawnDelay = 8;
|
||||
RespawnDialog = 0;
|
||||
enabledebugconsole = 1;
|
||||
loadScreen = "main.jpg";
|
||||
author = Eero af Heurlin;
|
||||
author = Eero 'rambo' af Heurlin;
|
||||
onLoadName = Helicopter Training MP;
|
||||
|
||||
|
||||
|
@ -54,6 +54,7 @@ landingCompleteArray = [];
|
||||
squadLoadedArray = [];
|
||||
playersArray = [];
|
||||
taskIdsArray = [];
|
||||
trigIdsArray = [];
|
||||
|
||||
|
||||
for [{_iX = 0}, {_iX < _maxplayers}, {_iX = _iX + 1}] do
|
||||
@ -66,6 +67,7 @@ for [{_iX = 0}, {_iX < _maxplayers}, {_iX = _iX + 1}] do
|
||||
squadLoadedArray set [_iX, false];
|
||||
playersArray set [_iX, ""];
|
||||
taskIdsArray set [_iX, false];
|
||||
trigIdsArray set [_iX, false];
|
||||
};
|
||||
publicVariable "squadMDArray";
|
||||
publicVariable "enemyMDArray";
|
||||
@ -75,6 +77,7 @@ publicVariable "landingCompleteArray";
|
||||
publicVariable "squadLoadedArray";
|
||||
publicVariable "playersArray";
|
||||
publicVariable "taskIdsArray";
|
||||
publicVariable "trigIdsArray";
|
||||
|
||||
missionInitComplete = true;
|
||||
publicVariable "missionInitComplete";
|
||||
|
@ -14,6 +14,9 @@ _vehiclePlayer = vehicle (playersArray select _playerno);
|
||||
deletevehicle _trg;
|
||||
null = [_taskid, "SUCCEEDED", False] spawn BIS_fnc_taskSetState;
|
||||
hint 'Landing successful!';
|
||||
// the trigger was deleted when handler was called
|
||||
trigIdsArray set [_playerno, false];
|
||||
|
||||
|
||||
_squadArray = squadMDArray select _playerno;
|
||||
_enemyArray = enemyMDArray select _playerno;
|
||||
|
@ -7,7 +7,16 @@ _taskid = taskIdsArray select _playerno;
|
||||
null = [_taskid, "FAILED", False] spawn BIS_fnc_taskSetState;
|
||||
[_taskid] call BIS_fnc_deleteTask;
|
||||
taskIdsArray set [_playerno, false];
|
||||
|
||||
// for some reason this either like so or with !! causes compile error
|
||||
//if ((trigIdsArray select _playerno)) then
|
||||
//{
|
||||
deleteVehicle (trigIdsArray select _playerno);
|
||||
//}
|
||||
trigIdsArray set [_playerno, false];
|
||||
|
||||
publicVariable "taskIdsArray";
|
||||
publicVariable "trigIdsArray";
|
||||
|
||||
_squadArray = squadMDArray select _playerno;
|
||||
_enemyArray = enemyMDArray select _playerno;
|
||||
|
Loading…
Reference in New Issue
Block a user