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
| Surface | In-game NUI, opened with /tcad or a keybind (default F10) |
| Transport | FiveM events. tCAD:rpc in, tCAD:rpc:reply out, tCAD:push for server-initiated updates |
| Identity | The player's license: identifier. Records are keyed by it, never by a server id |
| Authority | Checked server-side against ACE, through tLib's permission adapter |
| Storage | data.json, or SQL via tDB or oxmysql. One domain contract, two adapters |
| Dependencies | tLib 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.exposeWebexists and defaults tofalse; 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_acelines is a CAD nobody can open, and that is the correct default. Permissions has a working starter block. SaveResourceFiledoes not work on GTA V Enhanced. Measured: it returnsfalsefor every path shape. tCAD therefore writes through a Node bridge bundled into the resource, and thedata.jsonbackend 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?
TIMMYG Studios