Before You Begin#
Before installing Police Creator, make sure your server meets the minimum requirements. Only two resources are mandatory; everything else is optional and detected on its own.
Requirement | Status | Notes |
|---|---|---|
| Required | Database access. The schema installs itself. |
| Required | Callbacks, keybinds, notifications and progress bars. |
Framework | Recommended | QBCore, Qbox or ESX — auto-detected. Jobs, grades, citizens and vehicles come from it. |
| Recommended | Mugshots, call screenshots, camera photos and bodycam captures. |
Inventory | Recommended | Usable items, stashes, evidence rooms, shops, searches and K9 detection. |
Voice | Recommended |
|
Target, clothing, keys, banking, fuel | Optional | Each one is detected and used if it is running. See Integrations. |
Downloading Police Creator#
After purchasing Police Creator, the resources are automatically linked to your CFX Portal account.
Sign in to the CFX Portal using the same account used during checkout, open Granted Assets, and download every qs-police asset. The suite is five resources that work together:
Resource | What it is |
|---|---|
| The MDT / CAD and everything officers use. The other four orbit it. |
| Streams the tablet, bodycam and ankle-tracker props and the light-bar models. Nothing to configure. |
| The in-game police light-bar and siren editor. |
| Casings, bullet holes, footprints, vehicle fragments, blood and DNA; crime-scene cleaning. |
| Automatic dispatch calls for shootings, speed cameras, car theft, melee and players down. |
The main resource looks like this once extracted:
qs-police-creator/
├── config/ -- what you may edit
├── client/custom/ -- bridges to other resources (editable)
├── server/custom/ -- bridges to other resources (editable)
├── placeables/ -- behaviour of cones, barriers and spikes (editable)
├── locales/ -- 15 languages
├── sql/ -- an optional ready-made penal code
├── docs/ -- extra guides, offline
└── web/ -- the tablet interface, ready to useKeep the folder names exactly as they are. The companion resources call
exports['qs-police-creator']by name, so a renamed folder breaks alerts, evidence rooms and the light editor.
Installing the Resources#
Move the five folders into your server's resources directory. They can live together in a category folder:
resources/
└── [qs-police]/
├── qs-police-props/
├── qs-police-creator/
├── qs-police-veh-creator/
├── qs-police-evidence/
└── qs-police-alerts/Open your server.cfg and make sure every dependency — and everything it should detect — starts before the suite:
ensure oxmysql
ensure ox_lib
# Framework
ensure qb-core
# ensure qbx_core
# ensure es_extended
# Inventory, target, voice, clothing, keys, banking, screenshots
ensure ox_inventory
ensure ox_target
ensure pma-voice
ensure illenium-appearance
ensure qs-vehiclekeys
ensure screenshot-basic
# qs-police suite — in this order
ensure qs-police-props
ensure qs-police-creator
ensure qs-police-veh-creator
ensure qs-police-evidence
ensure qs-police-alertsThe loading order matters. Detection only sees resources that are already started, so an inventory or target that starts after Police Creator is not found and that part runs standalone. The light editor and the alerts need qs-police-creator running first — the light editor stops itself if it is not.
The Database#
There is no SQL file to import. Police Creator creates its own tables on first start, all prefixed qs_police_, adds any column a newer version needs, and seeds a working example around Mission Row PD: an armoury, a locker room, an evidence room, a K9 kennel, fine desks, three fleet garages and a fleet dealer.
Tables | Hold |
|---|---|
metadata | Every setting saved from the admin panel. |
calls · callsigns · department_chat | Dispatch calls, callsigns and the department chat. |
players · player_notes · player_badges | Citizen profiles, flags and photos; notes; officer badge numbers. |
vehicles · vehicle_notes | Vehicle flags and notes. |
chapters · penal_codes · player_penalties · prison | The penal code, fines and active sentences. |
reports · operatives · evidence_stashes_r | Reports, tactical operations and evidence records. |
award_categories · awards · player_awards | Medals and who holds them. |
cameras · k9_units · clocks | CCTV cameras, each officer's dog, and duty hours. |
garage_vehicles · garage_budget · garage_logs | The fleet, the department budget and the garage activity log. |
society_accounts · logs | Department balances when no banking script is installed; the action log. |
The light editor adds qs_police_vc_presets and qs_police_vc_lights the same way.
Optional: a ready-made penal code#
A fresh install has no articles in its penal code, and nobody can be charged until there is at least one. Write your own in the MDT, or import the bundled one — 20 chapters and 300 offences with fines, sentences, severity and tags. Import it after the resource has started once, so the tables exist:
mysql -u <user> -p <database> < qs-police-creator/sql/optional_penal_code_seed.sqlHeidiSQL, phpMyAdmin or Adminer work just as well: open the file and run it.
Image Uploads#
Mugshots, call screenshots, CCTV photos, bodycam captures and alert screenshots need somewhere to store the picture. Fill in one of the two in config/server/webhooks.lua:
-- Recommended: a free token from https://fivemanage.com (Dashboard → Tokens)
Config.FivemanageToken = 'your-own-token'
-- Fallback: any Discord channel webhook
Config.DiscordWebhook = ''Fivemanage always wins: when the token is filled in, the Discord webhook is ignored. Discord works for small servers and testing, but it rate-limits attachment links and can purge them. With both empty, image features stay off and the console says so at every start. Neither value is ever sent to players.
Claiming Admin Access#
The admin panel (/policeadmin) is where the whole server is configured, so it is behind a permission. Out of the box, any of these grants it: qspoliceadmin, qbcore.god, qbcore.admin, admin, superadmin, group.admin, group.superadmin. Each entry is checked as an ACE, a QBCore / Qbox permission and an ESX group.
The usual route, on any framework. Run /policeadmin without access and the screen prints these lines with your own identifiers, ready to copy into server.cfg:
# One player
add_ace identifier.license:xxxxxxxxxxxxxxxx qspoliceadmin allow
# Or a whole group
add_principal identifier.fivem:1234567 group.admin
add_ace group.admin qspoliceadmin allowPut add_ace after add_principal, and restart the whole server, not just the resource.
Players with the god or admin permission are admins automatically. To grant it explicitly:
add_principal identifier.fivem:1234567 qbcore.god
add_ace qbcore.god qspoliceadmin allowPlayers whose ESX group is admin or superadmin are admins automatically. Nothing to configure.
The list itself is edited under Admin → Server Setup → Access. Add your own group names there; never empty the list, and restart the resource after changing it.
Configuring the Resource#
Most of Police Creator is configured in game — ranks and permissions, dispatch, radio channels, the penal code, garages, shops, lockers, the K9, handcuffs, logs and society money all live in the admin panel and apply without a restart. The files below cover what has to be decided before the server starts:
File | Contents |
|---|---|
| The language, detection overrides (framework, inventory, target, voice, clothing, keys, banking), the tablet item, camera types and repair, collation warnings. |
| Default keys for radio, the quick menu, dispatch, handcuffs and the K9. |
| Cones, barriers, speed cameras, spike strips and lights: models, jobs and limits. |
| Prison locations, the bus cinematic, minutes per month, outfits and items removed on jailing. |
| Quick radio codes per job, the chat format, and the radar keys. |
| Tow-truck or instant impound, and the hook to your garage script. |
| Speed radar units, range and beam angles. |
| The tablet prop and animation while the MDT is open. |
| Display names for add-on cars that show as CARNOTFOUND. |
| Image hosting and the colours of the Discord logs. |
| Whether fined citizens are told on screen, and reminded of unpaid fines when they join. |
The values worth reviewing first:
Config.Locale = 'en' -- en · es · de · fr · it · pt · nl · ru · hu · ar · ja · ko · zh · zh-TW · cnr
Config.CAD = {
RequireItem = false, -- true: the tablet only opens with the item
EnableItemOpen = true, -- using the item opens the tablet
ItemName = 'cad',
}
Config.ProximityOnly = true -- charges can only be applied to nearby players
Config.ProximityDistance = 7.0
Config.CameraRepair = { Command = 'fix_near_camera', Item = 'camera_repair_kit', Distance = 5.0 }Settings saved in the admin panel live in your database. The defaults shipped with the resource only fill an empty database on the very first start — after that, change them in game, not in files.
Verifying the Installation#
Restart your server and read the boot summary in the console. Each line says what was picked for that layer:
[compat] (server) Framework: qb (auto)
[compat] (server) Inventory: ox_inventory (auto)
[compat] (server) Target: ox_target (auto)
[compat] (server) Voice: pma-voice (auto)
[compat] (server) Clothing: illenium-appearance (auto)
[compat] (server) Vehicle keys: qs-vehiclekeys (auto)
[compat] (server) Society money: qb-banking (auto)(auto) means it found that resource running and picked it; (manual) means you set it in the config. vanilla means it found nothing — if you do have that resource, move it above ensure qs-police-creator.
Then join your server and work through the first loop:
Open the admin panel
/policeadminopens on the Dashboard. Its Setup guide lists every area that is still the shipped example and links to the page that changes it.Walk the sample points
/qspolice_samplesteleports you through every shop, stash, locker, evidence room, kennel, fine desk and garage, one at a time.Efor the next point,Xto stop. Nothing is written.Give your police job its ranks
In Admin → Dispatch → Jobs, check that your police jobs are listed and choose what each grade may open. See Ranks and Permissions.
Open the tablet as an officer
With a police job, type
/cad, go on duty from the home page and try a call with/911 test. The walkthrough on each page explains the rest.
Nothing needs a restart from here on. Every rank, channel, charge, garage and locker you change in the admin panel is live for everyone the moment it is saved.



