From Bohemia Interactive Community
Revision as of 09:58, 3 September 2019 by Lou Montana (talk | contribs) (Text replacement - "|PARAMETER3= |p24=" to "|PARAMETER23= |p24=")
Jump to navigation Jump to search
Hover & click on the images for 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.

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.


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

Alternative Syntax

createVehicle [type, position, markers, placement, special]
[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 (Optional): 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. Default: []
placement (Optional): Number - The vehicle is placed inside a circle with given position as center and placement as its radius. Default: 0
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:
Object - created vehicle or objNull if failed


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:


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 August 22, 2015 - 13:04 (UTC)
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 May 16, 2017 - 09:05 (UTC)
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.
Posted on November 2, 2018 - 12:16 (UTC)
WARNING: Do not instigate createVehicle or createVehicleLocal within a server function executed with preInit flag.
This will cause "You cannot play/edit this mission" for a vehicles compiled from a -mod and make server skip/loop that mission init.
Posted on August 10, 2019 - 09:10 (UTC)
The main syntax creates vehicles at ground level ignoring the Z in pos and is also faster than the alternativ syntax. "vehclass" createVehicle pos; This is equivalent to createVehicle ["vehclass", [pos select 0, pos select 1, 0], [], 0, "NONE"];