From 39beec8abc108edf5c2152148fb623f08fe07ad3 Mon Sep 17 00:00:00 2001 From: ante <49555217+ante185@users.noreply.github.com> Date: Sat, 4 Nov 2023 22:54:22 +0100 Subject: [PATCH 1/4] Update fn_AAFroadPatrol.sqf --- .../core/functions/CREATE/fn_AAFroadPatrol.sqf | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf index ca8e6620f1..f395005191 100644 --- a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf +++ b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf @@ -23,10 +23,21 @@ private _bases = (seaports + airportsX + outposts) select { }; }; if (_bases isEqualTo []) exitWith {}; - Debug_1("Possible patrol bases %1", _bases); -_base = selectRandom _bases; +//Filters out bases with players too close +private _startBases = _bases; +_base = selectRandom _startBases; +private _limit = 3; //unsure how needed a hard limit on tries is, checking all of _startBases might or might not be acceptable. +private _tries = 0; +while { _tries < _limit && !(_players inAreaArray [markerPos _base, 250, 250] isEqualTo [])} +do { + _tries = _tries + 1; + _startBases deleteAt (_startBases find _base); + if (_startBases isEqualTo []) exitWith {}; + _base = selectRandom _startBases; +}; + _sideX = sidesX getVariable [_base,sideUnknown]; private _faction = Faction(_sideX); From 612b929907f94dbd494584e4fac8032a912dd4eb Mon Sep 17 00:00:00 2001 From: ante <49555217+ante185@users.noreply.github.com> Date: Sun, 5 Nov 2023 20:37:17 +0100 Subject: [PATCH 2/4] Update fn_AAFroadPatrol.sqf --- .../core/functions/CREATE/fn_AAFroadPatrol.sqf | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf index f395005191..6352baea0f 100644 --- a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf +++ b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf @@ -14,7 +14,7 @@ _roads = []; private _players = allPlayers - entities "HeadlessClient_F"; private _bases = (seaports + airportsX + outposts) select { call { - if (_players inAreaArray [markerPos _x, 2000, 2000] isEqualTo []) exitWith {false}; + if ((_players inAreaArray [markerPos _x, 2000, 2000] isEqualTo []) && !(_players inAreaArray [markerPos _base, 250, 250] isEqualTo [])) exitWith {false}; private _side = sidesX getVariable [_x, sideUnknown]; if (_side == teamPlayer) exitWith {false}; if (_x in seaports and Faction(_side) get "vehiclesGunBoats" isEqualTo []) exitWith {false}; @@ -25,18 +25,7 @@ private _bases = (seaports + airportsX + outposts) select { if (_bases isEqualTo []) exitWith {}; Debug_1("Possible patrol bases %1", _bases); -//Filters out bases with players too close -private _startBases = _bases; _base = selectRandom _startBases; -private _limit = 3; //unsure how needed a hard limit on tries is, checking all of _startBases might or might not be acceptable. -private _tries = 0; -while { _tries < _limit && !(_players inAreaArray [markerPos _base, 250, 250] isEqualTo [])} -do { - _tries = _tries + 1; - _startBases deleteAt (_startBases find _base); - if (_startBases isEqualTo []) exitWith {}; - _base = selectRandom _startBases; -}; _sideX = sidesX getVariable [_base,sideUnknown]; private _faction = Faction(_sideX); From 290d0fffa09fda232e3d46453bb9c5eaffce56a4 Mon Sep 17 00:00:00 2001 From: ante <49555217+ante185@users.noreply.github.com> Date: Sun, 5 Nov 2023 20:47:14 +0100 Subject: [PATCH 3/4] Update fn_AAFroadPatrol.sqf --- A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf index 6352baea0f..b9fd0b4a71 100644 --- a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf +++ b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf @@ -14,7 +14,7 @@ _roads = []; private _players = allPlayers - entities "HeadlessClient_F"; private _bases = (seaports + airportsX + outposts) select { call { - if ((_players inAreaArray [markerPos _x, 2000, 2000] isEqualTo []) && !(_players inAreaArray [markerPos _base, 250, 250] isEqualTo [])) exitWith {false}; + if ((_players inAreaArray [markerPos _x, 2000, 2000] isEqualTo []) && !(_players inAreaArray [markerPos _x, 350, 350] isEqualTo [])) exitWith {false}; private _side = sidesX getVariable [_x, sideUnknown]; if (_side == teamPlayer) exitWith {false}; if (_x in seaports and Faction(_side) get "vehiclesGunBoats" isEqualTo []) exitWith {false}; From 8ce1c740d65d49fa718bdb33e56db3afac2b8254 Mon Sep 17 00:00:00 2001 From: ante <49555217+ante185@users.noreply.github.com> Date: Sun, 5 Nov 2023 20:58:49 +0100 Subject: [PATCH 4/4] Update fn_AAFroadPatrol.sqf --- A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf index b9fd0b4a71..bb18166c28 100644 --- a/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf +++ b/A3A/addons/core/functions/CREATE/fn_AAFroadPatrol.sqf @@ -25,7 +25,7 @@ private _bases = (seaports + airportsX + outposts) select { if (_bases isEqualTo []) exitWith {}; Debug_1("Possible patrol bases %1", _bases); -_base = selectRandom _startBases; +_base = selectRandom _bases; _sideX = sidesX getVariable [_base,sideUnknown]; private _faction = Faction(_sideX);