Difference between revisions of "getPos"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (template:command argument fix)
 
(15 intermediate revisions by 6 users not shown)
Line 9: Line 9:
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| Returns the object position in format [[Position]]. Z value is height over the surface underneath. |= Description
+
| Returns the object position in format [[PositionAGLS]]. Z value is height over the surface underneath. <br><br>
 +
Since Arma 3 v1.55.133361, an alternative syntax is added that allows to get position given distance and heading away from original object or position, the equivalent of [[BIS_fnc_relPos]]|DESCRIPTION=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| [[Array]] <nowiki>=</nowiki> '''getPos''' object |= Syntax
+
| '''getPos''' object |SYNTAX=
|p1 = object: [[Object]]; since VBS2 1.24: [[Location]]
+
|p1 = object: [[Object]] or [[Location]]|=
| [[Array]] - format [[Position]] |= Return value
+
| [[Array]] - format [[PositionAGLS]] |RETURNVALUE=
 +
 
 +
| s2= origin '''getPos''' [distance, heading] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (''Since Arma 3 v1.55.133361'') |SYNTAX=
 +
|p21 = origin: [[Object]], [[Position2D]] or [[Position3D]]|=
 +
|p22 =  [distance, heading]: [[Array]]|=
 +
|p23 =  distance: [[Number]] - distance from position|=
 +
|p24 =  heading: [[Number]] - in which compass direction |=
 +
 
 +
| r2= [[Array]] - format [x,y,z], where z is land surface in format [[PositionAGL]] |RETURNVALUE=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
|x1 = <code>[[getPos]] [[player]] </code> |= Example1
+
|x1 = <code>[[hintSilent]] [[str]] [[getPos]] [[player]];</code> |EXAMPLE1=
  
|x2 = <code>//getPos vs. other methods (over sea)
+
|x2 = [[getPos]] vs. other methods (over sea)
[[diag_log]] [[getPos]] ship; //[2412.01,6036.33,-0.839965]
+
<code>[[diag_log]] [[getPos]] ship;           // [2412.01, 6036.33, -0.839965]
[[diag_log]] [[getPosATL]] ship; //[2412.01,6036.33,19.4266]
+
[[diag_log]] [[getPosATL]] ship;         // [2412.01, 6036.33, 19.4266]
[[diag_log]] [[getPosASL]] ship; //[2412.01,6036.33,-0.920066]
+
[[diag_log]] [[getPosASL]] ship;         // [2412.01, 6036.33, -0.920066]
[[diag_log]] [[getPosASLW]] ship; //[2412.01,6036.33,-0.865981]
+
[[diag_log]] [[getPosASLW]] ship;         // [2412.01, 6036.33, -0.865981]
[[diag_log]] [[visiblePosition]] ship; //[2412.02,6036.33,-0.837952]
+
[[diag_log]] [[visiblePosition]] ship;   // [2412.02, 6036.33, -0.837952]
[[diag_log]] [[visiblePositionASL]] ship; //[2412.02,6036.33,-0.91798]
+
[[diag_log]] [[visiblePositionASL]] ship; // [2412.02, 6036.33, -0.91798]
[[diag_log]] [[position]] ship; //[2412.01,6036.33,-0.839965]</code>|= Example2
+
[[diag_log]] [[position]] ship;           // [2412.01, 6036.33, -0.839965]</code> |EXAMPLE2=  
  
|x3 = <code>//getPos vs. other methods (over land)
+
|x3 = [[getPos]] vs. other methods (over land)
[[diag_log]] [[getPos]] car; //[2508.64,5681.47,0.0609589]
+
<code>[[diag_log]] [[getPos]] car;             // [2508.64, 5681.47, 0.0609589]
[[diag_log]] [[getPosATL]] car; //[2508.64,5681.47,0.0356369]
+
[[diag_log]] [[getPosATL]] car;           // [2508.64, 5681.47, 0.0356369]
[[diag_log]] [[getPosASL]] car; //[2508.64,5681.47,71.718]
+
[[diag_log]] [[getPosASL]] car;           // [2508.64, 5681.47, 71.718]
[[diag_log]] [[getPosASLW]] 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]] [[visiblePosition]] car;     // [2508.64, 5681.47, 0.0609512]
[[diag_log]] [[visiblePositionASL]] car; //[2508.64,5681.47,71.718]
+
[[diag_log]] [[visiblePositionASL]] car; // [2508.64, 5681.47, 71.718]
[[diag_log]] [[position]] car; //[2508.64,5681.47,0.0609589]</code>|= Example3
+
[[diag_log]] [[position]] car;           // [2508.64, 5681.47, 0.0609589]</code> |EXAMPLE3=
  
| [[setPos]], [[position]], [[getPosATL]], [[getPosASL]], [[getPosASLW]], [[visiblePosition]], [[visiblePositionASL]], [[getMarkerPos]]  |= See also
+
|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 47: Line 58:
 
  getPos obj select 2  
 
  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'''.
 
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 class="note">'''[[User:Hduregger|Hduregger]]'''<dd class="note">
 
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.
 
[[getPos]] behaves similar to
 
_obj modelToWorld [0.0, 0.0, 0.0]
 
but it does not give the same result, therefore
 
(_obj modelToWorld [0.0, 0.0, 0.0]) != (getPos _obj).
 
  
 
<dd class="notedate">Posted on 23 Nov, 2011
 
<dd class="notedate">Posted on 23 Nov, 2011
Line 69: Line 68:
 
<h3 style="display:none">Bottom Section</h3>
 
<h3 style="display:none">Bottom Section</h3>
 
[[Category:Scripting Commands|GETPOS]]
 
[[Category:Scripting Commands|GETPOS]]
 +
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting Commands OFP 1.96|GETPOS]]
 
[[Category:Scripting Commands OFP 1.96|GETPOS]]
 
[[Category:Scripting Commands OFP 1.46|GETPOS]]
 
[[Category:Scripting Commands OFP 1.46|GETPOS]]

Latest revision as of 15:40, 7 April 2019

Introduced with Operation Flashpoint version 1.00
  Arguments of this scripting command don't have to be local to the client the command is executed on

Click on the images for descriptions

Introduced in

Game:
Operation Flashpoint
Version:
1.00

Description

Description:
Returns the object position in format PositionAGLS. Z value is height over the surface underneath.

Since Arma 3 v1.55.133361, an alternative syntax is added that allows to get position given distance and heading away from original object or position, the equivalent of BIS_fnc_relPos

Syntax

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

Alternative Syntax

Syntax:
origin getPos [distance, heading]         (Since Arma 3 v1.55.133361)
Parameters:
origin: Object, Position2D or Position3D
[distance, heading]: Array
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

Multiplayer:
-
See also:
getPosVisualgetRelPossetPossetPosAGLSpositiongetPosATLgetPosASLgetPosASLWvisiblePositionvisiblePositionASLgetMarkerPos

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

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