Difference between revisions of "getPos"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (correction)
m (Text replacement - "|=GROUP1" to "|GROUP1=")
 
(58 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{Command|= Comments
+
{{Command|Comments=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| ofp |= Game name
+
| ofp |Game name=
  
|1.00|= Game version
+
|1.00|Game version=
 +
 
 +
|arg= global |Multiplayer Arguments=
 +
 
 +
|gr1= Positions |GROUP1=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| Returns the object position in format [[Position]]. |= 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.<br>
 +
The alternative syntax gets the position given distance and heading away from provided object or position - the equivalent of [[BIS_fnc_relPos]]. |DESCRIPTION=
 +
____________________________________________________________________________________________
 +
 
 +
| [[getPos]] object |SYNTAX=
 +
 
 +
|p1 = object: [[Object]]|PARAMETER1=
 +
 
 +
| [[Array]] - format [[PositionAGLS]] |RETURNVALUE=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| '''getPos''' obj |= Syntax
+
|s2= [[getPos]] location |SYNTAX2=
|p1 = obj: [[Object]]
+
 
| [[Array]] |= Return value
+
|p21= location: [[Location]] |PARAMETER21=
 +
 
 +
|r2= [[Array]] - format [x,y,z], where z is <tt>-1 * [[getTerrainHeightASL]]</tt> at the location |RETURNVALUE2=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
|x1 = <code>'''getPos''' [[player]] </code>
 
|  |= See also
 
  
 +
|s3= origin [[getPos]] [distance, heading] {{since|arma3|1.55.133361|y}} |SYNTAX3=
 +
 +
|p41= origin: [[Object]], [[Position2D]] or [[Position3D]] |PARAMETER41=
 +
 +
|p42=  distance: [[Number]] - distance from position |PARAMETER43=
 +
 +
|p43=  heading: [[Number]] - in which compass direction |PARAMETER44=
 +
 +
| r3= [[Array]] - format [x,y,z], where z is land surface in format [[PositionAGL]] |RETURNVALUE3=
 +
____________________________________________________________________________________________
 +
|x1 = <code>[[hintSilent]] [[str]] [[getPos]] [[player]];</code> |EXAMPLE1=
 +
 +
|x2 = [[getPos]] vs. other methods (over sea)
 +
<code>[[diag_log]] [[getPos]] ship; // [2412.01, 6036.33, -0.839965]
 +
[[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)
 +
<code>[[diag_log]] [[getPos]] car; // [2508.64, 5681.47, 0.0609589]
 +
[[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=
 +
 +
|x4 = Find position 100 metres and 45 degrees from player position:<code>[[player]] [[getPos]] [100, 45];</code> |EXAMPLE4=
 +
 +
| [[getPosVisual]], [[getRelPos]], [[setPos]], [[Position#setPosAGLS|setPosAGLS]], [[position]], [[getPosATL]], [[getPosASL]], [[getPosASLW]], [[visiblePosition]], [[visiblePositionASL]], [[getMarkerPos]] |SEEALSO=
 
}}
 
}}
  
Line 22: Line 67:
 
<dl class="command_description">
 
<dl class="command_description">
 
<!-- Note Section BEGIN -->
 
<!-- Note Section BEGIN -->
ArmA Ver '''1.02''':  
+
<dd class="notedate">Posted on 16 Feb, 2007</dd>
getPos obj select 2  
+
<dt class="note">[[User:Dr_Eyeball|Dr_Eyeball]]</dt>
often returns the vertical position above ground level, but for 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 commands [[worldToModel]] or [[modelToWorld]] instead to get around this issue where an absolute verticle position is required.
+
<dd class="note">
 +
<code>[[getPos]] obj [[select]] 2 </code>
 +
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>
 +
 
 +
<dd class="notedate">Posted on 23 Nov, 2011</dd>
 +
<dt class="note">[[User:Tankbuster|Tankbuster]]</dt>
 +
<dd class="note">
 +
You can use [[getPos]] and [[setPos]] on triggers.
 +
</dd>
 +
 
 
<!-- Note Section END -->
 
<!-- Note Section END -->
 
</dl>
 
</dl>
  
 
<h3 style="display:none">Bottom Section</h3>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|GETPOS]]
+
[[Category:Scripting Commands OFP 1.46|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|GETPOS]]
+
[[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.46|GETPOS]]
+
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA|GETPOS]]
+
[[Category:Scripting Commands Armed Assault|{{uc:{{PAGENAME}}}}]]
 +
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
 +
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
 +
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]

Latest revision as of 18:08, 26 September 2020

Introduced with Operation Flashpoint version 1.001.00Arguments of this scripting command don't have to be local to the client the command is executed on
Hover & click on the images for descriptions

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.

Syntax

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

Alternative Syntax

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

Alternative Syntax 2

Syntax:
origin getPos [distance, heading] Since Arma 3 v1.55.133361
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 in format PositionAGL

Examples

Example 1:
hintSilent str getPos player;
Example 2:
getPos vs. other methods (over sea) diag_log getPos ship; // [2412.01, 6036.33, -0.839965] 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]
Example 3:
getPos vs. other methods (over land) diag_log getPos car; // [2508.64, 5681.47, 0.0609589] 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]
Example 4:
Find position 100 metres and 45 degrees from player position:player getPos [100, 45];

Additional Information

See also:
getPosVisualgetRelPossetPossetPosAGLSpositiongetPosATLgetPosASLgetPosASLWvisiblePositionvisiblePositionASLgetMarkerPos
Groups:
Positions

Notes

i
Only post proven facts here. Report bugs on the Feedback Tracker and discuss on the Arma Discord or on the Forums.

Notes

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 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.

Bottom Section