Oxide Dispatch | Advanced Emergy Dispatch System - Image 1

Overview

A unified dispatch and alert system for FiveM that replaces the scattered ecosystem of ps-dispatch, cd_dispatch, qs-dispatch, and the legacy police:server:policeAlert / hospital:server:ambulanceAlert flows with a single code-driven pipeline shared across police, EMS, fire, and any custom responder group. Ships with a non-focused popup overlay for active responders, a focus-true Dispatch Hub for any responder group, a 911/311 civilian call system, an auto-detect engine for shots fired, drive-bys, explosions, and vehicle theft, a panic button, per-group status broadcasts with callsigns, a historical heatmap, and an optional AI Radio Dispatcher with per-department channels backed by OpenAI. Framework-agnostic via o-link with drop-in compatibility shims that absorb traffic from every major QB and ESX dispatch resource — existing third-party scripts keep firing their old events and Oxide Dispatch handles them.


Features

  • 30+ Pre-Loaded 10-Codes — Full code catalog out of the box spanning patrol (10-11, 10-66), crime in progress (10-31, 10-91 store robbery, 10-99 narcotics), vehicle (10-50, 10-55, 10-57), high-priority (10-71 shots fired, 10-72 drive-by, 10-77 explosion, 10-80 pursuit, 10-90 silent alarm), EMS (10-52, 10-53, 10-54, 10-56, 10-58), fire/hazmat (10-70, 10-73, 10-74, 10-75, 10-76), officer safety (10-13, panic), and citizen channels (911, 311). Each code carries title, priority, icon, blip metadata, and optional sound effect.
  • AI Radio Dispatcher (Optional) — One OpenAI-backed dispatcher per department channel. Officers tune their in-game radio to the AI channel, press PTT, and the AI listens, replies with synthesized voice, and files structured alerts through the existing dispatch pipeline. Two provider modes: Realtime over WebRTC (~500ms latency) or chained Whisper → GPT-4o-mini → TTS Node sidecar (~2s latency, predictable per-transmission cost). Each channel binds to a single framework job, self-identifies as that job, scopes RADIO transcripts and rebroadcast audio to listeners on the same channel, and routes DISPATCH UPDATE notes across channels by the alert's recipient list.
  • AI Dispatch Tool Surface — 9 core tools on every channel covering alert creation, status updates, BOLOs, and unit acknowledgments. 8 additional MDT-backed tools (plate search, person search, BOLO lookup, custody check, dossier) appear automatically on police-flavored channels when oxide-police is running. Built-in idle-session sweeper (realtime only), per-officer alert rate limit, optional identifier whitelist (global or per-channel), and full audit logging through olink.logger.
  • Civilian 911 / 311 System — Chat commands (/911, /311), radial menu fast-path with categorized entries (robbery, assault, fire, noise complaint, animal control), anonymous toggle, and per-channel rate limit.
  • Two-Way Civilian Reply — Responders reply to callers via /replycaller <id> <message>. The caller receives a private toast even when the original report was anonymous.
  • Auto-Detect Engine — Independently toggleable detection for shots fired, drive-bys, melee assault, explosions, vehicle theft (lockpick / hotwire), and player death → EMS dispatch.
  • Auto-Detect Blacklist — Per-weapon hash and per-zone radius filters so PD shooting ranges, less-lethal weapons, and weapon-test zones don't spam dispatch.
  • Panic Button — Officer-needs-backup with configurable cooldown, off-duty broadcast bypass, per-group title and message overrides, and auto-waypoint on receive.
  • Responder Status System — Per-group status list (police / EMS / fire) with custom labels, icons, and colors, plus toast broadcasts to colleagues in the same group on status change.
  • Callsign Management — Stored in character metadata, validated against a configurable pattern and max length, and prefixed automatically in panic messages and responder replies.
  • Dispatch Hub — Focus-true full-screen overview for any responder group with live alert list, mini-map, mark/respond/close actions, and heatmap toggle. Master-switched via Config.DispatchHub.RadialEnabled — disable to defer to a downstream MDT like oxide-police.
  • Historical Heatmap — In-memory cached point list across 24h / 7d / 30d / all-time windows, sampled to a configurable cap, auto-invalidated on close or expire so responders never see stale heat.
  • Auto-Expire Sweeper — Alerts auto-close after a configurable window (default 15 minutes) so stale entries don't pile up. Per-alert override via expireMinutes.
  • Drop-In Compatibility Shims — Existing scripts keep working without edits. Absorbs esx_policejob, esx_outlawalert, esx_phone, esx_ambulancejob, qb-policejob, qb-ambulancejob, qbx_ambulancejob, and qb-phone traffic, with optional QB phone mirroring.
  • Smart Keyword → Code Mapping — Shim messages containing bank, jewel, drug, vehicle, robbery, gun, etc. resolve to the right 10-code automatically.
  • Oxide Police Integration Adapter — Reads oxide-police.police_departments at boot and on a 60-second timer, publishes oxide-dispatch:isLEO and oxide-dispatch:responderGroup per-player statebags, and falls back cleanly to Config.ResponderGroups.police.jobs when oxide-police isn't installed.
  • Config-Driven Responder Groups — Add a coastguard, dispatcher, or park ranger group by adding a key to Config.ResponderGroups — the radial, panic, status broadcasts, and hub auto-pick it up.
  • Admin Test Commands/testdispatch for single alerts and /testdispatchmany for paced spam tests, both gated behind the command.testdispatch ACE.
  • Locale-Driven UI — All civilian categories, status labels, panic messages, responder notifications, and AI dispatch toasts live in locales/*.json.

⚠️ AI Radio Dispatcher — Bring Your Own OpenAI Key

The AI Radio Dispatcher is an optional feature that is inactive by default. To enable it, you must provide your own OpenAI API key via the oxide:ai-dispatch:openai_key server convar.

  • You are responsible for all OpenAI API costs. Oxide Studios does not provide, subsidize, or proxy API access. All requests bill directly to your OpenAI account.
  • Costs scale with usage. Realtime mode (~500ms latency) bills per audio second in and out; the chained Whisper → GPT-4o-mini → TTS mode (~2s latency) bills per transmission with more predictable per-call pricing. Refer to OpenAI's current pricing page for live rates.
  • Cost management is your responsibility. Set spending limits in your OpenAI dashboard. The resource ships with per-officer alert rate limits, an idle-session sweeper, and an optional identifier whitelist (global or per-channel) to help control usage, but ultimate budget control belongs to the server owner.
  • The rest of Oxide Dispatch works without it. Every non-AI feature — popup overlay, Dispatch Hub, 911/311, auto-detect engine, panic button, status system, heatmap, and all compatibility shims — runs fully without an OpenAI key. The AI dispatcher is purely additive.

Technical

  • Framework: Framework Agnostic (QBCore, ESX, Qbox, Oxide via o-link)
  • Dependencies: o-link, ox_lib, oxmysql
  • Required for AI Dispatcher: pma-voice, OpenAI API key (user-provided)
  • Recommended: oxide-police, oxide-logger, qb-phone

Oxide Dispatch by Oxide Studios

Oxide Dispatch | Advanced Emergy Dispatch System

Framework Agnostic
Trusted by 25+ servers
RW
MI
BA
RW
HI
Recent customers
$14.99

▸ Or get everything

All Access unlocks all 21 resources for $39.99/mo.

Try free for 7 days
Framework
Framework Agnostic
Last UpdatedJul 8, 2026