mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
2a7eb07803
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
34 lines
939 B
Plaintext
34 lines
939 B
Plaintext
#include "script_component.hpp"
|
|
/*
|
|
* Author: PabstMirror
|
|
* Gets effective interaction distance (handles very large vehicles)
|
|
*
|
|
* Arguments:
|
|
* 0: Player <OBJECT>
|
|
* 0: Target Vehicle <OBJECT>
|
|
*
|
|
* Return Value:
|
|
* Distance to interaction point <NUMBER>
|
|
*
|
|
* Example:
|
|
* [player, cursorObject] call ace_interaction_fnc_getInteractionDistance
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
params ["_unit", "_target"];
|
|
TRACE_3("getInteractionDistance",_unit,_target,typeOf _target);
|
|
|
|
// Handle Man, Crate
|
|
if (!((_target isKindOf "Car") || {_target isKindOf "Tank"} || {_target isKindOf "Helicopter"} || {_target isKindOf "Plane"} || {_target isKindOf "Ship_F"})) exitWith {
|
|
_unit distance _target
|
|
};
|
|
|
|
private _unitEyeASL = eyePos _unit;
|
|
private _targetModelPos = [_target, _unitEyeASL] call FUNC(getVehiclePosComplex);
|
|
private _distance = _unitEyeASL distance (_target modelToWorldWorld _targetModelPos);
|
|
|
|
TRACE_2("",_targetModelPos,_distance);
|
|
|
|
_distance
|