BIS fnc relPos: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 90: Line 90:
Example:<br>
Example:<br>
<code>_relPos = _caller [[getPos]] [([[abs]] _boundingBoxDimensions) -0.2, _direction];</code>
<code>_relPos = _caller [[getPos]] [([[abs]] _boundingBoxDimensions) -0.2, _direction];</code>
// RESULT: 0.0021 ms<br>
<br>
is equal to:<br>
is equal to:<br>
<code>_relPos = [_caller, ([[abs]] _boundingBoxDimensions) -0.2, _direction] [[call]] BIS_fnc_relPos;</code>
<code>_relPos = [_caller, ([[abs]] _boundingBoxDimensions) -0.2, _direction] [[call]] BIS_fnc_relPos;</code>
// RESULT: 0.554324 ms


</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 22:56, 25 March 2017


Hover & click on the images for description

Description

Description:
/************************************************************
	Relative Position

Parameters: [object or position, distance, direction]

Returns a position that is a specified distance and compass
direction from the passed position or object.

Example: [player, 5, 100] call BIS_fnc_relPos
************************************************************/

(Placeholder description extracted from the function header by BIS_fnc_exportFunctionsToWiki)
Execution:
call
Groups:
Uncategorised

Syntax

Syntax:
Syntax needed
Return Value:
Return value needed

Examples

Example 1:
//Lawman_Actual: "Will Create a nice spiral of flares from the player at 30 degree intervals and increasing distance" for "_x" from 0 to 1440 step 30 do{ _distance = (_x/100)*2; _targetPos = [(getPos player), _distance, _x] call BIS_fnc_relPos; _targetPos set [2,0]; _flare = "F_40mm_White" createVehicle _targetPos; sleep 0.25; };

Additional Information

See also:
getPos

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Bottom Section

Posted on January 7, 2016 - 19:26 (UTC)
Lawman Actual
The function appears to work in two dimensions, and as such can be used to find the position of a target relative to the player if bearing and distance are known. However, if there is a significant change in elevation between yourself and the target, the distance registered on a ragefinder (which is measuring a 3 dimensional straight line) will always be larger than the two-dimensional value required for BIS_fnc_relPos and as such air-strikes and ordnance called in using such a function can miss by several hundred metres in extreme cases. Currently searching for a method which incorporates the azimuth of the rangefinder in calculation.
Posted on March 25, 2017 - 20:36 (UTC)
Feint
Since Arma 3 v1.55.133361, an alternative syntax was added to getPos that allows one to get a position that is a given distance and heading away from original object or position, the equivalent of BIS_fnc_relPos

Example:
_relPos = _caller getPos [(abs _boundingBoxDimensions) -0.2, _direction]; // RESULT: 0.0021 ms

is equal to:
_relPos = [_caller, (abs _boundingBoxDimensions) -0.2, _direction] call BIS_fnc_relPos; // RESULT: 0.554324 ms