{"name":"setPosATL","title":"setPosATL","type":"command","url":"https://community.bistudio.com/wiki/setPosATL","revid":377533,"updated":"2026-01-02T06:53:18Z","groups":["Positions"],"status":"ok","games":{"arma2":"1.03","arma2oa":"1.50","tkoh":"1.00","arma3":"0.50"},"since":"arma2 1.03","arma3_since":"0.50","locality":{"argument":"global","effect":"global"},"description":"Sets the position of an object relative to the terrain.","syntaxes":[{"syntax":"object setPosATL pos","params":[{"name":"object","type":"Object","type_expr":"Object"},{"name":"pos","type":"PositionATL","type_expr":"PositionATL"}],"returns":{"type":"Nothing","type_expr":"Nothing"},"form":"binary","left":{"text":"object"},"right":{"text":"pos"}}],"examples":[{"code":["player setPosATL [getPosATL player select 0, (getPosATL player select 1) - 10, getPosATL player select 2];"]}],"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```"}]}