createVehicleCrew: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (added Vehicle_Assignment category)
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(79 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3 |= Game name
|game1= arma3
|version1= 0.76


|0.76|= Game version
|arg= global
____________________________________________________________________________________________
|eff= global


| Creates crew to given empty vehicle. Crew members are default crew defined in config. Crew side will also correspond to vehicle's [[faction]]. |= Description
|gr1= Object Manipulation
____________________________________________________________________________________________


| '''createVehicleCrew''' vehicle |= Syntax
|descr= Creates vehicle crew corresponding to the provided vehicle's [[faction]]. If the vehicle is already occupied, the command will only create missing crew in the existing vehicle's group.<br>
To find out which crew will be created, use [[BIS_fnc_vehicleCrewTurrets]].


|p1= vehicle: [[Object]] |= Parameter 1
{{{!}} class="wikitable valign-top"
{{!}}+ This command:
! Does
! Does not
{{!}}-
{{!}}
* {{GVI|arma3|1.26|size= 0.75}} create a group if one is needed (otherwise uses <sqf inline>group _vehicle</sqf>)
* create a driver if the vehicle needs one (<syntaxhighlight lang="cpp" inline>hasDriver = 1;</syntaxhighlight> in config)
* create [[allTurrets|all non-FFV turrets]] gunners (if the turret needs one - config {<syntaxhighlight lang="cpp" inline>hasGunner</syntaxhighlight> without <syntaxhighlight lang="cpp" inline>dontCreateAI</syntaxhighlight>)
* create crew with '''[[rank]]s''' - with the driver as {{hl|"LIEUTENANT"}} and all turret units as {{hl|"SERGEANT"}}, unlike a crewed vehicle placed in [[:Category:Eden Editor|Eden Editor]] where all units are {{hl|"PRIVATE"}}.
{{!}}
* [[addVehicle|add vehicle]] to the group, unlike a crewed vehicle placed in [[:Category:Eden Editor|Eden Editor]]. See [[BIS_fnc_spawnVehicle]] to spawn a crew-full vehicle with group addition
* create cargo units.
{{!}}}


| [[Nothing]] |= RETURNVALUE
|mp= This command seems to be {{Icon|localArgument|32}} with UAVs.


|s1= [[createVehicleCrew]] vehicle


|x1= <code>// Spawn a flying UAV with crew. 
|p1= vehicle: [[Object]] - vehicle to populate with crew
myUAV = <nowiki>[</nowiki>[[getPos]] [[player]], 0, "B_UAV_02_F", [[west]]] [[call]] [[BIS_fnc_spawnVehicle]];
[[createVehicleCrew]] (myUAV [[select]] 0);
</code>|= EXAMPLE1


|x2= <code>_veh = [[createVehicle]] ["O_MRAP_02_hmg_F", [[position]] [[player]], [], 0, "NONE"];
|r1= [[Group]] - the group of the created crew (since {{GVI|arma3|1.94}}; before that returned [[Nothing]])
[[createVehicleCrew]] _veh;
 
{
|s2= group [[createVehicleCrew]] vehicle
[[diag_log]] [_x, [[faction]] _x, [[side]] _x, [[side]] [[group]] _x];
|s2since= arma3 2.14
} [[forEach]] [[crew]] _veh;</code>
 
|p21= group: [[Group]] - group to put crew in
 
|p22= vehicle: [[Object]] - vehicle to populate with crew
 
|r2= [[Group]] - the group of the created crew or [[grpNull]]
 
|s3= side [[createVehicleCrew]] vehicle
|s3since= arma3 2.14
 
|p41= side: [[Side]] - side to create crew on
 
|p42= vehicle: [[Object]] - vehicle to populate with crew
 
|r3= [[Group]] - the group of the created crew or [[grpNull]]


<code>[O Alpha 1-1:1,"OPF_F",EAST,EAST]
|x1= <sqf>
[O Alpha 1-1:2,"OPF_F",EAST,EAST]
_veh = createVehicle ["B_MRAP_01_F", getMarkerPos "createVeh", [], 0, "NONE"];
</code>|= EXAMPLE2
createVehicleCrew _veh;
</sqf>


____________________________________________________________________________________________
|x2= <sqf>
_veh = createVehicle ["O_MRAP_02_hmg_F", position player, [], 0, "NONE"];
createVehicleCrew _veh;
{
diag_log [_x, faction _x, side _x, side group _x];
} forEach crew _veh;


| [[moveInDriver]], [[moveInGunner]], [[moveInCommander]], [[moveInTurret]], [[moveInCargo]] |= SEEALSO
// [O Alpha 1-1:1,"OPF_F",EAST,EAST]
// [O Alpha 1-1:2,"OPF_F",EAST,EAST]
</sqf>


| |= MPBEHAVIOUR
|seealso= [[deleteVehicleCrew]] [[moveInDriver]] [[moveInGunner]] [[moveInCommander]] [[moveInTurret]] [[moveInCargo]] [[BIS_fnc_spawnVehicle]]
____________________________________________________________________________________________
}}
}}


<h3 style='display:none'>Notes</h3>
{{Note
<dl class='command_description'>
|user= SilentSpike
<!-- Note Section BEGIN -->
|timestamp= 20140820140100
|text= As of {{arma3}} v1.26 the command will work on non-empty vehicles. If any of the crew defined in config are missing they will be added.
|game= arma3
|version= 1.26
}}


<!-- Note Section END -->
{{Note
</dl>
|user= DrPastah
|timestamp= 20151222141900
|text= [[createVehicleCrew]] does not work with Transport Unload waypoints for helicopters. You need to spawn the pilots separately and then get them into the helicopter in order to get Transport Unload waypoints to work.
}}


<h3 style='display:none'>Bottom Section</h3>
{{Note
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
|user= AgentRev
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
|timestamp= 20170602032600
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
|text= The particular seats to which units are added depend on the {{hl|dontCreateAI}} property, the {{hl|hasDriver}} property of the base class, and the {{hl|hasGunner}} propery of turret classes.<br>
[[Category:Command_Group:_Vehicle_Assignment|{{uc:{{PAGENAME}}}}]]
For instance, the following snippet calculates how many seats will be occupied by the created crew:
<sqf>
private _vehCfg = configFile >> "CfgVehicles" >> typeOf _vehicle;
private _crewCount = {
round getNumber (_x >> "dontCreateAI") < 1 &&
((_x == _vehCfg && { round getNumber (_x >> "hasDriver") > 0 }) ||
(_x != _vehCfg && { round getNumber (_x >> "hasGunner") > 0 }))
} count ([_vehicle, configNull] call BIS_fnc_getTurrets);
</sqf>
Also, I've written a function to create a UAV crew for a specific side: https://gist.github.com/AgentRev/cb25d30e464f2239b6cee51fa0110c78
}}

Latest revision as of 11:35, 3 September 2024

Hover & click on the images for description

Description

Description:
Creates vehicle crew corresponding to the provided vehicle's faction. If the vehicle is already occupied, the command will only create missing crew in the existing vehicle's group.
To find out which crew will be created, use BIS_fnc_vehicleCrewTurrets.
This command:
Does Does not
  • Arma 3 logo black.png1.26 create a group if one is needed (otherwise uses group _vehicle)
  • create a driver if the vehicle needs one (hasDriver = 1; in config)
  • create all non-FFV turrets gunners (if the turret needs one - config {hasGunner without dontCreateAI)
  • create crew with ranks - with the driver as "LIEUTENANT" and all turret units as "SERGEANT", unlike a crewed vehicle placed in Eden Editor where all units are "PRIVATE".
Multiplayer:
This command seems to be LALocal with UAVs.
Groups:
Object Manipulation

Syntax 1

Syntax:
createVehicleCrew vehicle
Parameters:
vehicle: Object - vehicle to populate with crew
Return Value:
Group - the group of the created crew (since Arma 3 logo black.png1.94; before that returned Nothing)

Syntax 2

Syntax:
group createVehicleCrew vehicle
Parameters:
group: Group - group to put crew in
vehicle: Object - vehicle to populate with crew
Return Value:
Group - the group of the created crew or grpNull

Syntax 3

Syntax:
side createVehicleCrew vehicle
Parameters:
side: Side - side to create crew on
vehicle: Object - vehicle to populate with crew
Return Value:
Group - the group of the created crew or grpNull

Examples

Example 1:
_veh = createVehicle ["B_MRAP_01_F", getMarkerPos "createVeh", [], 0, "NONE"]; createVehicleCrew _veh;
Example 2:
_veh = createVehicle ["O_MRAP_02_hmg_F", position player, [], 0, "NONE"]; createVehicleCrew _veh; { diag_log [_x, faction _x, side _x, side group _x]; } forEach crew _veh; // [O Alpha 1-1:1,"OPF_F",EAST,EAST] // [O Alpha 1-1:2,"OPF_F",EAST,EAST]

Additional Information

See also:
deleteVehicleCrew moveInDriver moveInGunner moveInCommander moveInTurret moveInCargo BIS_fnc_spawnVehicle

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
SilentSpike - c
Posted on Aug 20, 2014 - 14:01 (UTC)

As of Arma 3 v1.26 the command will work on non-empty vehicles. If any of the crew defined in config are missing they will be added.

DrPastah - c
Posted on Dec 22, 2015 - 14:19 (UTC)
createVehicleCrew does not work with Transport Unload waypoints for helicopters. You need to spawn the pilots separately and then get them into the helicopter in order to get Transport Unload waypoints to work.
AgentRev - c
Posted on Jun 02, 2017 - 03:26 (UTC)
The particular seats to which units are added depend on the dontCreateAI property, the hasDriver property of the base class, and the hasGunner propery of turret classes.
For instance, the following snippet calculates how many seats will be occupied by the created crew:
private _vehCfg = configFile >> "CfgVehicles" >> typeOf _vehicle; private _crewCount = { round getNumber (_x >> "dontCreateAI") < 1 && ((_x == _vehCfg && { round getNumber (_x >> "hasDriver") > 0 }) || (_x != _vehCfg && { round getNumber (_x >> "hasGunner") > 0 })) } count ([_vehicle, configNull] call BIS_fnc_getTurrets);
Also, I've written a function to create a UAV crew for a specific side: https://gist.github.com/AgentRev/cb25d30e464f2239b6cee51fa0110c78