{"name":"fullCrew","operator":null,"title":"fullCrew","type":"command","url":"https://community.bistudio.com/wiki/fullCrew","revid":377160,"updated":"2026-01-01T10:40:32Z","groups":["Object Manipulation"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"1.34"}],"since":{"game":"arma3","name":"Arma 3","version":"1.34"},"arma3_since":"1.34","branch":null,"locality":{"argument":"global","effect":null,"server_exec":false},"exec":null,"description":"Returns an array with all crew inside given vehicle, with or without empty seats.\n\n> [!IMPORTANT]\n> With the introduction of person turrets (FFV), the returned *cargoIndex* works with moveInCargo but does not with actions such as \"GetInCargo\" and \"MoveToCargo\".\n> To find out indexes for actions, use the \"cargo\" filter (See #Example 3).","syntaxes":[{"syntax":"fullCrew vehicle","since":null,"effect":null,"exec":null,"params":[{"name":"vehicle","type":"Object","optional":false,"default":null,"description":null,"types":["Object"],"since":null,"text":"vehicle: Object"}],"returns":{"type":"Array","types":["Array"],"description":"list of arrays in format [unit, role, cargoIndex, turretPath, personTurret, assignedUnit, positionName]: - unit: Object - role: String - not always lowercase before Arma 3 v2.04 - cargoIndex: Number - turretPath: Turret Path - personTurret: Boolean - Arma 3 v2.12 assignedUnit: Object - see assignAsXXX commands, assignAsDriver for example - Arma 3 v2.12 positionName: String - unlocalized entry for turret's `gunnerName`, for example \"$STR_A3_TURRETS_CARGOTURRET_R2\"","text":"Array - list of arrays in format [unit, role, cargoIndex, turretPath, personTurret, assignedUnit, positionName]:\n- unit: Object\n- role: String - not always lowercase before Arma 3 v2.04\n- cargoIndex: Number\n- turretPath: Turret Path\n- personTurret: Boolean\n- Arma 3 v2.12 assignedUnit: Object - see *assignAsXXX* commands, assignAsDriver for example\n- Arma 3 v2.12 positionName: String - unlocalized entry for turret's `gunnerName`, for example \"$STR_A3_TURRETS_CARGOTURRET_R2\""},"form":"unary","operator":null,"left":null,"right":{"text":"vehicle","types":["Object"]}},{"syntax":"fullCrew [vehicle, type, includeEmpty]","since":null,"effect":null,"exec":null,"params":[{"name":"vehicle","type":"Object","optional":false,"default":null,"description":null,"types":["Object"],"since":null,"text":"vehicle: Object"},{"name":"type","type":"String","optional":false,"default":null,"description":"role filter (case-insensitive). An invalid value (e.g \"\") will return all positions. Available values:\n- \"driver\"\n- \"commander\"\n- \"gunner\"\n- \"turret\"\n- \"cargo\"","types":["String"],"since":null,"text":"type: String - role filter (case-insensitive). An invalid value (e.g \"\") will return all positions. Available values:\n- \"driver\"\n- \"commander\"\n- \"gunner\"\n- \"turret\"\n- \"cargo\""},{"name":"includeEmpty","type":"Boolean","optional":true,"default":"false","description":"include empty crew seats","types":["Boolean"],"since":"arma3 1.56","text":"includeEmpty: Boolean - (Optional, default false) include empty crew seats"}],"returns":{"type":"Array","types":["Array"],"description":"list of arrays in format [unit, role, cargoIndex, turretPath, personTurret, assignedUnit, positionName]: - unit: Object - role: String - not always lowercase before Arma 3 v2.04 - cargoIndex: Number - turretPath: Turret Path - personTurret: Boolean - Arma 3 v2.12 assignedUnit: Object - see assignAsXXX commands, assignAsDriver for example - Arma 3 v2.12 positionName: String - unlocalized entry for turret's `gunnerName`, for example \"$STR_A3_TURRETS_CARGOTURRET_R2\"","text":"Array - list of arrays in format [unit, role, cargoIndex, turretPath, personTurret, assignedUnit, positionName]:\n- unit: Object\n- role: String - not always lowercase before Arma 3 v2.04\n- cargoIndex: Number\n- turretPath: Turret Path\n- personTurret: Boolean\n- Arma 3 v2.12 assignedUnit: Object - see *assignAsXXX* commands, assignAsDriver for example\n- Arma 3 v2.12 positionName: String - unlocalized entry for turret's `gunnerName`, for example \"$STR_A3_TURRETS_CARGOTURRET_R2\""},"form":"unary","operator":null,"left":null,"right":{"text":"[vehicle, type, includeEmpty]","types":["Array"]}}],"examples":[{"text":"```sqf\n_list = fullCrew vehicle player;\n/*\n    returns for example (on an armed WY-55 Hellcat):\n    [\n        [R Alpha 1-1:1, \"driver\", -1, [], false, R Alpha 1-1:1, \"$STR_POSITION_DRIVER\"],\n        [R Alpha 1-1:2, \"turret\", -1, [0], false, R Alpha 1-1:2, \"$STR_A3_COPILOT\"]\n    ]\n*/\n```","code":["_list = fullCrew vehicle player;\n/*\n\treturns for example (on an armed WY-55 Hellcat):\n\t[\n\t\t[R Alpha 1-1:1, \"driver\", -1, [], false, R Alpha 1-1:1, \"$STR_POSITION_DRIVER\"],\n\t\t[R Alpha 1-1:2, \"turret\", -1, [0], false, R Alpha 1-1:2, \"$STR_A3_COPILOT\"]\n\t]\n*/"]},{"text":"```sqf\n_list = fullCrew [vehicle player, \"turret\"];\n/*\n    returns for example (on an armed WY-55 Hellcat):\n    [\n        [R Alpha 1-1:2, \"turret\", -1, [0], false, R Alpha 1-1:2, \"$STR_A3_COPILOT\"]\n    ]\n*/\n```","code":["_list = fullCrew [vehicle player, \"turret\"];\n/*\n\treturns for example (on an armed WY-55 Hellcat):\n\t[\n\t\t[R Alpha 1-1:2, \"turret\", -1, [0], false, R Alpha 1-1:2, \"$STR_A3_COPILOT\"]\n\t]\n*/"]},{"text":"```sqf\nprivate _actionCompatibleCargoIndexes = fullCrew [heli, \"cargo\", true];\n/*\n    returns for example (on an empty armed WY-55 Hellcat):\n    [\n        [objNull, \"cargo\", 2, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n        [objNull, \"cargo\", 3, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n        [objNull, \"cargo\", 4, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n        [objNull, \"cargo\", 5, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"]\n    ]\n    using the element's index is compatible with action cargo commands - see below\n*/\n\n// the following commands will put the player in the same seat:\nplayer moveInCargo [heli, 2];\nplayer action [\"GetInCargo\", heli, 0];\n```","code":["private _actionCompatibleCargoIndexes = fullCrew [heli, \"cargo\", true];\n/*\n\treturns for example (on an empty armed WY-55 Hellcat):\n\t[\n\t\t[objNull, \"cargo\", 2, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n\t\t[objNull, \"cargo\", 3, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n\t\t[objNull, \"cargo\", 4, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"],\n\t\t[objNull, \"cargo\", 5, [], false, objNull, \"$STR_GETIN_POS_PASSENGER\"]\n\t]\n\tusing the element's index is compatible with action cargo commands - see below\n*/\n\n// the following commands will put the player in the same seat:\nplayer moveInCargo [heli, 2];\nplayer action [\"GetInCargo\", heli, 0];"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["crew","createVehicleCrew","assignedVehicleRole","allTurrets","emptyPositions"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Object Manipulation","Introduced with Arma 3 version 1.34","Scripting Commands"]}