createVehicle: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (description positioning note) |
Killzone Kid (talk | contribs) mNo edit summary |
||
(43 intermediate revisions by 8 users not shown) | |||
Line 9: | Line 9: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Creates an empty object of given type | | 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. | |||
<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 | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 18: | Line 35: | ||
|p1= type: [[String]] - vehicle/object className |= Parameter 1 | |p1= type: [[String]] - vehicle/object className |= Parameter 1 | ||
|p2= position: [[ | |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 | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | s2= '''createVehicle''' [type, position, markers, placement, special] |= Syntax | ||
|p21= [type, position, markers, placement, special]: [[Array]] |= Parameter 1 | |||
|p22= type: [[String]] - vehicle/object className |= Parameter 2 | |||
|p23= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - Desired placement position |= Parameter 3 | |||
|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 | |||
|p25= placement: [[Number]] - The vehicle is placed inside a circle with given position as center and placement as its radius|= Parameter 5 | |||
< | |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 | ||
< | |||
< | | r2= [[Object]] |= Return value | ||
< | ____________________________________________________________________________________________ | ||
|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]]; | |||
// optional for objects that can take damage | |||
< | _boxes [[addEventHandler]] ["Killed", | ||
{ | |||
{ | |||
[[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 | |||
}} | |||
[[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
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.
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
[] 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
_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 tocreateVehicle ["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.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.34
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands: Global Effect
- Scripting Commands OFP 1.99
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.46
- Scripting Commands ArmA
- Command Group: Object Manipulation
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters