setPosATL: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \{\{GameCategory\|[a-z]+[0-9]?\|Scripting Commands\}\}" to "")
mNo edit summary
 
(23 intermediate revisions by 2 users not shown)
Line 21: Line 21:
|descr= Sets the position of an object relative to the terrain.
|descr= Sets the position of an object relative to the terrain.


|s1= object '''setPosATL''' pos
|s1= object [[setPosATL]] pos


|p1= object: [[Object]]
|p1= object: [[Object]]


|p2= pos: [[Array]] - format [[PositionATL]]
|p2= pos: [[Array]] format [[Position#PositionATL|PositionATL]]


|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= <code>[[player]] [[setPosATL]] [<nowiki/>[[getPosATL]] [[player]] [[select]] 0, ([[getPosATL]] [[player]] [[select]] 1) - 10, [[getPosATL]] [[player]] [[select]] 2];</code>
|x1= <sqf>player setPosATL [getPosATL player select 0, (getPosATL player select 1) - 10, getPosATL player select 2];</sqf>


|seealso= [[getPosATL]], [[getPos]], [[getPosASL]], [[setPos]], [[setPosASL]]
|seealso= [[getPosATL]] [[getPos]] [[getPosASL]] [[setPos]] [[setPosASL]]
}}
}}


<dl class="command_description">
{{Note
|user= DreadedEntity
|timestamp= 20141111203900
|text= If you plan on creating bases through script, [[setPosATL]] and [[getPosATL]] will be your friends. Other commands like [[getPos]] or [[getPosASL]] '''will''' return the position relative to any objects that are underneath / to the terrain.
I wrote a base building helper script and through multiple tests, I have found that [[getPosATL]] is the absolute best way to get position for objects that are over land.
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on Feb 26, 2012 - 18:12 (CEST)</dd>
|user= Hypoxic125
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
|timestamp= 20220930040303
<dd class="note"> '''Please Note :''' this command '''demands''' [[PositionATL]] format ; one does not simply give 2D position, as this function won't do anything.
|text= As of '''Verson 2.10''', if you use '''setPosX''' commands on a remote unit within a vehicle, the unit will remain in the vehicle. In order to avoid this, '''remoteExec''' the command to the remote client.
</dl>


 
<sqf>
<dl class="command_description">
if !(isNull objectParent _unit) then {
 
[_unit, [0,0,0]] remoteExec ["setPosATL", _unit];
<dt></dt>
};
<dd class="notedate">Posted on November 11, 2014 - 20:39 (UTC)</dd>
</sqf>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
}}
<dd class="note">
If you plan on creating bases through script, [[setPosATL]] and [[getPosATL]] will be your friends. Other commands like [[getPos]] or [[getPosASL]] '''will''' return the position relative to any objects that are underneath. I wrote a base building helper script and through multiple tests, I have found that [[getPosATL]] is the absolute best way to get position for objects that are over land.
</dd>
 
</dl>

Latest revision as of 22:33, 28 September 2023

Hover & click on the images for description

Description

Description:
Sets the position of an object relative to the terrain.
Groups:
Positions

Syntax

Syntax:
object setPosATL pos
Parameters:
object: Object
pos: Array format PositionATL
Return Value:
Nothing

Examples

Example 1:

Additional Information

See also:
getPosATL getPos getPosASL setPos setPosASL

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
DreadedEntity - c
Posted on Nov 11, 2014 - 20:39 (UTC)
If you plan on creating bases through script, setPosATL and getPosATL will be your friends. Other commands like getPos or getPosASL will return the position relative to any objects that are underneath / to the terrain. I wrote a base building helper script and through multiple tests, I have found that getPosATL is the absolute best way to get position for objects that are over land.
Hypoxic125 - c
Posted on Sep 30, 2022 - 04:03 (UTC)
As of Verson 2.10, if you use setPosX commands on a remote unit within a vehicle, the unit will remain in the vehicle. In order to avoid this, remoteExec the command to the remote client.
if !(isNull objectParent _unit) then { [_unit, [0,0,0]] remoteExec ["setPosATL", _unit]; };