createVehicle: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (formating)
mNo edit summary
(44 intermediate revisions by 8 users not shown)
Line 9: Line 9:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Create an empty object of given type classname at given position.
| Creates an empty object of given classname type (See [[Arma 3 Assets]] or [[createVehicle/vehicles]]). Cannot be used to create objects of type <tt>"Logic"</tt>, use [[createUnit]] command for that.
<br>For a class reference from older games see [[:Category:ArmA Classes|Classes]].<br><br>
<u>Some special and 'Scripted' vehicle classes:</u>
* <tt>"DemoCharge_Remote_Ammo_Scripted"</tt> - same as DemoCharge_Remote_Ammo but will explode when destroyed or [[setDamage]] 1;
* <tt>"SatchelCharge_Remote_Ammo_Scripted"</tt> - same as SatchelCharge_Remote_Ammo but will explode when destroyed or [[setDamage]] 1;
* <tt>"ClaymoreDirectionalMine_Remote_Ammo_Scripted"</tt> -  same as ClaymoreDirectionalMine_Remote_Ammo but will explode when destroyed or [[setDamage]] 1;
* <tt>"GroundWeaponHolder_Scripted"</tt> - same as GroundWeaponHolder but will not be auto-deleted when empty
* <tt>"WeaponHolderSimulated_Scripted"</tt> - same as WeaponHolderSimulated but will not be auto-deleted when empty
* <tt>"Weapon_Empty"</tt> - a special weaponholder that would display only a single weapon, even if the weaponholder also contains magazines for this weapon. Will not auto-delete when empty.


For a full class reference see [[:Category:ArmA Classes|Classes]]. |= Description
<u>NOTE</u>: When weaponholder is not auto-deleted by design (as above), it is up to the mission maker to clear the map of these weaponholders.
 
<br><br>'''Randomization:'''<br>
In Arma 3 many vehicles will get randomized in appearance by default in order to add some variety to the game. It is possible to override this default behavior by setting ''BIS_enableRandomization'' variable to [[false]] in the vehicle namespace:
<code>_veh <nowiki>=</nowiki> "C_Offroad_01_F" [[createVehicle]] [[position]] [[player]];
[_veh, [[true]], [[true]], [[true]]] call bis_fnc_initVehicle;</code>
or
<code>[this, [[true]], [[true]], [[true]]] call bis_fnc_initVehicle;</code>
if done in mission editor init field.<br><br>
Check [[Vehicle Customization (VhC)]] page for more info about the parameters. |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[Object]] <nowiki>=</nowiki> type '''createVehicle''' position |= Syntax
| type '''createVehicle''' position |= Syntax


|p1= type: [[String]] - vehicle/object className |= Parameter 1
|p1= type: [[String]] - vehicle/object className |= Parameter 1


|p2= position: [[Array]] - format [[Position]] to create the vehicle at |= Parameter 2
|p2= position: [[Position]] - Desired placement position. If the exact position is occupied, nearest empty position is used.
|= Parameter 2


| [[Object]] |= Return value
| [[Object]] |= Return value
____________________________________________________________________________________________
____________________________________________________________________________________________
 
|x1= <code>_jeep = "Jeep" [[createVehicle]] ([[position]] [[player]]);</code> |= Example 1
|x2= <code>_heli = "AH1Z" [[createVehicle]] ([[getMarkerPos]] "hspawn");</code> |= Example 2


____________________________________________________________________________________________


| [[createVehicle array]], [[createVehicleLocal]], [[createVehicleCrew]], [[createUnit]], [[createUnit array]], [[deleteVehicle]], [[createGroup]], [[createCenter]] |= See also
| s2= '''createVehicle''' [type, position, markers, placement, special] |= Syntax


}}
|p21= [type, position, markers, placement, special]: [[Array]] |= Parameter 1


<h3 style="display:none">Notes</h3>
|p22= type: [[String]] - vehicle/object className |= Parameter 2
<dl class="command_description">
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on January 14, 2010
<dt class="note">'''[[User:Galzohar|Galzohar]]'''<dd class="note">
In multiplayer, only run this command on one machine. It will create a the vehicle on all machines every time it is called on any machine.


<dd class="notedate">Posted on August 13, 2006 - 12:18
|p23= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - Desired placement position |= Parameter 3
<dt class="note">'''[[User:Raedor|raedor]]'''<dd class="note">
This command sets the created vehicle not exactly at the given position, you have to [[setPos]] it there, if accuracy counts.


<dd class="notedate">Posted on Jan 20, 2006
|p24= markers: [[Array]] - If the markers array contains any markers, the position is randomly picked from array of given markers plus desired placement position. If any of the markers were given z coordinate with [[setMarkerPos]], the vehicle will also be created at given z coordinate. |= Parameter 4
<dt class="note">'''[[User:bdfy|bdfy]]'''<dd class="note">
This command sets the created vehicle in the nearest ''possible'' position. You can create a dozen of tanks with it - they will appear side by side.


<dd class="notedate">Posted on December 13, 2006 - 12:27
|p25= placement: [[Number]] - The vehicle is placed inside a circle with given position as center and placement as its radius|= Parameter 5
<dt class="note">'''[[User:Salisan|Salisan]]'''<dd class="note">
Observe that buildings with the default [https://manuals.bisimulations.com/vbs2/1-60/devref/Content/Config_Manual/CfgVehicles/D_cpp/cpp_destrType.htm destrType] will not work correctly in multiplayer in Armed Assault when created with this command. The Destruction effect will only be displayed where the building is local.


<dd class="notedate">Posted on Oct 18, 2009 - 05:42
|p26= special: [[String]] - <tt>"NONE"</tt>, <tt>"FLY"</tt>, <tt>"FORM"</tt>, <tt>"CAN_COLLIDE"</tt>. "CAN_COLLIDE" creates the vehicle exactly where asked, not checking if others objects can cross its 3D model. |= Parameter 6
<dt class="note">'''[[User:Canukausiuka|Canukausiuka]]'''<dd class="note>
As of Arma2, this command cannot be used to create game logics [http://forums.bistudio.com/showthread.php?t=81964 (source)].  Use [[createUnit]] instead.


<dd class="notedate">Posted on January 26 2014 - 20:12
| r2= [[Object]] |= Return value
<dt class="note">'''[[User:Katulobotomia|Katulobotomia]]'''<dd class="note">
____________________________________________________________________________________________
Using [[getPosATL]] should work, if otherwise you are struggling to get a the proper position coordinates.
 
|x1= <code>_jeep = "Jeep" [[createVehicle]] [[position]] [[player]];</code> |= Example 1
|x2= <code>_heli = "AH1Z" [[createVehicle]] [[getMarkerPos]] "hspawn";</code> |= Example 2
|x3= <code>_veh = [[createVehicle]] ["ah1w", [[position]] [[player]], [], 0, "FLY"];</code> |= Example 3
|x4 = <code>_veh = [[createVehicle]] ["2S6M_Tunguska", [[getMarkerPos]] "marker1", ["marker2","marker3"], 0, "NONE"];</code> |= Example 4
|x5= Objects such as
* test_EmptyObjectForBubbles
* test_EmptyObjectForFireBig
* test_EmptyObjectForSmoke
create additional emitters, which are stored in "effects" variable on the object. Since Arma 3 v1.71 these emitters are automatically deleted when object is deleted
<code>[] [[spawn]]
{
_fire = "test_EmptyObjectForFireBig" [[createVehicle]] [[position]] [[player]];
[[sleep]] 5;
[[deleteVehicle]] _fire;
};</code> |= Example 5
|x6=The following explosives (with ending _Scripted)
* DemoCharge_Remote_Ammo_Scripted
* SatchelCharge_Remote_Ammo_Scripted
* ClaymoreDirectionalMine_Remote_Ammo_Scripted
can be set off by applying [[setDamage]] 1 to them for ease of scripting: <code>_claymore = "ClaymoreDirectionalMine_Remote_Ammo_Scripted" [[createVehicle]] [[position]] [[player]];
0 = _claymore [[spawn]]
{
[[uiSleep]] 5;
_this [[setDamage]] 1;
};
</code> |= Example 6
|x7= How to add inventory to objects without inventory:<code>_boxes = "Land_Pallet_MilBoxes_F" [[createVehicle]] [[position]] [[player]];
_cargo = "Supply500" [[createVehicle]] [0,0,0];
_cargo [[attachTo]] [_boxes, [0,0,0.85]];


<dd class="notedate">Posted on March 27 2014 - 02:15
// optional for objects that can take damage
<dt class="note">'''[[User:Floriangeyer|Floriangeyer]]'''<dd class="note">
_boxes [[addEventHandler]] ["Killed",
According to [[Code Optimisation]], this function is considered deprecated and [[createVehicle array]] should be used instead.
{
<!-- Note Section END -->
{
</dl>
[[detach]] _x,
[[deleteVehicle]] _x;
}
[[forEach]] [[attachedObjects]] (_this [[select]] 0);
}];</code>  
|= Example 7
|x8= Drop weapon:<code>_wh = "GroundWeaponHolder_Scripted" [[createVehicle]] [[position]] [[player]];
[[player]] [[action]] ["DropWeapon", _wh, [[currentWeapon]] [[player]]];</code> |= Example 7
____________________________________________________________________________________________
 
|[[createVehicleLocal]], [[createVehicleCrew]], [[createAgent]], [[createTrigger]], [[createUnit]], [[deleteVehicle]], [[createGroup]], [[createCenter]], [[setVehiclePosition]] |= See also


<h3 style="display:none">Bottom Section</h3>
}}


[[Category:Scripting Commands|CREATEVEHICLE]]
[[Category:Scripting Commands|CREATEVEHICLE]]
[[Category:Scripting Commands OFP 1.99|CREATEVEHICLE]]
[[Category:Scripting Commands OFP 1.96|CREATEVEHICLE]]
[[Category:Scripting Commands OFP 1.96|CREATEVEHICLE]]
[[Category:Scripting Commands OFP 1.46|CREATEVEHICLE]]
[[Category:Scripting Commands OFP 1.46|CREATEVEHICLE]]
Line 75: Line 116:
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on January 14, 2011
<dt class="note">'''[[User:Galzohar|Galzohar]]'''<dd class="note">
In multiplayer, only run this command on one machine. It will create a the vehicle on all machines every time it is called on any machine.
</dd>
</dl>
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on September 12, 2014 - 07:59 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
<tt>"vehclass" [[createVehicle]] pos</tt> is the same if not faster than <tt>[[createVehicle]] ["vehclass", pos, [], 0, "NONE"]</tt>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on August 22, 2015 - 13:04 (UTC)</dd>
<dt class="note">[[User:MrSanchez|MrSanchez]]</dt>
<dd class="note">
GroundWeaponHolder class is automatically deleted when empty after 0.5 to 1 seconds in A3 1.48. The exact delay is random but never lower than 0.50 secs after creation. You can stop deletion by adding something (cargo) to it within 0.5 seconds.
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on December 1, 2015 - 16:46 (UTC)</dd>
<dt class="note">[[User:Zectbumo|Zectbumo]]</dt>
<dd class="note">The short syntax creates vehicles at ground level ignoring the Z in pos
<code>"vehclass" createVehicle pos</code> This is equivalent to <code>createVehicle ["vehclass", [pos select 0, pos select 1, 0], [], 0, "NONE"]</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 16, 2017 - 09:05 (UTC)</dd>
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
<dd class="note">
For the alternative syntax, if the vehicle has <tt>canFloat = 1;</tt> in its config class (e.g. boats and wheeled APCs), the command expects [[PositionAGL]], and otherwise always [[PositionATL]].
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 16:58, 15 September 2018

Hover & click on the images for description

Description

Description:
Creates an empty object of given classname type (See Arma 3 Assets or createVehicle/vehicles). Cannot be used to create objects of type "Logic", use createUnit command for that.
For a class reference from older games see Classes.

Some special and 'Scripted' vehicle classes:
  • "DemoCharge_Remote_Ammo_Scripted" - same as DemoCharge_Remote_Ammo but will explode when destroyed or setDamage 1;
  • "SatchelCharge_Remote_Ammo_Scripted" - same as SatchelCharge_Remote_Ammo but will explode when destroyed or setDamage 1;
  • "ClaymoreDirectionalMine_Remote_Ammo_Scripted" - same as ClaymoreDirectionalMine_Remote_Ammo but will explode when destroyed or setDamage 1;
  • "GroundWeaponHolder_Scripted" - same as GroundWeaponHolder but will not be auto-deleted when empty
  • "WeaponHolderSimulated_Scripted" - same as WeaponHolderSimulated but will not be auto-deleted when empty
  • "Weapon_Empty" - a special weaponholder that would display only a single weapon, even if the weaponholder also contains magazines for this weapon. Will not auto-delete when empty.
NOTE: When weaponholder is not auto-deleted by design (as above), it is up to the mission maker to clear the map of these weaponholders.

Randomization:
In Arma 3 many vehicles will get randomized in appearance by default in order to add some variety to the game. It is possible to override this default behavior by setting BIS_enableRandomization variable to false in the vehicle namespace: _veh = "C_Offroad_01_F" createVehicle position player; [_veh, true, true, true] call bis_fnc_initVehicle; or [this, true, true, true] call bis_fnc_initVehicle; if done in mission editor init field.

Check Vehicle Customization (VhC) page for more info about the parameters.
Groups:
Uncategorised

Syntax

Syntax:
type createVehicle position
Parameters:
type: String - vehicle/object className
position: Position - Desired placement position. If the exact position is occupied, nearest empty position is used.
Return Value:
Object

Alternative Syntax

Syntax:
createVehicle [type, position, markers, placement, special]
Parameters:
[type, position, markers, placement, special]: Array
type: String - vehicle/object className
position: PositionATL (PositionAGL if boat or amphibious), Position2D, or Object - Desired placement position
markers: Array - If the markers array contains any markers, the position is randomly picked from array of given markers plus desired placement position. If any of the markers were given z coordinate with setMarkerPos, the vehicle will also be created at given z coordinate.
placement: Number - The vehicle is placed inside a circle with given position as center and placement as its radius
special: String - "NONE", "FLY", "FORM", "CAN_COLLIDE". "CAN_COLLIDE" creates the vehicle exactly where asked, not checking if others objects can cross its 3D model.
Return Value:
Object

Examples

Example 1:
_jeep = "Jeep" createVehicle position player;
Example 2:
_heli = "AH1Z" createVehicle getMarkerPos "hspawn";
Example 3:
_veh = createVehicle ["ah1w", position player, [], 0, "FLY"];
Example 4:
_veh = createVehicle ["2S6M_Tunguska", getMarkerPos "marker1", ["marker2","marker3"], 0, "NONE"];
Example 5:
Objects such as
  • test_EmptyObjectForBubbles
  • test_EmptyObjectForFireBig
  • test_EmptyObjectForSmoke
create additional emitters, which are stored in "effects" variable on the object. Since Arma 3 v1.71 these emitters are automatically deleted when object is deleted [] spawn { _fire = "test_EmptyObjectForFireBig" createVehicle position player; sleep 5; deleteVehicle _fire; };
Example 6:
The following explosives (with ending _Scripted)
  • DemoCharge_Remote_Ammo_Scripted
  • SatchelCharge_Remote_Ammo_Scripted
  • ClaymoreDirectionalMine_Remote_Ammo_Scripted
can be set off by applying setDamage 1 to them for ease of scripting: _claymore = "ClaymoreDirectionalMine_Remote_Ammo_Scripted" createVehicle position player; 0 = _claymore spawn { uiSleep 5; _this setDamage 1; };
Example 7:
How to add inventory to objects without inventory:_boxes = "Land_Pallet_MilBoxes_F" createVehicle position player; _cargo = "Supply500" createVehicle [0,0,0]; _cargo attachTo [_boxes, [0,0,0.85]]; // optional for objects that can take damage _boxes addEventHandler ["Killed", { { detach _x, deleteVehicle _x; } forEach attachedObjects (_this select 0); }];
Example 8:
Drop weapon:_wh = "GroundWeaponHolder_Scripted" createVehicle position player; player action ["DropWeapon", _wh, currentWeapon player];

Additional Information

See also:
createVehicleLocalcreateVehicleCrewcreateAgentcreateTriggercreateUnitdeleteVehiclecreateGroupcreateCentersetVehiclePosition

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

Notes

Posted on January 14, 2011
Galzohar
In multiplayer, only run this command on one machine. It will create a the vehicle on all machines every time it is called on any machine.
Posted on September 12, 2014 - 07:59 (UTC)
Killzone Kid
"vehclass" createVehicle pos is the same if not faster than createVehicle ["vehclass", pos, [], 0, "NONE"]
Posted on August 22, 2015 - 13:04 (UTC)
MrSanchez
GroundWeaponHolder class is automatically deleted when empty after 0.5 to 1 seconds in A3 1.48. The exact delay is random but never lower than 0.50 secs after creation. You can stop deletion by adding something (cargo) to it within 0.5 seconds.
Posted on December 1, 2015 - 16:46 (UTC)
Zectbumo
The short syntax creates vehicles at ground level ignoring the Z in pos "vehclass" createVehicle pos This is equivalent to createVehicle ["vehclass", [pos select 0, pos select 1, 0], [], 0, "NONE"]
Posted on May 16, 2017 - 09:05 (UTC)
AgentRev
For the alternative syntax, if the vehicle has canFloat = 1; in its config class (e.g. boats and wheeled APCs), the command expects PositionAGL, and otherwise always PositionATL.