createVehicleCrew: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<br/>" to "<br>")
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(63 intermediate revisions by 3 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 vehicle crew corresponding to vehicle's [[faction]]. The command creates driver, if the vehicle has driver position (vehicle config: <tt>hasDriver</tt>) and fills [[allTurrets | all non-FFV turrets]] with gunners, if turrets can have gunners (turret config: <tt>hasGunner</tt>). Any turret that has <tt>dontCreateAI</tt> option set is omitted. If the vehicle is already occupied, the command will only create missing crew.<br><br>
|gr1= Object Manipulation
Since Arma 3 v1.93.145652 this command will return [[Group]] of the created crew which will be vehicle's group. Missing crew will be created in the same group as vehicle. To find out which crew will be created, use [[BIS_fnc_vehicleCrewTurrets]].<br><br>
 
{{Informative | This command does not [[addVehicle]] to the created crew in the same way this normally happens when crewed vehicle created in the editor. See [[BIS_fnc_spawnVehicle]] for a full vehicle and crew creation and group addition.}}


{{Important| While a vehicle with a crew placed in editor will have all crew units of the [[rank]] <tt>"PRIVATE"</tt>, this command will create the driver as <tt>"LIEUTENANT"</tt> and all turret units as <tt>"SERGEANT"</tt> }} |Description=
|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]].


| [[createVehicleCrew]] vehicle |Syntax=
{{{!}} 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.
{{!}}}


|p1= vehicle: [[Object]] - vehicle to populate with crew |Parameter 1=
|mp= This command seems to be {{Icon|localArgument|32}} with UAVs.


| [[Group]] - the group of the created crew (since Arma 3 v1.93.145652)|Return value=
|s1= [[createVehicleCrew]] vehicle


|x1= <code>_veh = [[createVehicle]] ["B_MRAP_01_F", [[getMarkerPos]] "createVeh", [], 0, "NONE"];
|p1= vehicle: [[Object]] - vehicle to populate with crew
[[createVehicleCrew]] _veh;</code>|Example 1=


|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>
 
<code>[O Alpha 1-1:1,"OPF_F",EAST,EAST]
|p21= group: [[Group]] - group to put crew in
[O Alpha 1-1:2,"OPF_F",EAST,EAST]</code> |Example 2=
 
|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


| [[deleteVehicleCrew]], [[moveInDriver]], [[moveInGunner]], [[moveInCommander]], [[moveInTurret]], [[moveInCargo]], [[BIS_fnc_spawnVehicle]] |See Also=
|r3= [[Group]] - the group of the created crew or [[grpNull]]
}}


<h3 style='display:none'>Notes</h3>
|x1= <sqf>
<dl class='command_description'>
_veh = createVehicle ["B_MRAP_01_F", getMarkerPos "createVeh", [], 0, "NONE"];
<!-- Note Section BEGIN -->
createVehicleCrew _veh;
</sqf>


<!-- Note Section END -->
|x2= <sqf>
</dl>
_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;


<h3 style='display:none'>Bottom Section</h3>
// [O Alpha 1-1:1,"OPF_F",EAST,EAST]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
// [O Alpha 1-1:2,"OPF_F",EAST,EAST]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
</sqf>
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Vehicle_Assignment|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
|seealso= [[deleteVehicleCrew]] [[moveInDriver]] [[moveInGunner]] [[moveInCommander]] [[moveInTurret]] [[moveInCargo]] [[BIS_fnc_spawnVehicle]]
<dl class="command_description">
}}
<dd class="notedate">Posted on August 20, 2014 - 14:01 (UTC)</dd>
<dt class="note">[[User:SilentSpike|SilentSpike]]</dt>
<dd class="note">
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.
</dd>


<dd class="notedate">Posted on November 8, 2014 - 17:06 (UTC)</dd>
{{Note
<dt class="note">[[User:Tankbuster|Tankbuster]]</dt>
|user= SilentSpike
<dd class="note">
|timestamp= 20140820140100
This command creates drivers/copilots, commanders and gunners where appropriate, but it never creates cargo crew.
|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.
So a gunship Huron will get a pilot and copilot plus 2 door gunners, but nobody in the back.
|game= arma3
</dd>
|version= 1.26
}}


<dd class="notedate">Posted on December 22, 2015 - 14:19 (UTC)</dd>
{{Note
<dt class="note">[[User:DrPastah|DrPastah]]</dt>
|user= DrPastah
<dd class="note">
|timestamp= 20151222141900
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.
|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.
</dd>
}}


<dd class="notedate">Posted on July 2, 2017 - 03:26 (UTC)</dd>
{{Note
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
|user= AgentRev
<dd class="note">
|timestamp= 20170602032600
The particular seats to which units are added depend on the <tt>dontCreateAI</tt> property, the <tt>hasDriver</tt> property of the base class, and the <tt>hasGunner</tt> propery of turret classes.<br>
|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>
For instance, the following snippet calculates how many seats will be occupied by the created crew:
For instance, the following snippet calculates how many seats will be occupied by the created crew:
<code>private _vehCfg = configFile >> "CfgVehicles" >> typeOf _vehicle;
<sqf>
private _crewCount = {round getNumber (_x >> "dontCreateAI") < 1 &&  
private _vehCfg = configFile >> "CfgVehicles" >> typeOf _vehicle;
                      ((_x == _vehCfg && {round getNumber (_x >> "hasDriver") > 0}) ||
private _crewCount = {
                      (_x != _vehCfg && {round getNumber (_x >> "hasGunner") > 0}))} count ([_vehicle, configNull] call BIS_fnc_getTurrets);
round getNumber (_x >> "dontCreateAI") < 1 &&  
</code>
((_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
Also, I've written a function to create a UAV crew for a specific side: https://gist.github.com/AgentRev/cb25d30e464f2239b6cee51fa0110c78
</dd>
}}
</dl>
<!-- DISCONTINUE Notes -->

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