getPos: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 28: | Line 28: | ||
|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> | |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]]. | The alternative syntax gets the position given distance and heading away from provided object or position - the equivalent of [[BIS_fnc_relPos]]. | ||
{{Feature | Important | Do not use this command to get an object's position in 3D format, as the Z value from this command is '''relative''' to the surface underneath, and there is no compatible setter command to use with it. Therefore the commonly misused {{ic|_obj1 [[setPos]] [[getPos]] _obj2}} | {{Feature | Important | Do not use this command to get an object's position in 3D format, as the Z value from this command is '''relative''' to the surface underneath, and there is no compatible setter command to use with it. Therefore the commonly misused code: {{ic|_obj1 [[setPos]] [[getPos]] _obj2}} is '''absolutely wrong'''.}} | ||
{{Feature | Informative | The only '''correct''' use case for this command is to determine the placement height of an object. For example, to determine if a free-falling unit is close enough to the surface (including buildings) to deploy the parachute: | {{Feature | Informative | The only '''correct''' use case for this command is to determine the placement height of an object. For example, to determine if a free-falling unit is close enough to the surface (including buildings) to deploy the parachute: | ||
<code>[[waitUntil]] {([[getPos]] _parachute) [[select]] 2 [[a_less_b|<]] 200}; {{cc|deploy the parachute now!}}</code>}} | <code>[[waitUntil]] {([[getPos]] _parachute) [[select]] 2 [[a_less_b|<]] 200}; {{cc|deploy the parachute now!}}</code>}} |
Revision as of 01:45, 11 August 2021
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]
- 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.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Positions