setVehiclePosition: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "")
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame( +[0-9])?|Game [Vv]ersion( +[0-9])?|Game Version \(number surrounded by NO SPACES\)|Arguments in MP|MP[Aa]rg|Multiplayer Arguments( \("local" or "global"\))?|Effects|Execution|Effects...)
Line 1: Line 1:
{{Command|Comments=
{{Command


| arma1 |Game name=
| arma1


|1.00|Game version=
|1.00


|arg= global |Multiplayer Arguments=
|arg= global


|eff= global |Multiplayer Effects=
|eff= global


|gr1= Positions |GROUP1=
|gr1= Positions


|gr2= Object Manipulation |GROUP2=
|gr2= Object Manipulation


| Moves the object to a given position (same as [[createVehicle]] placement algorithm). Uses either the position that's defined by the ''position'' param, or one of the marker positions from the markers array. The object is placed inside a circle with ''position'' as its center and ''placement'' as its radius. The type of placement could also be controlled with ''special''.  
| Moves the object to a given position (same as [[createVehicle]] placement algorithm). Uses either the position that's defined by the ''position'' param, or one of the marker positions from the markers array. The object is placed inside a circle with ''position'' as its center and ''placement'' as its radius. The type of placement could also be controlled with ''special''.  
<br><br>
<br><br>
If position is in water and vehicle can float, it is placed on water surface, otherwise it is placed on the ground, even if ground is under water. If roof surfaces support walking, units will be placed on roofs if such position is given. |DESCRIPTION=
If position is in water and vehicle can float, it is placed on water surface, otherwise it is placed on the ground, even if ground is under water. If roof surfaces support walking, units will be placed on roofs if such position is given.


| object '''setVehiclePosition''' [position, markers, placement, special] |SYNTAX=
| object '''setVehiclePosition''' [position, markers, placement, special]


|p1= object: [[Object]] |PARAMETER1=
|p1= object: [[Object]]
|p2= [position, markers, placement, special]: [[Array]] |PARAMETER2=
|p2= [position, markers, placement, special]: [[Array]]


|p3= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - Desired placement position. If object is given, object position is used for ''position''. Normally only ''x'' and ''y'' are considered, unless "CAN_COLLIDE" is used for special placement.|PARAMETER3=
|p3= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - Desired placement position. If object is given, object position is used for ''position''. Normally only ''x'' and ''y'' are considered, unless "CAN_COLLIDE" is used for special placement.


|p4= markers: [[Array]] of [[String]]s - If the markers array contains one or more marker names, the position is chosen randomly and could be one of the marker positions or just the supplied main position. If marker had z coordinate set with [[setMarkerPos]], the vehicle will be placed on the nearest surface below this z coordinate |PARAMETER4=
|p4= markers: [[Array]] of [[String]]s - If the markers array contains one or more marker names, the position is chosen randomly and could be one of the marker positions or just the supplied main position. If marker had z coordinate set with [[setMarkerPos]], the vehicle will be placed on the nearest surface below this z coordinate


|p5= placement: [[Number]] - The vehicle is randomly placed inside a circle with given position as center and placement as its radius|PARAMETER5=
|p5= placement: [[Number]] - The vehicle is randomly placed inside a circle with given position as center and placement as its radius


|p6= special (Optional): [[String]] - Could be one of the following:  
|p6= special (Optional): [[String]] - Could be one of the following:  
Line 32: Line 32:
* <tt>"CAN_COLLIDE"</tt> places vehicle at given position (subject to other placement params), without checking if others objects can cross its 3D model.  
* <tt>"CAN_COLLIDE"</tt> places vehicle at given position (subject to other placement params), without checking if others objects can cross its 3D model.  
* <tt>"FLY"</tt> - if vehicle is capable of flying and has crew, it will be made airborne at default height.  
* <tt>"FLY"</tt> - if vehicle is capable of flying and has crew, it will be made airborne at default height.  
If ''special'' is "" or not specified, default <tt>"NONE"</tt> is used.|PARAMETER6=
If ''special'' is "" or not specified, default <tt>"NONE"</tt> is used.


| [[Boolean]] - [[true]] on success, [[false]] on failure|RETURNVALUE=
| [[Boolean]] - [[true]] on success, [[false]] on failure
   
   
|x1= <code>[[player]] [[setVehiclePosition]] [<nowiki/>[1000,2000], ["Pos1","Pos2","Pos3"], 0, "CAN_COLLIDE"];</code> Will place the player at either [1000,2000], or one of the three markers positions.|EXAMPLE1=
|x1= <code>[[player]] [[setVehiclePosition]] [<nowiki/>[1000,2000], ["Pos1","Pos2","Pos3"], 0, "CAN_COLLIDE"];</code> Will place the player at either [1000,2000], or one of the three markers positions.


|x2= <code>heli [[setVehiclePosition]] [<nowiki/>[[player]], [], 0, "FLY"];</code>|EXAMPLE2=
|x2= <code>heli [[setVehiclePosition]] [<nowiki/>[[player]], [], 0, "FLY"];</code>


|x3= <code>_cam = "camera" [[camCreate]] [0,0,0];  
|x3= <code>_cam = "camera" [[camCreate]] [0,0,0];  
Line 52: Line 52:
_table [[setPos]] _tablePos;
_table [[setPos]] _tablePos;
_laptop [[setVehiclePosition]] [_tablePos [[vectorAdd]] [0.5, 0.2, 10], [], 0, "CAN_COLLIDE"];
_laptop [[setVehiclePosition]] [_tablePos [[vectorAdd]] [0.5, 0.2, 10], [], 0, "CAN_COLLIDE"];
_laptop [[attachTo]] [_table];</code>|EXAMPLE4=
_laptop [[attachTo]] [_table];</code>


| [[setPos]], [[createUnit]], [[setPosASL]], [[setPosWorld]], [[setPosWorld]], [[createVehicle]], [[Position#setPosAGLS|setPosAGLS]] |SEEALSO=
| [[setPos]], [[createUnit]], [[setPosASL]], [[setPosWorld]], [[setPosWorld]], [[createVehicle]], [[Position#setPosAGLS|setPosAGLS]]


}}
}}

Revision as of 11:09, 18 January 2021

Hover & click on the images for description

Description

Description:
Moves the object to a given position (same as createVehicle placement algorithm). Uses either the position that's defined by the position param, or one of the marker positions from the markers array. The object is placed inside a circle with position as its center and placement as its radius. The type of placement could also be controlled with special.

If position is in water and vehicle can float, it is placed on water surface, otherwise it is placed on the ground, even if ground is under water. If roof surfaces support walking, units will be placed on roofs if such position is given.
Groups:
PositionsObject Manipulation

Syntax

Syntax:
object setVehiclePosition [position, markers, placement, special]
Parameters:
object: Object
[position, markers, placement, special]: Array
position: PositionATL (PositionAGL if boat or amphibious), Position2D, or Object - Desired placement position. If object is given, object position is used for position. Normally only x and y are considered, unless "CAN_COLLIDE" is used for special placement.
markers: Array of Strings - If the markers array contains one or more marker names, the position is chosen randomly and could be one of the marker positions or just the supplied main position. If marker had z coordinate set with setMarkerPos, the vehicle will be placed on the nearest surface below this z coordinate
placement: Number - The vehicle is randomly placed inside a circle with given position as center and placement as its radius
special (Optional): String - Could be one of the following:
  • "NONE" - will look for suitable empty position near given position (subject to other placement params) before placing vehicle there.
  • "CAN_COLLIDE" places vehicle at given position (subject to other placement params), without checking if others objects can cross its 3D model.
  • "FLY" - if vehicle is capable of flying and has crew, it will be made airborne at default height.
If special is "" or not specified, default "NONE" is used.
Return Value:
Boolean - true on success, false on failure

Examples

Example 1:
player setVehiclePosition [[1000,2000], ["Pos1","Pos2","Pos3"], 0, "CAN_COLLIDE"]; Will place the player at either [1000,2000], or one of the three markers positions.
Example 2:
heli setVehiclePosition [player, [], 0, "FLY"];
Example 3:
_cam = "camera" camCreate [0,0,0]; _cam setDir random 360; _cam setVehiclePosition [[5000,5000], [], 1000, "NONE"]; _cam setPosWorld (getPosWorld _cam vectorAdd [0,0,1.8]); _cam cameraEffect ["Internal", "Back"];
Example 4:
private _tablePos = player getRelPos [3, 0]; private _table = "Land_CampingTable_F" createVehicle [0,0,0]; private _laptop = "Land_Laptop_unfolded_F" createVehicle [0,0,0]; _table setPos _tablePos; _laptop setVehiclePosition [_tablePos vectorAdd [0.5, 0.2, 10], [], 0, "CAN_COLLIDE"]; _laptop attachTo [_table];

Additional Information

See also:
EXAMPLE3

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 June 24, 2015 - 15:43 (UTC)
Killzone Kid
If you need to set direction as well, set it before using setVehiclePosition. The command will use existing dir of the object for its calculations. player setDir random 360; player setVehiclePosition [player, [], 100, "none"];