getPos: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(moved note to talk)
m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ")
(46 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofp |= Game name
|game1= ofp
|version1= 1.00


|1.00|= Game version
|game2= ofpe
|version2= 1.00


|arg= global |= Arguments in MP
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| Returns the object position in format [[Position]]. Z value is height over the surface underneath. |= Description
|game4= arma2
____________________________________________________________________________________________
|version4= 1.00


| [[Array]] <nowiki>=</nowiki> '''getPos''' object |= Syntax
|game5= arma2oa
|p1 = object: [[Object]]; since VBS2 1.24: [[Location]]
|version5= 1.50
| [[Array]] - format [[Position]] |= Return value
____________________________________________________________________________________________
|x1 = <code>[[hintSilent]] [[str]] [[getPos]] [[player]];</code> |= Example1


|x2 = [[getPos]] vs. other methods (over sea)
|game6= tkoh
<code>[[diag_log]] [[getPos]] ship;            // [2412.01, 6036.33, -0.839965]
|version6= 1.00
[[diag_log]] [[getPosATL]] ship;          // [2412.01, 6036.33, 19.4266]
[[diag_log]] [[getPosASL]] ship;          // [2412.01, 6036.33, -0.920066]
[[diag_log]] [[getPosASLW]] ship;        // [2412.01, 6036.33, -0.865981]
[[diag_log]] [[visiblePosition]] ship;    // [2412.02, 6036.33, -0.837952]
[[diag_log]] [[visiblePositionASL]] ship; // [2412.02, 6036.33, -0.91798]
[[diag_log]] [[position]] ship;          // [2412.01, 6036.33, -0.839965]</code> |= Example2


|x3 = [[getPos]] vs. other methods (over land)
|game7= arma3
<code>[[diag_log]] [[getPos]] car;            // [2508.64, 5681.47, 0.0609589]
|version7= 0.50
[[diag_log]] [[getPosATL]] car;          // [2508.64, 5681.47, 0.0356369]
[[diag_log]] [[getPosASL]] car;          // [2508.64, 5681.47, 71.718]
[[diag_log]] [[getPosASLW]] car;          // [2508.64, 5681.47, 71.718]
[[diag_log]] [[visiblePosition]] car;    // [2508.64, 5681.47, 0.0609512]
[[diag_log]] [[visiblePositionASL]] car;  // [2508.64, 5681.47, 71.718]
[[diag_log]] [[position]] car;            // [2508.64, 5681.47, 0.0609589]</code> |= Example3


| [[getPosVisual]], [[setPos]], [[position]], [[getPosATL]], [[getPosASL]], [[getPosASLW]], [[visiblePosition]], [[visiblePositionASL]], [[getMarkerPos]]  |= See also
|arg= global


|gr1= Positions
|descr= Returns object or location position. If the argument is the object, the return value is in format [[PositionAGLS]]. Z value is height over the surface underneath.<br>
The alternative syntax gets the position given distance and heading away from provided object or position - the equivalent of [[BIS_fnc_relPos]].
|s1= [[getPos]] object
|p1= object: [[Object]]
|r1= [[Array]] - format [[PositionAGLS]]
|s2= [[getPos]] location
|p21= location: [[Location]]
|r2= [[Array]] - format [x,y,z], where z is <tt>-1 * [[getTerrainHeightASL]]</tt> at the location
|s3= origin [[getPos]] [distance, heading] {{Since|arma3|1.55.133361|y}}
|p41= origin: [[Object]], [[Position2D]] or [[Position3D]]
|p42= distance: [[Number]] - distance from position
|p43= heading: [[Number]] - in which compass direction
|r3= [[Array]] - format [x,y,z], where z is land surface position in format [[PositionAGL]]
|x1= <code>[[hintSilent]] [[str]] [[getPos]] [[player]];</code>
|x2= [[getPos]] vs. other methods (over sea)
<code>[[getPos]] ship; {{cc|[2412.01, 6036.33, -0.839965]}}
[[getPosATL]] ship; {{cc|[2412.01, 6036.33, 19.4266]}}
[[getPosASL]] ship; {{cc|[2412.01, 6036.33, -0.920066]}}
[[getPosASLW]] ship; {{cc|[2412.01, 6036.33, -0.865981]}}
[[visiblePosition]] ship; {{cc|[2412.02, 6036.33, -0.837952]}}
[[visiblePositionASL]] ship; {{cc|[2412.02, 6036.33, -0.91798]}}
[[position]] ship; {{cc|[2412.01, 6036.33, -0.839965]}}</code>
|x3= [[getPos]] vs. other methods (over land)
<code>[[getPos]] car; {{cc|[2508.64, 5681.47, 0.0609589]}}
[[getPosATL]] car; {{cc|[2508.64, 5681.47, 0.0356369]}}
[[getPosASL]] car; {{cc|[2508.64, 5681.47, 71.718]}}
[[getPosASLW]] car; {{cc|[2508.64, 5681.47, 71.718]}}
[[visiblePosition]] car; {{cc|[2508.64, 5681.47, 0.0609512]}}
[[visiblePositionASL]] car; {{cc|[2508.64, 5681.47, 71.718]}}
[[position]] car; {{cc|[2508.64, 5681.47, 0.0609589]}}</code>
|x4= Find position 100 metres and 45 degrees from player position:<code>[[player]] [[getPos]] [100, 45];</code>
|seealso= [[getPosVisual]], [[getRelPos]], [[setPos]], [[Position#setPosAGLS|setPosAGLS]], [[position]], [[getPosATL]], [[getPosASL]], [[getPosASLW]], [[visiblePosition]], [[visiblePositionASL]], [[getMarkerPos]]
}}
}}


<h3 style="display:none">Notes</h3>
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on 16 Feb, 2007
<dt class="note">'''[[User:Dr_Eyeball|Dr_Eyeball]]'''<dd class="note">
getPos obj select 2
might return the vertical position above ground level, but for a stacked object, it returns the vertical position above the object beneath it. The same problem exists for [[getPosASL]]. There was a [http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?s=e587356595b907e91f96b8817d7f8a26;act=ST;f=71;t=57918 discussion] thread in the BIS forums which suggested the use of the command [[modelToWorld]] instead to get around this issue where an absolute vertical position is required. ArmA Ver '''1.02'''.
<dd class="notedate">Posted on 14 Dec, 2010
<dt class="note">'''[[User:disat|disat]]'''<dd class="note">
This command returns a [[PositionAGL]].  Apparently, [[Position]] and [[PositionAGL]] are the same thing.


<dd class="notedate">Posted on 6 Feb, 2011
<dt></dt>
<dt class="note">'''[[User:Hduregger|Hduregger]]'''<dd class="note">
<dd class="notedate">Posted on 16 Feb, 2007</dd>
The z height returned changes dynamically with the height of waves beneath the object, if the object is located over sea. The z height returned by [[getPosATL]] and [[getPosASL]] does not change like this. This was tested by continuously retrieving the position of a static object, like the cross in the empty/corpses category, placed over sea or land.
<dt class="note">[[User:Dr_Eyeball|Dr_Eyeball]]</dt>
[[getPos]] behaves similar to
<dd class="note">
_obj modelToWorld [0.0, 0.0, 0.0]
<code>[[getPos]] obj [[select]] 2</code>
but it does not give the same result, therefore
might return the vertical position above ground level, but for a stacked object, it returns the vertical position above the object beneath it. The same problem exists for [[getPosASL]]. There was a {{ExternalLink|link= http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?s=e587356595b907e91f96b8817d7f8a26;act=ST;f=71;t=57918|text= discussion}} thread in the BIS forums which suggested the use of the command [[modelToWorld]] instead to get around this issue where an absolute vertical position is required. ArmA Ver '''1.02'''.
(_obj modelToWorld [0.0, 0.0, 0.0]) is not the same as (getPos _obj).
</dd>


<dd class="notedate">Posted on 23 Nov, 2011
<dt><dt>
<dt class="note">'''[[User:Tankbuster|Tankbuster]]'''<dd class="note">
<dd class="notedate">Posted on 23 Nov, 2011</dd>
You can use getPos and setPos on triggers.  
<dt class="note">[[User:Tankbuster|Tankbuster]]</dt>
<dd class="note">
You can use [[getPos]] and [[setPos]] on triggers.  
</dd>


<!-- Note Section END -->
</dl>
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|GETPOS]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|GETPOS]]
[[Category:Scripting Commands OFP 1.46|GETPOS]]
[[Category:Scripting Commands ArmA|GETPOS]]
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]

Revision as of 23:12, 19 June 2021

Hover & click on the images for description

Description

Description:
Returns object or location position. If the argument is the object, the return value is in format PositionAGLS. Z value is height over the surface underneath.
The alternative syntax gets the position given distance and heading away from provided object or position - the equivalent of BIS_fnc_relPos.
Groups:
Positions

Syntax 1

Syntax:
getPos object
Parameters:
object: Object
Return Value:
Array - format PositionAGLS

Syntax 2

Syntax:
getPos location
Parameters:
location: Location
Return Value:
Array - format [x,y,z], where z is -1 * getTerrainHeightASL at the location

Syntax 3

Syntax:
origin getPos [distance, heading] Template:Since
Parameters:
origin: Object, Position2D or Position3D
distance: Number - distance from position
heading: Number - in which compass direction
Return Value:
Array - format [x,y,z], where z is land surface position in format PositionAGL

Examples

Example 1:
hintSilent str getPos player;
Example 2:
getPos vs. other methods (over sea) getPos ship; // [2412.01, 6036.33, -0.839965] getPosATL ship; // [2412.01, 6036.33, 19.4266] getPosASL ship; // [2412.01, 6036.33, -0.920066] getPosASLW ship; // [2412.01, 6036.33, -0.865981] visiblePosition ship; // [2412.02, 6036.33, -0.837952] visiblePositionASL ship; // [2412.02, 6036.33, -0.91798] position ship; // [2412.01, 6036.33, -0.839965]
Example 3:
getPos vs. other methods (over land) getPos car; // [2508.64, 5681.47, 0.0609589] getPosATL car; // [2508.64, 5681.47, 0.0356369] getPosASL car; // [2508.64, 5681.47, 71.718] getPosASLW car; // [2508.64, 5681.47, 71.718] visiblePosition car; // [2508.64, 5681.47, 0.0609512] visiblePositionASL car; // [2508.64, 5681.47, 71.718] position car; // [2508.64, 5681.47, 0.0609589]
Example 4:
Find position 100 metres and 45 degrees from player position:player getPos [100, 45];

Additional Information

See also:
getPosVisualgetRelPossetPossetPosAGLSpositiongetPosATLgetPosASLgetPosASLWvisiblePositionvisiblePositionASLgetMarkerPos

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
Posted on 16 Feb, 2007
Dr_Eyeball
getPos obj select 2 might return the vertical position above ground level, but for a stacked object, it returns the vertical position above the object beneath it. The same problem exists for getPosASL. There was a discussion (dead link) thread in the BIS forums which suggested the use of the command modelToWorld instead to get around this issue where an absolute vertical position is required. ArmA Ver 1.02.
Posted on 23 Nov, 2011
Tankbuster
You can use getPos and setPos on triggers.