> For the complete documentation index, see [llms.txt](https://alt0.gitbook.io/alt0-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alt0.gitbook.io/alt0-docs/alt0-dispatch/configuration.md).

# Configuration

Every setting in ALT0 Dispatch's config.lua.

Everything is in `config.lua`. Keep it when you update.

## Jobs

| Setting                 | Who it means                                  |
| ----------------------- | --------------------------------------------- |
| `Config.PoliceJobs`     | Every law enforcement job                     |
| `Config.CityPoliceJobs` | Jobs that answer calls inside the City zone   |
| `Config.SheriffJobs`    | Jobs that answer calls inside the County zone |
| `Config.MedicJobs`      | EMS jobs                                      |

Jobs of type `leo` and `ems` also count as law and medical.

```lua
Config.SheriffJobs = {
    ['bcso'] = true,
    ['sheriff'] = true,
    ['sahp'] = true,
    ['sasp'] = true,
}
```

## Jurisdictions

`Config.Jurisdictions` holds the `city` and `county` zones as map corners. Police calls go to the agency whose zone contains the call. If nobody from that agency is on duty, the other one gets it (mutual aid). Outside both zones, calls north of `FallbackNorthOf` go to the county.

## Automatic alerts

```lua
Config.Alerts = {
    vehicle_theft = false, -- stealing NPC or parked cars (boosting alerts always go through)
    shots_fired = true,    -- civilians firing a weapon
    explosions = true,     -- civilians hearing an explosion
    officer_down = true,   -- on-duty police or EMS going down
}
```

| Setting                            | What it does                                            |
| ---------------------------------- | ------------------------------------------------------- |
| `Config.ShotsFired.Cooldown`       | Seconds between shots-fired alerts from the same player |
| `Config.ShotsFired.IgnoredWeapons` | Weapons that never trigger a shots-fired alert          |
| `Config.ExplosionCooldown`         | Seconds between explosion alerts                        |

## Merging calls

Many players hear the same gunfight. Calls with these codes within `Radius` metres and `Seconds` of an earlier one are merged into it:

```lua
Config.Merge = {
    Codes = { ['10-71'] = true, ['10-80'] = true },
    Radius = 120.0,
    Seconds = 45,
}
```

## Keys and commands

```lua
Config.Keys = {
    Radial = 'F3',      -- radial menu (emergency jobs)
    Respond = 'E',      -- attach to the newest call and set GPS
    Dismiss = 'X',      -- hide the newest call card
    JoinPassage = 'Y',  -- join a safe passage invite
}
```

These are defaults. Players can rebind them in **Settings → Key Bindings → FiveM**.

| Setting                  | What it does                                                 |
| ------------------------ | ------------------------------------------------------------ |
| `Config.PanicCooldown`   | Seconds between panic alerts                                 |
| `Config.EmsCallCooldown` | Seconds between `/ems` calls from citizens                   |
| `Config.EmsCommands`     | Command names citizens use to call EMS. `{}` turns them off. |
| `Config.TestCommand`     | The preview command. `false` turns it off.                   |

## Safe passage

```lua
Config.SafePassage = {
    InviteRadius = 500.0, -- metres
    MinSeconds = 10,
    MaxSeconds = 600,
    MaxExtend = 300,
}
```

## Other

| Setting               | What it does                                                                          |
| --------------------- | ------------------------------------------------------------------------------------- |
| `Config.Notify`       | `'auto'` (alt0-notify when running, otherwise ox\_lib), `'ox_lib'` or `'alt0-notify'` |
| `Config.VersionCheck` | Print update notices in the server console                                            |
