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 condition: %1", _trgcond];
|
||||||
diag_log format["LZ trigger action: %1", _trgaction];
|
diag_log format["LZ trigger action: %1", _trgaction];
|
||||||
_trg setTriggerStatements[_trgcond, _trgaction, ""];
|
_trg setTriggerStatements[_trgcond, _trgaction, ""];
|
||||||
|
trigIdsArray set [_playerno, _trg];
|
||||||
|
|
||||||
|
|
||||||
// TODO: delete the trigger when deleting the task on player death or similar
|
// TODO: delete the trigger when deleting the task on player death or similar
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ RespawnDelay = 8;
|
|||||||
RespawnDialog = 0;
|
RespawnDialog = 0;
|
||||||
enabledebugconsole = 1;
|
enabledebugconsole = 1;
|
||||||
loadScreen = "main.jpg";
|
loadScreen = "main.jpg";
|
||||||
author = Eero af Heurlin;
|
author = Eero 'rambo' af Heurlin;
|
||||||
onLoadName = Helicopter Training MP;
|
onLoadName = Helicopter Training MP;
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ landingCompleteArray = [];
|
|||||||
squadLoadedArray = [];
|
squadLoadedArray = [];
|
||||||
playersArray = [];
|
playersArray = [];
|
||||||
taskIdsArray = [];
|
taskIdsArray = [];
|
||||||
|
trigIdsArray = [];
|
||||||
|
|
||||||
|
|
||||||
for [{_iX = 0}, {_iX < _maxplayers}, {_iX = _iX + 1}] do
|
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];
|
squadLoadedArray set [_iX, false];
|
||||||
playersArray set [_iX, ""];
|
playersArray set [_iX, ""];
|
||||||
taskIdsArray set [_iX, false];
|
taskIdsArray set [_iX, false];
|
||||||
|
trigIdsArray set [_iX, false];
|
||||||
};
|
};
|
||||||
publicVariable "squadMDArray";
|
publicVariable "squadMDArray";
|
||||||
publicVariable "enemyMDArray";
|
publicVariable "enemyMDArray";
|
||||||
@ -75,6 +77,7 @@ publicVariable "landingCompleteArray";
|
|||||||
publicVariable "squadLoadedArray";
|
publicVariable "squadLoadedArray";
|
||||||
publicVariable "playersArray";
|
publicVariable "playersArray";
|
||||||
publicVariable "taskIdsArray";
|
publicVariable "taskIdsArray";
|
||||||
|
publicVariable "trigIdsArray";
|
||||||
|
|
||||||
missionInitComplete = true;
|
missionInitComplete = true;
|
||||||
publicVariable "missionInitComplete";
|
publicVariable "missionInitComplete";
|
||||||
|
@ -14,6 +14,9 @@ _vehiclePlayer = vehicle (playersArray select _playerno);
|
|||||||
deletevehicle _trg;
|
deletevehicle _trg;
|
||||||
null = [_taskid, "SUCCEEDED", False] spawn BIS_fnc_taskSetState;
|
null = [_taskid, "SUCCEEDED", False] spawn BIS_fnc_taskSetState;
|
||||||
hint 'Landing successful!';
|
hint 'Landing successful!';
|
||||||
|
// the trigger was deleted when handler was called
|
||||||
|
trigIdsArray set [_playerno, false];
|
||||||
|
|
||||||
|
|
||||||
_squadArray = squadMDArray select _playerno;
|
_squadArray = squadMDArray select _playerno;
|
||||||
_enemyArray = enemyMDArray select _playerno;
|
_enemyArray = enemyMDArray select _playerno;
|
||||||
|
@ -7,7 +7,16 @@ _taskid = taskIdsArray select _playerno;
|
|||||||
null = [_taskid, "FAILED", False] spawn BIS_fnc_taskSetState;
|
null = [_taskid, "FAILED", False] spawn BIS_fnc_taskSetState;
|
||||||
[_taskid] call BIS_fnc_deleteTask;
|
[_taskid] call BIS_fnc_deleteTask;
|
||||||
taskIdsArray set [_playerno, false];
|
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 "taskIdsArray";
|
||||||
|
publicVariable "trigIdsArray";
|
||||||
|
|
||||||
_squadArray = squadMDArray select _playerno;
|
_squadArray = squadMDArray select _playerno;
|
||||||
_enemyArray = enemyMDArray select _playerno;
|
_enemyArray = enemyMDArray select _playerno;
|
||||||
|
Loading…
Reference in New Issue
Block a user