createVehicle: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "|PARAMETER4= |p25=" to "|PARAMETER24= |p25=") |
Lou Montana (talk | contribs) (Fix Category:Pages using duplicate arguments in template calls and extensive and too-specific description) |
||
Line 9: | Line 9: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Creates an empty object of given classname type | | Creates an empty object of given classname type. | ||
See [[Arma 3 Assets]] / [[createVehicle/vehicles]], or [[Category:CfgVehicles]] for earlier games. | |||
< | {{Informative | For objects of type <tt>"Logic"</tt> use [[createUnit]] instead.}} | ||
{{Feature arma3 | To avoid vehicle randomisation in {{arma3}}, set the ''BIS_enableRandomization'' variable immediately after creating the vehicle: | |||
<code>[[private]] _vehicle {{=}} "C_Offroad_01_F" [[createVehicle]] [[position]] [[player]]; | |||
<code> | _vehicle [[setVariable]] ["BIS_enableRandomization", [[false]]];</code> | ||
[ | Check [[Vehicle Customization (VhC)]] page for more information and settings.}} |DESCRIPTION= | ||
Check [[Vehicle Customization (VhC)]] page for more | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| type | | type [[createVehicle]] position |SYNTAX= | ||
|p1= type: [[String]] - vehicle/object className |PARAMETER1= | |p1= type: [[String]] - vehicle/object className |PARAMETER1= | ||
|p2= position: [[Position]] - Desired placement position. If the exact position is occupied, nearest empty position is used. | |p2= position: [[Position]] - Desired placement position. If the exact position is occupied, nearest empty position is used. |PARAMETER2= | ||
| [[Object]] |RETURNVALUE= | | [[Object]] |RETURNVALUE= | ||
Line 42: | Line 30: | ||
| s2= | |s2= [[createVehicle]] [type, position, markers, placement, special] |SYNTAX2= | ||
|p21= [type, position, markers, placement, special]: [[Array]] |PARAMETER21= | |p21= [type, position, markers, placement, special]: [[Array]] |PARAMETER21= | ||
Line 48: | Line 36: | ||
|p22= type: [[String]] - vehicle/object className |PARAMETER22= | |p22= type: [[String]] - vehicle/object className |PARAMETER22= | ||
|p23= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - | |p23= position: [[PositionATL]] ([[PositionAGL]] if boat or amphibious), [[Position2D]], or [[Object]] - desired placement position |PARAMETER23= | ||
|p24= markers | |p24= markers: [[Array]] - (Optional, default []) 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. |PARAMETER24= | ||
|p25= placement | |p25= placement: [[Number]] - (Optional, default 0) the vehicle is placed inside a circle with given position as center and placement as its radius. |PARAMETER25= | ||
|p26= special | |p26= special): [[String]] - (Optional, default "NONE") can be one of the following: | ||
* <tt>"NONE"</tt> - will look for suitable empty position near given position (subject to other placement params) before placing vehicle there. | * <tt>"NONE"</tt> - will look for suitable empty position near given position (subject to other placement params) before placing vehicle there. | ||
* <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. |PARAMETER6= | ||
| r2= [[Object]] - created vehicle or [[objNull]] if failed | | |r2= [[Object]] - created vehicle or [[objNull]] if failed |RETURNVALUE2= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code>_jeep = "Jeep" [[createVehicle]] [[position]] [[player]];</code> |EXAMPLE1= | |x1= <code>_jeep = "Jeep" [[createVehicle]] [[position]] [[player]];</code> |EXAMPLE1= | ||
|x2= <code>_heli = "AH1Z" [[createVehicle]] [[getMarkerPos]] "hspawn";</code> |EXAMPLE2= | |x2= <code>_heli = "AH1Z" [[createVehicle]] [[getMarkerPos]] "hspawn";</code> |EXAMPLE2= | ||
|x3= <code>_veh = [[createVehicle]] ["ah1w", [[position]] [[player]], [], 0, "FLY"];</code> |EXAMPLE3= | |x3= <code>_veh = [[createVehicle]] ["ah1w", [[position]] [[player]], [], 0, "FLY"];</code> |EXAMPLE3= | ||
|x4 = <code>_veh = [[createVehicle]] ["2S6M_Tunguska", [[getMarkerPos]] "marker1", ["marker2","marker3"], 0, "NONE"];</code> |EXAMPLE4= | |||
|x4 = <code>_veh = [[createVehicle]] ["2S6M_Tunguska", [[getMarkerPos]] "marker1", ["marker2", "marker3"], 0, "NONE"];</code> |EXAMPLE4= | |||
|x5= Objects such as | |x5= Objects such as | ||
* test_EmptyObjectForBubbles | * "test_EmptyObjectForBubbles" | ||
* test_EmptyObjectForFireBig | * "test_EmptyObjectForFireBig" | ||
* test_EmptyObjectForSmoke | * "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 | 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]] | <code>[] [[spawn]] | ||
{ | { | ||
_fire = "test_EmptyObjectForFireBig" [[createVehicle]] [[position]] [[player]]; | [[private]] _fire = "test_EmptyObjectForFireBig" [[createVehicle]] [[position]] [[player]]; | ||
[[sleep]] 5; | [[sleep]] 5; | ||
[[deleteVehicle]] _fire; | [[deleteVehicle]] _fire; | ||
};</code> |EXAMPLE5= | };</code> |EXAMPLE5= | ||
|x6=The following explosives (with | |||
|x6= The following explosives (ending with ''_Scripted'') can be set off by applying [[setDamage]] 1 to them for ease of scripting: | |||
* "DemoCharge_Remote_Ammo_Scripted" | |||
* "SatchelCharge_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]]; | * "ClaymoreDirectionalMine_Remote_Ammo_Scripted" | ||
<code>_claymore = "ClaymoreDirectionalMine_Remote_Ammo_Scripted" [[createVehicle]] [[position]] [[player]]; | |||
_claymore [[spawn]] | |||
{ | { | ||
[[ | [[sleep]] 5; | ||
_this [[setDamage]] 1; | _this [[setDamage]] 1; | ||
}; | };</code> |EXAMPLE6= | ||
</code> |EXAMPLE6= | |||
|x7= | |x7= Add inventory to objects without inventory: | ||
<code>_boxes = "Land_Pallet_MilBoxes_F" [[createVehicle]] [[position]] [[player]]; | |||
_cargo = "Supply500" [[createVehicle]] [0,0,0]; | _cargo = "Supply500" [[createVehicle]] [0,0,0]; | ||
_cargo [[attachTo]] [_boxes, [0,0,0.85]]; | _cargo [[attachTo]] [_boxes, [0,0,0.85]]; | ||
{{cc|optional for objects that can take damage}} | |||
_boxes [[addEventHandler]] ["Killed", | _boxes [[addEventHandler]] ["Killed", | ||
{ | { | ||
Line 101: | Line 95: | ||
} | } | ||
[[forEach]] [[attachedObjects]] (_this [[select]] 0); | [[forEach]] [[attachedObjects]] (_this [[select]] 0); | ||
}];</code> | }];</code> |EXAMPLE7= | ||
|EXAMPLE7= | |||
|x8= Drop weapon:<code>_wh = "GroundWeaponHolder_Scripted" [[createVehicle]] [[position]] [[player]]; | |x8= Drop player's weapon: | ||
[[player]] [[action]] ["DropWeapon", _wh, [[currentWeapon]] [[player]]];</code> | | <code>_wh = "GroundWeaponHolder_Scripted" [[createVehicle]] [[position]] [[player]]; | ||
[[player]] [[action]] ["DropWeapon", _wh, [[currentWeapon]] [[player]]];</code> |EXAMPLE8= | |||
|x9= The following weapon holders (ending with ''_Scripted'') do '''not''' auto-delete when empty. It is up to the mission maker to take care of these: | |||
* "GroundWeaponHolder_Scripted" | |||
* "WeaponHolderSimulated_Scripted" | |||
* "Weapon_Empty" (a special weaponholder that displays only a single weapon, even if it contains magazines for this weapon) | |||
<code>[[private]] _weaponHolder = [[createVehicle]] ["Weapon_Empty", [[getPosATL]] [[player]], [], 0, "CAN_COLLIDE"]; | |||
_weaponHolder [[addWeaponCargo]] "arifle_Katiba_F"; | |||
[[hint]] "You have 5 seconds to grab this weapon"; | |||
[[sleep]] 5; | |||
[[deleteVehicle]] _weaponHolder; | |||
</code> |Example9= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|[[createVehicleLocal]], [[createVehicleCrew]], [[createAgent]], [[createTrigger]], [[createUnit]], [[deleteVehicle]], [[createGroup]], [[createCenter]], [[setVehiclePosition]] |SEEALSO= | |[[createVehicleLocal]], [[createVehicleCrew]], [[createAgent]], [[createTrigger]], [[createUnit]], [[deleteVehicle]], [[createGroup]], [[createCenter]], [[setVehiclePosition]] |SEEALSO= | ||
}} | }} | ||
[[Category:Scripting Commands| | [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands OFP 1. | [[Category:Scripting Commands OFP 1.46|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands OFP 1.96| | [[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands OFP 1. | [[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands ArmA | [[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
[[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}}}}]] | ||
[[Category:Command_Group:_Object_Manipulation|{{uc:{{PAGENAME}}}}]] | |||
<h3 style="display:none">Notes</h3> | <h3 style="display:none">Notes</h3> | ||
Line 125: | Line 130: | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on August 22, 2015 - 13:04 (UTC)</dd> | <dd class="notedate">Posted on August 22, 2015 - 13:04 (UTC)</dd> | ||
<dt class="note">[[User:MrSanchez|MrSanchez]]</dt> | <dt class="note">[[User:MrSanchez|MrSanchez]]</dt> | ||
<dd class="note"> | <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. | 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> | |||
<dd class="notedate">Posted on May 16, 2017 - 09:05 (UTC)</dd> | <dd class="notedate">Posted on May 16, 2017 - 09:05 (UTC)</dd> | ||
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt> | <dt class="note">[[User:AgentRevolution|AgentRev]]</dt> | ||
Line 143: | Line 141: | ||
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]]. | 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> | </dd> | ||
<dd class="notedate">Posted on November 2, 2018 - 12:16 (UTC)</dd> | <dd class="notedate">Posted on November 2, 2018 - 12:16 (UTC)</dd> | ||
<dt class="note">[[User:demellion|demellion]]</dt> | <dt class="note">[[User:demellion|demellion]]</dt> | ||
Line 153: | Line 147: | ||
'''WARNING:''' Do not instigate [[createVehicle]] or [[createVehicleLocal]] within a server function executed with [[Functions_Library_(Arma_3)#Pre_and_Post_Init|preInit]] flag.<br> This will cause ''"You cannot play/edit this mission"'' for a vehicles compiled from a [[Arma_3_Startup_Parameters|-mod]] and make server skip/loop that mission init. | '''WARNING:''' Do not instigate [[createVehicle]] or [[createVehicleLocal]] within a server function executed with [[Functions_Library_(Arma_3)#Pre_and_Post_Init|preInit]] flag.<br> This will cause ''"You cannot play/edit this mission"'' for a vehicles compiled from a [[Arma_3_Startup_Parameters|-mod]] and make server skip/loop that mission init. | ||
</dd> | </dd> | ||
<dd class="notedate">Posted on August 10, 2019 - 09:10 (UTC)</dd> | <dd class="notedate">Posted on August 10, 2019 - 09:10 (UTC)</dd> | ||
<dt class="note">[[User:R3vo|R3vo]]</dt> | <dt class="note">[[User:R3vo|R3vo]]</dt> | ||
Line 165: | Line 155: | ||
</dd> | </dd> | ||
</dl> | </dl> | ||
<!-- Notes Section END --> | |||
<!-- |
Revision as of 12:52, 3 September 2019
Description
- Description:
- Creates an empty object of given classname type. See Arma 3 Assets / createVehicle/vehicles, or for earlier games.
- 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 - (Optional, default []) 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 - (Optional, default 0) the vehicle is placed inside a circle with given position as center and placement as its radius.
- special): String - (Optional, default "NONE") can 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.
- Return Value:
- Object - created vehicle or objNull if failed
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 { private _fire = "test_EmptyObjectForFireBig" createVehicle position player; sleep 5; deleteVehicle _fire; };
- Example 6:
- The following explosives (ending with _Scripted) can be set off by applying setDamage 1 to them for ease of scripting:
- "DemoCharge_Remote_Ammo_Scripted"
- "SatchelCharge_Remote_Ammo_Scripted"
- "ClaymoreDirectionalMine_Remote_Ammo_Scripted"
_claymore = "ClaymoreDirectionalMine_Remote_Ammo_Scripted" createVehicle position player; _claymore spawn { sleep 5; _this setDamage 1; };
- Example 7:
- 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 player's weapon:
_wh = "GroundWeaponHolder_Scripted" createVehicle position player; player action ["DropWeapon", _wh, currentWeapon player];
- Example 9:
- The following weapon holders (ending with _Scripted) do not auto-delete when empty. It is up to the mission maker to take care of these:
- "GroundWeaponHolder_Scripted"
- "WeaponHolderSimulated_Scripted"
- "Weapon_Empty" (a special weaponholder that displays only a single weapon, even if it contains magazines for this weapon)
private _weaponHolder = createVehicle ["Weapon_Empty", getPosATL player, [], 0, "CAN_COLLIDE"]; _weaponHolder addWeaponCargo "arifle_Katiba_F"; hint "You have 5 seconds to grab this weapon"; sleep 5; deleteVehicle _weaponHolder;
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 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 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.
- Posted on November 2, 2018 - 12:16 (UTC)
- demellion
-
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)
- R3vo
-
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 tocreateVehicle ["vehclass", [pos select 0, pos select 1, 0], [], 0, "NONE"];
Categories:
- CfgVehicles
- 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.46
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.99
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters
- Command Group: Object Manipulation