Combat zones¶
See it in game: step 05 “Gali front, and the JTAC drone” of the demo mission.
What it is¶
An objective prepared in the DCS editor and activated on demand from the F10 radio menu. At start-up the zone is emptied: its groups are destroyed. On activation they are recreated, and the zone declares itself complete once the enemy is gone.
A zone is declared in three pieces, two in the DCS editor and one in mission.yaml.
The smallest example that works¶
1. In the DCS editor — a trigger zone named CZ-Alpha.
2. In the DCS editor — a group placed inside it, named CZ-Alpha-ARMOR.
3. In mission.yaml:
modules:
COMBATZONE:
enabled: true
combat_zones:
- zone_name: CZ-Alpha
friendly_name: Alpha Zone
training: true
zone_name is the only required key; it is the trigger zone's name, character for character.
friendly_name is what the player reads in the menu; without it, they read zone_name.
In game: F10 "Other" → COMBAT ZONES → Alpha Zone → Activate zone. The message "VeafCombatZone Alpha Zone has been activated." appears, the contents show up a second later, and the zone report follows.
The gotcha¶
The group's name must start with the zone's name. Putting a group inside the trigger zone is not
enough: the zone only captures groups whose name starts with its own (case is ignored). A group
called ARMOR-1 sitting neatly inside CZ-Alpha is simply ignored; it must be CZ-Alpha-ARMOR-1.
The dangerous corollary runs the other way: an unrelated group named CZ-Alpha-something and placed
inside the zone will be destroyed at mission start.
Nothing shows in game either way, but the DCS log names what the zone left behind — one line per zone at start-up, listing the groups it found inside and turned down. A zone that "spawns nothing" is worth one look at the log before anything else.
Second gotcha: training: true is not cosmetic. Without it the menu entry reads +Activate zone
and demands an authenticated radio — handy on a server, baffling while you are learning.
training: true or not¶
| menu entry | who can activate | |
|---|---|---|
training: true |
Activate zone |
anyone |
absent or false |
+Activate zone |
an authenticated radio only (security) |
Spawning VEAF units instead of hand-placed ones¶
Rather than placing units one by one, drop a dummy unit whose name carries a VEAF command. It is destroyed at start-up, and the command runs on activation:
CZ-Alpha-SAM #command="-samLR"
The alias (-samLR, -samSR, -armor…) comes from the alias catalogue —
there is no -lrsam, it is -samLR.
Dialling in the randomness¶
Markers inside names tune the spawn behaviour:
| Marker | Effect | Default |
|---|---|---|
#spawnchance=50 |
this group has a 50 % chance of spawning | 100 |
#spawncount=2 |
exactly 2 groups among the zone's | 1 |
#spawnradius=200 |
random dispersion, in metres | 50 m (group), 0 m (static) |
#spawndelay=60 |
delayed spawn, in seconds | no delay |
This changes existing missions
#spawnchance really does deny a spawn: a group at 50 % spawns half the time, and a group
at 0 % never spawns. The guarantee of a number stays with #spawncount: two groups asked for
out of four give exactly two, drawn at random. Missions that used #spawnchance will therefore
see fewer spawns than before.