Version 1.17.0
Highlights
- 🚓 Full Job Configurator integration — configure the entire police job in-game, no config editing. The police job now plugs into the shared in-game Job Configurator (
/jobconfig), so almost every part of the job can be set up and tuned live from a single interface instead of editingconfig.luaby hand. Changes are stored centrally and applied without a restart, and multiple police jobs (e.g. LSPD / Sheriff / FIB) can each be configured independently. Coverage includes:- Prop items — the deployable/usable police props and their behaviour.
- Dispatch alerts — which alerts fire and who receives them.
- Tablet apps — which apps are available and how they appear.
- Restraints — cuffing / restraint settings.
- Tracking — GPS / tracking-device behaviour.
- Evidence — the evidence system settings.
- Jail — jail and incarceration settings.
- Devices — police devices.
- Vehicle radar — the in-vehicle speed radar.
A newConfig.UseJobConfiguratortoggle (defaulttrue) decides whether these settings come from the in-game configurator or from the plain Lua job definitions — set it tofalseto keep managing everything inconfig.luaas before. This requires the matching sky_jobs_base release that provides the Job Configurator. - Manual citizen & vehicle profiles. Officers can now create, edit, and delete citizen and vehicle records manually on the police tablet, in addition to the automatically linked profiles.
- Speed Cams app finalized. The former "Blitzer" app is now consistently named Speed Camera across the interface, configuration, and database. Existing Speed Cams subscriptions are migrated automatically — no data is lost.
Notable Changes
- RoadPhone support — the police phone apps now also work on RoadPhone (detected automatically), and custom phone app registration gained new options:
darkmode,url,allowJobs, anddisallowJobs. The Speed Camera app uses the new dark-mode option. - Per-alert dispatch targeting — dispatch alerts can now be limited to specific jobs (e.g. the "officer down" alert defaults to
police) via a per-alertjobslist inConfig.DispatchAlerts. - Jail creator labels — every jail creator interaction (terminal, job NPCs, inmate roles, canteen, electrical box, fence cut, confiscated items, public blip) now carries a clear label in the creator UI.
- Speed Camera config defaults — the license-plate overlay on capture photos (
plateImageOverlay) now defaults to off; enable it explicitly if you want it. - Ballistic traces fix — bullet traces now use the actual firing state for more accurate results.
Other Changes
- Renamed the Speed Cams subscription table to
sky_job_speed_camera_app_subscriptions; existing subscriptions are carried over automatically on update. - Migrated internal item add/remove calls to the new sky_base inventory signature (slot + metadata).
- Updated the Speed Camera / phone app localization strings across the bundled languages.
- Rebuilt and verified the police NUI production bundle.
- Update sky_base and sky_jobs_base first — install the matching releases. The inventory-call change depends on the new sky_base release.
- Download sky_policejob from the CFX Portal.
- Create a backup.
- Replace the
/sourcefolder (this also contains the rebuilt in-game interface undersource/html). - Run the updated
import.sql. It creates the renamed Speed Cams subscription table; existing subscriptions are migrated automatically. WithConfig.AutoExecuteQueryenabled (default) this runs on start, otherwise import it manually. - Replace the
/config/localesfolder (Speed Camera / phone app strings updated across languages). - Replace
/fxmanifest.luaso version1.17.0is loaded. - Replace
/config/config.lua, or apply the changes below (defaults keep the previous behaviour):- Rename the Speed Cams config block.
Config.BlitzerAppis nowConfig.SpeedCameraApp. If you customized the old block, copy your values into the renamed one. The icon and route were renamed andplateImageOverlay.enablednow defaults tofalse:
-Config.BlitzerApp = { +Config.SpeedCameraApp = { enabled = true, identifier = "sky_speedcams", name = "Speed Cams", - icon = "nui://sky_policejob/source/html/blitzer-icon.svg", + icon = "nui://sky_policejob/source/html/speed-camera-icon.svg", - route = "/blitzer-app", + route = "/speed-camera-app", plateImageOverlay = { - enabled = true, + enabled = false, -- now off by default; set true to overlay the plate on capture photos -- the rest of plateImageOverlay stays as it is } -- the rest of your Speed Cams settings stay as they are }- Add the Job Configurator toggle near the top of
config.lua(setfalseto keep using the plain Lua job definitions only):
Config.PrimaryColor = "#0093d0" +-- Use the shared /jobconfig UI for Config.Jobs and selected Police Job settings. +-- Set to false to use only the Lua job definitions below. +Config.UseJobConfigurator = true- (Optional) Restrict a dispatch alert to specific jobs inside your existing
Config.DispatchAlertstable:
Config.DispatchAlerts = { officerDown = { - enabled = true + enabled = true, + jobs = { "police" } -- optional: limit who receives this alert }, -- the rest of your Config.DispatchAlerts settings stay as they are }- (Optional) Jail creator labels were added to the
Config.CreatorInteractions.jailcreatorentries. They are cosmetic (shown in the creator UI). Take them from the newconfig.luaif you want the labels; nothing breaks without them.
- Rename the Speed Cams config block.
- Restart
sky_policejob, then open/jobconfigto verify the police job configurator.