diff options
| author | hybrid <hybrid@hybridlabs.pro> | 2026-06-11 19:53:22 +0300 |
|---|---|---|
| committer | hybrid <hybrid@hybridlabs.pro> | 2026-06-11 19:53:22 +0300 |
| commit | c055d44dcdb87e8db49fb23e632fc086aa44cce6 (patch) | |
| tree | 7ac98d865915930bebc86b36b512a859c31538e5 /Common/Functions/Common_GetTeamVehicles.sqf | |
| download | a2wf_zargabad-c055d44dcdb87e8db49fb23e632fc086aa44cce6.tar.gz a2wf_zargabad-c055d44dcdb87e8db49fb23e632fc086aa44cce6.tar.bz2 a2wf_zargabad-c055d44dcdb87e8db49fb23e632fc086aa44cce6.zip | |
init
Diffstat (limited to '')
| -rw-r--r-- | Common/Functions/Common_GetTeamVehicles.sqf | 30 |
1 files changed, 30 insertions, 0 deletions
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 |
