mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
49442da4d4
Rearming not local turrets do not work, so make it similar to new Dyna-Options to add / remove Magazines - Driver can Refuel / Repair and Reload only Driver-Weapons - All other Seats can only rearm they current available weapons
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
/*
|
|
Author: [Ignatz] He-Man
|
|
|
|
Contributors: Aaron Clark - EpochMod.com
|
|
|
|
Description:
|
|
Check if in Service Point for A3 Epoch
|
|
|
|
Licence:
|
|
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
|
|
|
Github:
|
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Check.sqf
|
|
*/
|
|
|
|
//[[[cog import generate_private_arrays ]]]
|
|
private ["_ServicePointClasses","_config","_inSP","_nearClasses","_servicepointDist","_servicepoints","_vehicle"];
|
|
//[[[end]]]
|
|
|
|
_vehicle = vehicle player;
|
|
if (_vehicle == player) exitwith {false};
|
|
// if !(local _vehicle) exitwith {false};
|
|
if (speed _vehicle > 2 || speed _vehicle < -2) exitwith {false};
|
|
if (((getpos _vehicle) select 2) > 1) exitwith {false};
|
|
if (!(_vehicle iskindof 'ship') && (((getposasl _vehicle) select 2) < 1)) exitwith {false};
|
|
|
|
_config = 'CfgServicePoint' call EPOCH_returnConfig;
|
|
_servicepoints = getArray (_config >> worldname >> 'ServicePoints');
|
|
_servicepointDist = ["CfgServicePoint", "ServicePointDist", 40] call EPOCH_fnc_returnConfigEntryV2;
|
|
_ServicePointClasses = ["CfgServicePoint", "ServicePointClasses", []] call EPOCH_fnc_returnConfigEntryV2;
|
|
|
|
if (_servicepoints isequalto [] && _ServicePointClasses isequalto []) exitwith {false};
|
|
|
|
_inSP = false;
|
|
{
|
|
if (count _x > 3) then {
|
|
_x params ["_pos","_dist","_vehtypes"];
|
|
{
|
|
if (_vehicle iskindof _x && _vehicle distance _pos < _dist) exitwith {
|
|
_inSP = true;
|
|
};
|
|
} foreach _vehtypes;
|
|
}
|
|
else {
|
|
if (_vehicle distance _x < _servicepointDist) then {
|
|
_inSP = true;
|
|
};
|
|
};
|
|
if (_inSP) exitwith {};
|
|
} foreach _servicepoints;
|
|
|
|
if (!_inSP) then {
|
|
if !(_ServicePointClasses isequalto []) then {
|
|
_nearClasses = nearestobjects [_vehicle,_ServicePointClasses,_servicepointDist];
|
|
if !(_nearClasses isequalto []) then {
|
|
_inSP = true;
|
|
};
|
|
};
|
|
};
|
|
_inSP
|