createVehicleCrew: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "$1$2</code>")
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(23 intermediate revisions by 2 users not shown)
Line 3: Line 3:
|game1= arma3
|game1= arma3
|version1= 0.76
|version1= 0.76
|arg= global
|eff= global


|gr1= Object Manipulation
|gr1= Object Manipulation
Line 8: Line 11:
|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>
|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]].
To find out which crew will be created, use [[BIS_fnc_vehicleCrewTurrets]].
 
{{Feature|informative|This command:
* {{GVI|arma3|1.26|size=0.75}} creates a group if one is needed (otherwise uses {{ic|[[group]] vehicle}})
* creates a driver (if the vehicle needs one - config {{hl|hasDriver}})
* creates [[allTurrets|all non-FFV turrets]] gunners (if the turret needs one - config {{hl|hasGunner}} without {{hl|dontCreateAI}})
* does not create cargo
* 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]] to spawn a crew-full vehicle with group addition.
}}


{{Feature|important|While a vehicle with a crew placed in editor will have all crew units of the [[rank]] {{hl|"PRIVATE"}}, this command will create the driver as {{hl|"LIEUTENANT"}} and all turret units as {{hl|"SERGEANT"}}.}}
{{{!}} 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.
{{!}}}
 
|mp= This command seems to be {{Icon|localArgument|32}} with UAVs.


|s1= [[createVehicleCrew]] vehicle
|s1= [[createVehicleCrew]] vehicle
Line 25: Line 35:
|r1= [[Group]] - the group of the created crew (since {{GVI|arma3|1.94}}; before that returned [[Nothing]])
|r1= [[Group]] - the group of the created crew (since {{GVI|arma3|1.94}}; before that returned [[Nothing]])


|x1= <code>_veh = [[createVehicle]] ["B_MRAP_01_F", [[getMarkerPos]] "createVeh", [], 0, "NONE"];
|s2= group [[createVehicleCrew]] vehicle
createVehicleCrew _veh;</code>
|s2since= arma3 2.14
 
|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]]
 
|x1= <sqf>
_veh = createVehicle ["B_MRAP_01_F", getMarkerPos "createVeh", [], 0, "NONE"];
createVehicleCrew _veh;
</sqf>


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


// [O Alpha 1-1:1,"OPF_F",EAST,EAST]
// [O Alpha 1-1:1,"OPF_F",EAST,EAST]
// [O Alpha 1-1:2,"OPF_F",EAST,EAST]</code>
// [O Alpha 1-1:2,"OPF_F",EAST,EAST]
</sqf>


|seealso= [[deleteVehicleCrew]] [[moveInDriver]] [[moveInGunner]] [[moveInCommander]] [[moveInTurret]] [[moveInCargo]] [[BIS_fnc_spawnVehicle]]
|seealso= [[deleteVehicleCrew]] [[moveInDriver]] [[moveInGunner]] [[moveInCommander]] [[moveInTurret]] [[moveInCargo]] [[BIS_fnc_spawnVehicle]]
Line 55: Line 87:


{{Note
{{Note
|user= AgentRevolution
|user= AgentRev
|timestamp= 20170602032600
|timestamp= 20170602032600
|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>
|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 = {
private _vehCfg = configFile >> "CfgVehicles" >> typeOf _vehicle;
[[round]] [[getNumber]] (_x >> "dontCreateAI") < 1 &&  
private _crewCount = {
((_x == _vehCfg && { [[round]] [[getNumber]] (_x >> "hasDriver") > 0 }) {{!}}{{!}}
round getNumber (_x >> "dontCreateAI") < 1 &&  
(_x != _vehCfg && { [[round]] [[getNumber]] (_x >> "hasGunner") > 0 }))
((_x == _vehCfg && { round getNumber (_x >> "hasDriver") > 0 }) ||
} count ([_vehicle, configNull] [[call]] [[BIS_fnc_getTurrets]]);</code>
(_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
}}
}}

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