From b06990293397d4b6d0374097f09d1cc5679216e3 Mon Sep 17 00:00:00 2001 From: hybrid Date: Thu, 11 Jun 2026 19:55:04 +0300 Subject: init --- Common/Functions/Common_GetTeamVehicles.sqf | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Common/Functions/Common_GetTeamVehicles.sqf (limited to 'Common/Functions/Common_GetTeamVehicles.sqf') diff --git a/Common/Functions/Common_GetTeamVehicles.sqf b/Common/Functions/Common_GetTeamVehicles.sqf new file mode 100644 index 0000000..713fe89 --- /dev/null +++ b/Common/Functions/Common_GetTeamVehicles.sqf @@ -0,0 +1,30 @@ +private ["_canMove","_crew","_ignoreOwnerConflict","_member","_ownerConflict","_range","_team","_teamVehicles","_units","_vehicle"]; + +_team = _this select 0; +_canMove = _this select 1; + +_member = objNull; +_range = 150; +if (count _this > 2) then {_member = _this select 2}; +if (count _this > 3) then {_range = _this select 3}; + +_ignoreOwnerConflict = false; +if (count _this > 4) then {_ignoreOwnerConflict = _this select 4}; + +_teamVehicles = []; +_units = units _team; + + { + _vehicle = vehicle _x; + + if (_x != _vehicle && !(_vehicle in _teamVehicles)) then {_teamVehicles = _teamVehicles + [_vehicle]}; + if (_canMove && !canMove _vehicle) then {_teamVehicles = _teamVehicles - [_vehicle]}; + if (!IsNull _member && _member distance _vehicle > _range) then {_teamVehicles = _teamVehicles - [_vehicle]}; + + _ownerConflict = false; + _crew = crew _vehicle; + {if (_x != leader _team && isPlayer _x) then {_ownerConflict = true}} forEach _crew; + if (!_ignoreOwnerConflict && _ownerConflict) then {_teamVehicles = _teamVehicles - [_vehicle]}; + } forEach _units; + +_teamVehicles \ No newline at end of file -- cgit v1.3.1