Skip to content

tCAD

A CAD and MDT that runs inside FiveM. Dispatch board, LEO, Fire & EMS, civilian, business and judicial views, warrants, NCIC, and a staff administration surface — over FiveM events, with no web server and no database required.

tCAD is a CAD and MDT for FiveM. An operator opens it in game with a keybind, not in a browser tab: it is a FiveM resource with a NUI interface, and its transport is FiveM events — one net event, one NUI callback, no HTTP, no origin, no cookies.

A database is optional. With none installed it stores its data in a data.json beside the resource, which is a supported mode rather than a degraded one.

How it is put together

SurfaceIn-game NUI, opened with /tcad or a keybind (default F10)
TransportFiveM events. tCAD:rpc in, tCAD:rpc:reply out, tCAD:push for server-initiated updates
IdentityThe player's license: identifier. Records are keyed by it, never by a server id
AuthorityChecked server-side against ACE, through tLib's permission adapter
Storagedata.json, or SQL via tDB or oxmysql. One domain contract, two adapters
DependenciestLib v1.0 or newer, and nothing else

What it is not

  • Not a web app. There is no server-rendered page, no API route and no edge deployment. It was a Cloudflare Workers application until October 2026 and that shape is gone.
  • Not dependent on a database. The JSON backend is a first-class path with the same domain contract and the same test suite as the SQL one.
  • Not a framework resource. There is no ESX or QBCore code in it. Names and callsigns come from hooks you write in config/sv_functions.lua, so every framework is the same amount of work — and so is no framework at all. See Customisation.
  • Not a browser CAD. Config.exposeWeb exists and defaults to false; see Status for its real state.
  • One dependency. tLib v1.0 or newer, which is free. Nothing else.

Four things worth knowing before you install

These are properties of the platform or of deliberate design, not settings.

  • Nothing is granted by default. Every capability is an ACE object and tLib has no permission registry of its own — an ungranted key denies everyone. A fresh install with no add_ace lines is a CAD nobody can open, and that is the correct default. Permissions has a working starter block.
  • SaveResourceFile does not work on GTA V Enhanced. Measured: it returns false for every path shape. tCAD therefore writes through a Node bridge bundled into the resource, and the data.json backend would silently persist nothing without it. The build step that produces that bundle is not optional — see Installation.
  • Escape does not close an overlay. Measured across Dialog, Drawer and Popover in the Chromium version FiveM's CEF actually is: neither Escape nor an outside click dismisses one. Every overlay therefore carries a visible close button, and the NUI owns Escape itself for closing the whole panel. For a CAD this is arguably the better behaviour — a half-written call entry is not lost to a stray keypress.
  • A record count is never shown in a banner. This product holds civilian, medical and judicial records, and that shapes small decisions throughout: the update check reports no counts, pushes carry ids rather than bodies, and the address-flag and ePCR surfaces are gated separately from general record reads.

Was this page helpful?