XS-Dispatch
Police, EMS and fire on one dispatch board. Vehicle-aware unit tracking, priority calls with live timers, per-incident radio channels, and a provider API so your phone and MDT plug in without anyone touching a database.

What it does
Each department carries its own job list, colours, statuses, alert identity and blips, and its own rules about which other departments it can see — so mutual aid and isolated radio networks are both configurable. Units are tracked by what they are actually in: foot, patrol vehicle, motorcycle, bicycle, boat, helicopter or plane. Calls carry P1/P2/P3 priority, live elapsed timers, GPS routing and responding units, and every incident generates an operational group with its own TAC channel. External resources integrate through a versioned provider API rather than by editing the resource.
What you get
Police, EMS and fire with independent jobs, colours, statuses, alert identities and blips
Vehicle-aware tracking: foot, patrol, motorcycle, bicycle, boat, helicopter and plane
Per-department visibility rules for mutual aid or isolated networks
P1/P2/P3 priorities, live timers, GPS routing, responding units and call clearing
Panic key plus a civilian /911 command
Quick responder overlay with one-key response and toggle
Per-incident operational groups with generated TAC radio channels
Optional pma-voice channel joining, off by default
Automatic En Route and On Scene detection with hysteresis
ACE-protected Integration Studio with persistent custom call presets
Versioned provider API for phone, MDT and voice adapters
Server-side position validation and restart recovery for active calls
Try it in your browser
The responder console on a sample shift — active calls with priorities and timers, the unit board across three departments, and the call detail view.
Runs in this page on sample data.
A look inside
Latest updates
Before you install
- This is a v0.1.0 release. The core loop is complete and in use, but expect the unit-management interface and some provider adapters to keep moving.
- Default keys are F6 for the console and F5 for panic, chosen to avoid XS-MDT’s F10/F11. Both are rebindable in GTA settings.
- Integration Studio needs an ACE: add_ace group.admin XS-CriminalTablet.dispatch.integrations allow
- Radio auto-join is off by default so the script never pulls a player off their existing channel without being asked.