The Fire Control tablet

Open it with /firetablet, or bind it to a key: with Config.Tablet.RegisterKeybind = true (the default) it appears under Settings › Key Bindings › FiveM listed as firetablet, so each player picks their own key.

The dispatch alert card names whichever key that player personally bound — "F5 to respond" — and falls back to naming the command when nothing is bound.

Rename the command with Config.Tablet.OpenCommand; the keybind follows the same name.

Firefighters get the live map, incident list, hydrant list and wind/weather. Scenario managers also get the Command tab.

The map

Ongoing fires (pulsing), incidents, hydrants, on-duty units and you (the dark arrow).

  • Drag to pan, scroll to zoom
  • Click any marker to drop a GPS route

The background is the real San Andreas map, merged from the GTA minimap atlas tiles, with markers registered to it — a hydrant on Grove Street is drawn on Grove Street.

Hydrants

Hydrants are read live from the world, never from a file. Clients scan the actual hydrant props around them, so opening the tablet puts your own surroundings on the map immediately and more appear as firefighters drive around.

Nothing is saved to disk, which means the map can never show a hydrant that is not there any more — and on a fresh server start it fills in as your crews move, rather than showing a stale list.

Map images

Several images ship. All cover the same world rect and are all 2:3, so nothing else changes when you switch.

  • map_high.webp (default) — 6144x9216, 2.5 MB download, ~226 MB of browser memory while open
  • map_low.webp — 4096x6144, 1.5 MB, ~101 MB. Better for low-spec players
  • map_high.jpg / map_low.jpg — the same two pictures as JPEG. Roughly double the download, but every FiveM build serves them. Switch to these if the tablet reports "Map image failed to load" on a .webp
  • map_street_high.png — 6144x9216, 8.9 MB. Street and district names baked in
  • map_street_low.jpg — 3072x4608, 1.9 MB. Labelled, lowest quality

The map_ family is a clean atlas with no street names; map_street_ are the labelled ones.

Only the visible slice is drawn each frame, so the big version costs no more to pan and zoom than the small one. The image is fetched and decoded once per session with a progress percentage, decoded off the main thread so the tablet stays responsive.

Using your own map image

Drop it into html/, point Config.Tablet.MapImage at it, and set Config.Tablet.MapBounds to the world rect your image covers — keeping the image's aspect ratio equal to that rect's, or the markers sit off the streets.

There is no built-in fallback map. If the image is missing or fails to load, the tablet draws an empty grid and says which file failed and why, rather than quietly substituting a different map. Markers still plot at their true world positions.

Calibration mode

Set Config.Tablet.ShowCoords = true and restart. The map then draws a magenta crosshair with your live world position, plus the bounds in use and the keys.

Stand somewhere recognisable, zoom in, and drive it with the keyboard:

  • Arrow keys — move the map image under your marker, 25 m a press
  • Shift + arrows — 100 m a press
  • Alt (or Ctrl) + arrows — 5 m a press, for the last bit
  • [ / ] — shrink / grow the world rect about its centre (0.2%; Shift 1%, Alt 0.05%)
  • P — print the finished MapBounds = { ... } line to the F8 console
  • R — reset to whatever config.lua says

Paste the final line into config.lua and set ShowCoords back to false.

Only reach for the scale if the error gets worse the further you travel from the middle of the map. A constant error everywhere is a nudge, not a scale. Nudging is client-side only and resets on restart, so you can dial it in on a live server without affecting anyone.

Zoom

The map image is at the full resolution of its source. At maximum zoom the tablet magnifies about 3x past that, which is why the closest zoom looks soft — exporting a bigger file cannot fix that, it only interpolates. Set Config.Tablet.MaxZoom = 0.72 if you would rather it stayed pixel-sharp and stopped at about a city block.

Map credit

The bundled map images are built from neen-atlasmap by NeenGame, released under the MIT licence, which is itself based on the Atlas colored map from gta5-mods. Thank you to both authors.

Keep this credit if you redistribute the resource — the MIT licence requires the copyright notice to travel with it.

Can't find what you need? Ask on Discord — response in under 5 hours.