events.xml Configuration
Controls dynamic world events such as helicopter crashes, contaminated zones, and supply drops. Defines event types, spawn rates, and locations.
Overview
events.xml controls dynamic world events in DayZ — things that happen at specific locations with their own spawn logic, separate from the regular loot economy. This includes helicopter crash sites, police car wrecks, contaminated zones, and other dynamic spawns.
Unlike types.xml which manages individual items, events spawn entire groups of objects (a crashed helicopter with surrounding loot). Events have their own nominal/min/lifetime/restock cycle and use position data from cfgeventspawns.xml to determine valid spawn locations.
File Structure
Each event is defined within an <event> element:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<events>
<event name="StaticHeliCrash">
<nominal>3</nominal>
<min>1</min>
<lifetime>1800</lifetime>
<restock>600</restock>
<saferadius>500</saferadius>
<distanceradius>500</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="1" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="10" lootmin="5" max="3" min="1" type="Wreck_Mi8_Crashed"/>
</children>
</event>
</events>
Key Parameters
| Parameter | Description |
|---|---|
| name | Unique identifier for the event. Must match entries in cfgeventspawns.xml for position data. |
| nominal | Target number of active instances of this event on the map at any time. |
| min | Minimum active instances before the CE spawns new ones. |
| lifetime | How long (seconds) the event persists before being cleaned up and potentially respawned elsewhere. |
| restock | Delay (seconds) before a new event instance can spawn after one is cleaned up. |
| saferadius | Minimum distance (meters) from players before the event can spawn. Prevents events appearing near players. |
| distanceradius | Minimum distance (meters) between instances of the same event type. |
| cleanupradius | Radius (meters) around the event within which associated objects are cleaned up when the event despawns. |
| flags | deletable: can be removed. init_random: randomize initial spawn. remove_damaged: clean up if damaged. |
| position | fixed: uses predefined positions from cfgeventspawns.xml. player: spawns relative to player positions. |
| limit | child: limit applies to child objects. custom: uses custom limiting logic. mixed: combination. |
| active | 1 = event is enabled. 0 = event is disabled. Quick way to toggle events without deleting them. |
Event Types
Helicopter Crashes
The most sought-after events. Spawn crashed helicopters with high-tier military loot including rare weapons (LAR, VSS, M4A1) and equipment. Visible by smoke columns from a distance. Events: StaticHeliCrash, StaticHeliCrash_Mi8.
Police Cars
Wrecked police vehicles that spawn police-tier loot including pistols, shotguns, and police clothing. More common than helicopter crashes. Events: StaticPoliceCar.
Contaminated Zones
Toxic areas requiring NBC gear to enter safely. Contain high-value loot as a reward for the risk. Configured alongside cfgEffectArea.json. Events: ContaminatedArea_Static, ContaminatedArea_Dynamic.
Position Configuration
Event positions are defined in cfgeventspawns.xml. Each event name in events.xml must have matching position entries. The CE randomly selects from available positions when spawning an event.
<!-- cfgeventspawns.xml position example -->
<event name="StaticHeliCrash">
<pos x="4521.3" z="9632.1" a="125" />
<pos x="7832.5" z="2841.7" a="45" />
<pos x="11234.8" z="7521.3" a="270" />
</event>
x and z are map coordinates. a is the rotation angle in degrees. Add more positions to increase spawn variety.
Example Configurations
Increased Helicopter Crashes
<event name="StaticHeliCrash">
<nominal>5</nominal>
<min>2</min>
<lifetime>2400</lifetime>
<restock>300</restock>
<saferadius>500</saferadius>
<distanceradius>800</distanceradius>
<cleanupradius>200</cleanupradius>
<flags deletable="1" init_random="0" remove_damaged="1"/>
<position>fixed</position>
<limit>child</limit>
<active>1</active>
<children>
<child lootmax="12" lootmin="6" max="5" min="2" type="Wreck_Mi8_Crashed"/>
</children>
</event>
Disabled Contaminated Zones
<event name="ContaminatedArea_Dynamic">
<nominal>0</nominal>
<min>0</min>
<lifetime>0</lifetime>
<restock>0</restock>
<saferadius>0</saferadius>
<distanceradius>0</distanceradius>
<cleanupradius>0</cleanupradius>
<flags deletable="0" init_random="0" remove_damaged="0"/>
<position>fixed</position>
<limit>custom</limit>
<active>0</active>
</event>