# Commands and keybinds

Key mappings are registered with FiveM, so every player can change them in **Settings > Key Bindings > FiveM**. The config value is only the default for players who never changed it.

## Player commands

| Command | Who | What it does | Change it with |
|---|---|---|---|
| `/911 <message>` | Everyone | Calls 911 with your live position. Another `/911` within the reply window is added to the same call. | `Config.Calls.playerCommand` |
| `/code4` | Field units on scene | Clears the incident you are on scene at. | Fixed name |
| `/unitstatus available\|busy\|unavailable` | Field units | Sets your unit status. | Fixed name |
| `/tencode <code>` | Field units | Runs a field status code: `8`, `6`, `97`, `23`, `7`, `15`, `99` or `backup` (`10-8` style works too). Without an argument it opens the quick menu. | `Config.MdtStatus.command` (empty removes it) |
| `/hangup911` | Callers and units on a voice 911 call | Leaves the voice call. | `Config.Voice.hangupCommand` |
| `/cad` | Allowed dispatcher jobs | Starts a remote shift without a station. Only when the remote CAD is on. | `Config.Dispatcher.remoteCommand` (empty removes it), admin `access.remote` |

## Admin commands

| Command | Where | What it does | Change it with |
|---|---|---|---|
| `/dispatchadmin` | In game | Opens the admin menu. Needs a group from `Config.Admin.groups` or the ACE `koja-dispatcher.admin`. | `Config.Admin.command` |
| `dispatchcheck` | Server console (or in game) | Health check with `[ OK ]` / `[FAIL]` lines. See [Installation](/new/dispatcher/installation). | Fixed name |
| `dispatchtest [scenario]` | Server console (or in game) | Rings a generated call at once: the given scenario, or a random one. Unknown names print `unknown scenario`. | Fixed name |
| `/dispatchscan` | In game only | Scans the terrain height for the 3D map from your client and saves it on the server. The release already ships a scan; only needed after big map changes. See [Troubleshooting](/new/dispatcher/troubleshooting). | `Config.Map3D.scanCommand` |

`dispatchcheck`, `dispatchtest` and `dispatchscan` are restricted commands. From the server console they always work. In game a player needs the ACE for the command (for example `add_ace group.admin command.dispatchtest allow`, or `command` for all) and the `admin` or `god` group.

## Key mappings

| Key mapping | Default key | What it does | Change it with |
|---|---|---|---|
| Dispatch: open CAD | `F7` | Reopens the minimised CAD while you are on shift (at your station, or anywhere with the remote CAD). | `Config.Keys.console` |
| Dispatch: acknowledge call / GPS | `Y` | Field unit: acknowledges the assignment and sets the waypoint. | `Config.Keys.acknowledge` |
| Dispatch: report code 4 | unbound | Same as `/code4`. | `Config.Keys.code4` |
| Status codes: quick menu | unbound | Opens the field status code menu. | `Config.MdtStatus.menuKey` |
| Status code: 10-8 Available | unbound | | `Config.MdtStatus.codes[].key` |
| Status code: 10-6 Busy | unbound | | |
| Status code: 10-97 En route | unbound | | |
| Status code: 10-23 On scene | unbound | | |
| Status code: 10-7 Out of service | unbound | | |
| Status code: 10-15 Suspect in custody | unbound | | |
| Status code: backup Need backup | unbound | | |
| Status code: 10-99 Panic / officer needs help | unbound | | |

The command names behind the mappings are `+koja_dispatch_console`, `+koja_dispatch_ack`, `+koja_dispatch_code4`, `+koja_code_menu` and `+koja_code_<code>` with non-alphanumeric characters replaced by `_` (`+koja_code_10_8`, `+koja_code_backup`, `+koja_code_10_99`...).

### Field status codes

The status code keys are unbound by default so they do not clash with other scripts. Set `Config.MdtStatus.bindSuggested = true` to bind the suggested keys instead:

| Code | Suggested key |
|---|---|
| `10-8` | Numpad 1 |
| `10-6` | Numpad 2 |
| `10-97` | Numpad 3 |
| `10-23` | Numpad 4 |
| `10-7` | Numpad 5 |
| `10-15` | Numpad 6 |
| `backup` | Numpad 8 |
| `10-99` | Numpad 9 |
| Quick menu | F10 (`Config.MdtStatus.suggestedMenuKey`) |

To give one code a fixed default key, set its `key`, for example `{ id = '10-99', action = 'panic', key = 'F9', ... }`. In the quick menu, press the code's number (1-9) or click it; Esc or Backspace closes it. The codes, the menu and the HUD chip are switched with the admin settings `mdt_status.enabled` and `mdt_status.hud`.

## At the station

| Key | Action |
|---|---|
| `E` | Start a shift (when no target resource is running). With `ox_target`, `koja-interactions` or `qb-target` use the target option **Start dispatch shift**. The prompt only shows for players whose job may dispatch. |
| Space or Enter | Skip the shift intro (`Config.Cinematic.skippable`). |

## In the CAD

The **?** button in the top bar shows these controls.

| Input | Action |
|---|---|
| Left click | Select a unit |
| Left drag | Box-select units |
| Shift + left click | Add to the selection |
| Right click | Send the selected units (to an incident, or to a map point as staging) |
| Right drag / middle mouse | Pan the map |
| Wheel, `+` / `-` | Zoom |
| `Ctrl` + `1`-`9` | Save the selection as a control group |
| `1`-`9` | Select a control group and centre on it |
| Double click, `F` | Follow a unit |
| `Space` | Answer the oldest ringing call |
| `Tab` | Cycle active incidents (by priority) |
| `H` | Recall the selected units to their station |
| `M` | Place an incident on the map |
| `W` `A` `S` `D` or arrow keys | Pan the map |
| `B` | Open or close the MDT workspace (admin `mdt_tools.monitor`) |
| `Q` / `E`, Alt + right drag | Rotate the 3D view |
| `Esc` | Step back: close help, cancel placing, clear the selection or the follow camera, close the incident, then minimise the CAD |

Shortcuts do nothing while you type in a text field; Esc leaves the field.

### Map tools

| Input | Action |
|---|---|
| Patrol polygon: click | Add a point |
| Patrol polygon: double click, `Enter` or right click | Finish the zone |
| Patrol polygon: `Backspace` | Undo the last point |
| Patrol circle: click, click | Centre, then radius |
| Spike strip / roadblock: click a road | Place the tool. Shift + click keeps the tool active for another one. |
| `Esc` | Cancel the tool |

### Station placing

The gizmo keys (Tab, Q / E, G, R, S, F, Enter, Esc) are listed in [Admin menu](/new/dispatcher/admin-menu#placing-a-station-with-the-gizmo).
