/* * Author: commy2 * * Check if the vehicle is in range of the player. * * Argument: * 0: Vehicke (Object) * 1: Distance in meters (Number) * * Return value: * (Bool) */ #include "script_component.hpp" private ["_vehicle", "_distance", "_player"]; _vehicle = _this select 0; _distance = _this select 1; _player = ACE_player; if (_vehicle isKindOf "Man") exitWith {_player distance _vehicle < _distance}; private ["_position0", "_position1"];//, "_direction"]; _position0 = getPosASL _player; _position1 = getPosASL _vehicle; /* _direction = _position1 vectorDiff _position0; _direction = _direction vectorMultiply (_distance / (vectorMagnitude _direction)); _position0 = eyePos _player; _position1 = _position0 vectorAdd _direction; _vehicle in lineIntersectsWith [_position0, _position1] || {_player distance _vehicle < _distance} */ _position0 = ATLToASL positionCameraToWorld [0, 0, 0]; _position0 set [2, (_position0 select 2) - (getTerrainHeightASL _position0 min 0)]; _position1 = ATLToASL positionCameraToWorld [0, 0, _distance]; _position1 set [2, (_position1 select 2) - (getTerrainHeightASL _position1 min 0)]; if (_vehicle in lineIntersectsWith [_position0, _position1] || {_player distance _vehicle < _distance}) then { true } else { ["Not in Range"] call FUNC(addToTooltip); false }