setPos: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\|s([0-9])\= ([^' ]+)'''([^' ]+)'''([^ ]*) " to "|s$1= $2$3$4 ") |
Lou Montana (talk | contribs) (Fix description) |
||
Line 27: | Line 27: | ||
|gr1= Positions | |gr1= Positions | ||
|descr= Sets object position | |descr= Sets object position to format [[PositionATL]] (over terrain) or [[PositionASL]] (over sea). | ||
|mp= {{Feature|arma1|{{Name|arma1|short}} 1.00 to 1.06: this command has local effect, but some simulation types do synchronise their changes over the network whilst others do not.<br> | |||
So far, the only known simulation type that doesn't synchronise its position over the net is "static" (<tt>simulation{{=}}"house"</tt>).}} | |||
|s1= object [[setPos]] pos | |s1= object [[setPos]] pos | ||
Line 33: | Line 36: | ||
|p1= object: [[Object]] | |p1= object: [[Object]] | ||
|p2= pos: [[Array]] - position in format [[PositionAGL]] or [[Position2D]] | |p2= pos: [[Array]] - position in format [[PositionAGL]] or [[Position2D]], in which case Z will be set to 0 | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
Line 39: | Line 42: | ||
|x1= <code>[[player]] [[setPos]] [<nowiki/>[[getPos]] [[player]] [[select]] 0, [[getPos]] [[player]] [[select]] 1, ([[getPos]] [[player]] [[select]] 2) +10]; | |x1= <code>[[player]] [[setPos]] [<nowiki/>[[getPos]] [[player]] [[select]] 0, [[getPos]] [[player]] [[select]] 1, ([[getPos]] [[player]] [[select]] 2) +10]; | ||
{{cc|the same as above using [[modelToWorld]] ({{Name|arma1|short}} v1.00)}} | |||
[[player]] [[setPos]] ([[player]] [[modelToWorld]] [0,0,10]); | [[player]] [[setPos]] ([[player]] [[modelToWorld]] [0,0,10]); | ||
{{cc|the same as above using [[vectorAdd]] ({{Name|arma3|short}} v1.22)}} | |||
[[player]] [[setPos]] ([[getPos]] [[player]] [[vectorAdd]] [0,0,10]); | [[player]] [[setPos]] ([[getPos]] [[player]] [[vectorAdd]] [0,0,10]); | ||
</code> | </code> | ||
Line 50: | Line 53: | ||
|x3= <code>[[player]] [[setPos]] ([[getPos]] _obj);</code> | |x3= <code>[[player]] [[setPos]] ([[getPos]] _obj);</code> | ||
|seealso= [[setPosASL]], [[getPos]], [[setVehiclePosition]], [[Position#setPosAGLS|setPosAGLS]] | |||
}} | }} | ||
Line 62: | Line 63: | ||
<dd class="note"> | <dd class="note"> | ||
Calling [[setPos]] on an object can cause the object's orientation to change. This depends on the terrain and/or objects below the object. This was tested by calling [[setPos]] on a test object with the position of a helicopter ([[modelToWorld]] with some offset). When flying over land the orientation of the test object would rapidly change depending on the slope of the ground and objects beneath it. | Calling [[setPos]] on an object can cause the object's orientation to change. This depends on the terrain and/or objects below the object. This was tested by calling [[setPos]] on a test object with the position of a helicopter ([[modelToWorld]] with some offset). When flying over land the orientation of the test object would rapidly change depending on the slope of the ground and objects beneath it. | ||
Comment applicable to Ver '''1.96''' and '''earlier''': | Comment applicable to Ver '''1.96''' and '''earlier''': | ||
obj1 setPos [x,y,z] | obj1 [[setPos]] [x,y,z] | ||
Will place most objects z metres above ground level (negative numbers for underground). But if obj1 is a trigger then it will be placed z metres above sea level. This can be very useful if you want to check a unit's height above sea level but it can be a problem if you want to move a trigger to create an explosion or a sound. To move a trigger to a location at ground level: | Will place most objects z metres above ground level (negative numbers for underground). But if obj1 is a trigger then it will be placed z metres above sea level. This can be very useful if you want to check a unit's height above sea level but it can be a problem if you want to move a trigger to create an explosion or a sound. To move a trigger to a location at ground level: | ||
<code>triggername [[setPos]] [x,y,0]; | <code>triggername [[setPos]] [x,y,0]; | ||
triggername [[setPos]] [x,y,[[abs]]([[getPos]] triggername [[select]] 2)];</code> | triggername [[setPos]] [x,y,[[abs]]([[getPos]] triggername [[select]] 2)];</code> | ||
Note for | Note for {{Name|arma1|short}}: Using [[setPos]] for a trigger will work in exactly the same way that [[setPos]] works for other objects - namely that [[setPos]] [x,y,z] will place the trigger z metres above ground level. | ||
[[setPos]] for static objects like an ammo crate do not work in MP. | |||
</dd> | |||
<dt><dt> | <dt><dt> | ||
<dd class="notedate">Posted on 23 Nov, 2011</dd> | <dd class="notedate">Posted on 23 Nov, 2011</dd> | ||
Line 74: | Line 77: | ||
<dd class="note"> | <dd class="note"> | ||
You can use [[getPos]] and [[setPos]] on triggers. | You can use [[getPos]] and [[setPos]] on triggers. | ||
</dd> | |||
</dl> | </dl> |
Revision as of 20:08, 18 July 2021
Description
- Description:
- Sets object position to format PositionATL (over terrain) or PositionASL (over sea).
- Multiplayer:
- Groups:
- Positions
Syntax
- Syntax:
- object setPos pos
- Parameters:
- object: Object
- pos: Array - position in format PositionAGL or Position2D, in which case Z will be set to 0
- Return Value:
- Nothing
Examples
- Example 1:
player setPos [getPos player select 0, getPos player select 1, (getPos player select 2) +10]; // the same as above using modelToWorld (ArmA v1.00) player setPos (player modelToWorld [0,0,10]); // the same as above using vectorAdd (Arma 3 v1.22) player setPos (getPos player vectorAdd [0,0,10]);
- Example 2:
_obj setPos [getPos _obj select 0, getPos _obj select 1, -5];
- Example 3:
player setPos (getPos _obj);
Additional Information
- See also:
- setPosASLgetPossetVehiclePositionsetPosAGLS
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 6 Feb, 2011
- Hduregger
-
Calling setPos on an object can cause the object's orientation to change. This depends on the terrain and/or objects below the object. This was tested by calling setPos on a test object with the position of a helicopter (modelToWorld with some offset). When flying over land the orientation of the test object would rapidly change depending on the slope of the ground and objects beneath it.
Comment applicable to Ver 1.96 and earlier:
obj1 setPos [x,y,z]
Will place most objects z metres above ground level (negative numbers for underground). But if obj1 is a trigger then it will be placed z metres above sea level. This can be very useful if you want to check a unit's height above sea level but it can be a problem if you want to move a trigger to create an explosion or a sound. To move a trigger to a location at ground level:
triggername setPos [x,y,0]; triggername setPos [x,y,abs(getPos triggername select 2)];
Note for ArmA: Using setPos for a trigger will work in exactly the same way that setPos works for other objects - namely that setPos [x,y,z] will place the trigger z metres above ground level. setPos for static objects like an ammo crate do not work in MP. - 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
- Scripting Commands: Global Effect