fix: prevent group_diag from prematurely marking patrol groups for deletion
Tags patrol groups (KPLIB_patrol_group) so group_diag skips them, and cleans up the tag + enables deleteGroupWhenEmpty only once the patrol lifecycle is complete. Prevents the '_grp was nil' log spam by fixing the root cause rather than just silencin the symptom.
This commit is contained in:
@@ -12,6 +12,7 @@ while {true} do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if !(isNil "_owner") then {
|
if !(isNil "_owner") then {
|
||||||
|
if (_x getVariable ["KPLIB_patrol_group", false]) then {continue;};
|
||||||
if !(isGroupDeletedWhenEmpty _x) then {
|
if !(isGroupDeletedWhenEmpty _x) then {
|
||||||
if (local _x) then {
|
if (local _x) then {
|
||||||
_x deleteGroupWhenEmpty true;
|
_x deleteGroupWhenEmpty true;
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ while { GRLIB_endgame == 0 } do {
|
|||||||
_grp = group ((crew _vehicle_object) select 0);
|
_grp = group ((crew _vehicle_object) select 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!isNull _grp) then {
|
||||||
|
_grp setVariable ["KPLIB_patrol_group", true, true];
|
||||||
|
};
|
||||||
|
|
||||||
[_grp] spawn patrol_ai;
|
[_grp] spawn patrol_ai;
|
||||||
|
|
||||||
_started_time = time;
|
_started_time = time;
|
||||||
@@ -81,6 +85,15 @@ while { GRLIB_endgame == 0 } do {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!isNull _grp) then {
|
||||||
|
_grp setVariable ["KPLIB_patrol_group", nil, true];
|
||||||
|
if (local _grp) then {
|
||||||
|
_grp deleteGroupWhenEmpty true;
|
||||||
|
} else {
|
||||||
|
[_grp, true] remoteExecCall ["deleteGroupWhenEmpty", groupOwner _grp];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
if ( !([] call KPLIB_fnc_isBigtownActive) ) then {
|
if ( !([] call KPLIB_fnc_isBigtownActive) ) then {
|
||||||
sleep (600.0 / GRLIB_difficulty_modifier);
|
sleep (600.0 / GRLIB_difficulty_modifier);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user