{"name":"setPosATL","operator":null,"title":"setPosATL","type":"command","url":"https://community.bistudio.com/wiki/setPosATL","revid":377533,"updated":"2026-01-02T06:53:18Z","groups":["Positions"],"status":"ok","replaced_by":[],"games":[{"game":"arma2","name":"Arma 2","version":"1.03"},{"game":"arma2oa","name":"Arma 2: Operation Arrowhead","version":"1.50"},{"game":"tkoh","name":"Take On Helicopters","version":"1.00"},{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"arma2","name":"Arma 2","version":"1.03"},"arma3_since":"0.50","branch":null,"locality":{"argument":"global","effect":"global","server_exec":false},"exec":null,"description":"Sets the position of an object relative to the terrain.","syntaxes":[{"syntax":"object setPosATL pos","since":null,"effect":null,"exec":null,"params":[{"name":"object","type":"Object","optional":false,"default":null,"description":null,"types":["Object"],"since":null,"text":"object: Object"},{"name":"pos","type":"PositionATL","optional":false,"default":null,"description":null,"types":["PositionATL"],"since":null,"text":"pos: PositionATL"}],"returns":{"type":"Nothing","types":["Nothing"],"description":null,"text":"Nothing"},"form":"binary","operator":null,"left":{"text":"object","types":["Object"]},"right":{"text":"pos","types":["PositionATL"]}}],"examples":[{"text":"```sqf\nplayer setPosATL [getPosATL player select 0, (getPosATL player select 1) - 10, getPosATL player select 2];\n```","code":["player setPosATL [getPosATL player select 0, (getPosATL player select 1) - 10, getPosATL player select 2];"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["getPosATL","getPos","getPosASL","setPos","setPosASL"],"notes":[{"user":"DreadedEntity","date":"2014-11-11T20:39:00Z","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.\nI 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."},{"user":"Hypoxic125","date":"2022-09-30T04:03:03Z","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.\n\n```sqf\nif !(isNull objectParent _unit) then {\n    [_unit, [0,0,0]] remoteExec [\"setPosATL\", _unit];\n};\n```"}],"categories":["Arma 2: New Scripting Commands","Arma 2: Operation Arrowhead: Scripting Commands","Arma 2: Scripting Commands","Arma 3: Scripting Commands","Command Group: Positions","Introduced with Arma 2 version 1.03","Scripting Commands","Scripting Commands: Global Effect","Take On Helicopters: Scripting Commands"]}