2010-05-29 Units, units, units and manning vehicles with a different crew Zoom

A large update to the unit database: additional Bundeswehr units, Taliban fighters, China's People's Liberation Army, and more Russian aircraft. In total, the database for ArmA II now features 29 different mods/sources of units, and 542 different sections, squads, or platoons along with unit icons, description, camouflage indication and initialization if required.

Bundeswehr desert units with ISAF signs

Taliban units with (civilian) transports

PLA infantry and IFV with digital camouflage

I've added the Bundeswehr units that came with BWMod team's 1.6 update: infantry in 'steppentarn' camouflage, and vehicles in desert camouflage, both with and without ISAF markings.


On request of, and with help from folks in the PlannedAssault thread on BI's forums, Taliban units have been introduced (from SchnapsdroSel's 'Desert Mercs and Black Ops'). In addition to Taliban fighters, I've figured out the initialization and scripting to add a mortar team, several 'technicals' (armed 4x4 trucks) and transports based based on civilian cars and trucks. More on that below.


Another set of great OPFOR (red) units is offered by Fromz' 'PLA'. These Chinese People's Liberation Army units are available both through ACE2 (as ACEXPLA) and as a stand-alone mod (Operation Halfmoon PLA mod). The PLA units contain infantry, vehicles, IFVs and tanks with beautiful digital camouflage, and gunships. Additions scripting enables additional mortar and howitzer artillery units.


Gnat's Su-33 Flanker D carrier operations variant of the Su-27 Flanker and Rstratton's Ka-50 Hokum-A make up the final additions.

PLA artillery unit in action

Russian Ka-50 Hokum-A in desert camouflage

Su-33 Flanker-D in desert camouflage above Quesh-Kibrul

Manning vehicles with a non-standard crew.

The convention in Arma (II) is that a vehicle specifies, in its configuration, what crew it has. The upside of this is that you can drag and drop a working vehicle with matching crew in the game's mission editor, and it will look and work fine. The downside is that if you need that same vehicle with a different crew, for example a HMMWV manned by special set of 2005 US Rangers, you have a problem: the game's mission editor doesn't allow you to specify substitutions for the crew.

To create a HMMWV manned by US Ranger soldiers in your mission, you need to spawn empty vehicles, a separate group of soldiers and add a waypoint with script for the soldiers to man the vehicle. Things are even more complicated because Arma doesn't automatically 'formation place' empty vehicles in safe spots (so you risk placing a vehicle on top of a tree, roof or rock). Another problem is instructing soldiers to man a vehicle with multiple turrets designated as 'gunner' position.


Obviously, many things are possible in Arma and ArmA II with a good amount of scripting. And once the required scripts have been developed, the problem can be automated away, for example in a mission generator such as PlannedAssault. Hence the addition of Taliban armed pickup units in the database (SchnapsdroSel's addon solely provides armed pickup units for the Middle-east fighters, not for the Taliban).


The idea to use empty vehicles and man them with a matching crew was developed early in PlannedAssault's development. For example, the Arma1 database features UK Jackal units from one mod with matched with Stalkers's infantry. What I didn't get working until this update was proper handling of transport units. I could get a crew to man the truck or car and I could get another passenger group to mount the truck. However, everything would grind to a halt when the vehicle and passeners reach their waypoint to unload / get out. Both crew and passengers would not leave the vehicle.

This week I got lucky. When testing the Taliban units I took another look at vehicle assignments in the BI Wiki. And there it was: 'addVehicle'. Apparently, if you use 'joinSilent' to add vehicles to the group, vehicles still aren't completely part of the group. Replacing 'joinSilent' by 'addVehicle' removed the problem...