Browse docs

Changelog

Full change history for Sky Police Job.
Before updating, make sure sky_base and sky_jobs_base are up to date.
Latest

Version 1.21.0

Update sky_base to 1.29.0 and sky_jobs_base to 1.32.0 before updating sky_policejob.

Highlights

  • Stations can be shared between Police jobs - additional Police jobs can reuse station interactions while keeping their own storage, garage, wardrobe, and job configuration.
  • Multiple stations per Police job - each configured Police job can now manage its own station locations directly in the Job Configurator.
  • Modernized police tablet selects - tablet filters and forms now use consistent searchable controls with keyboard navigation, stable dropdown placement, and improved long-text handling.
  • Citizen searches can match multiple identifiers - roster filtering now supports several sanitized identifiers in one request, improving compatibility with multi-character data.
  • Runtime job updates now reach police features - evidence stations and vehicle radar permissions refresh when configured jobs change.

Notable Changes

  • Inventory access follows restraint state - cuffed players can no longer access their inventory until they are uncuffed.
  • Ankle monitor synchronization stabilized - monitor state now follows player and resource lifecycle more reliably, including restart synchronization.
  • Player targeting restored - direct and radial targeting work again for supported police interactions.
  • Jail interactions improved - electric interactions, contraband handling, cleaning work, and integer configurator settings are more reliable.
  • Evidence details expanded - ballistic evidence can display weapon serial information when available.
  • Carry attachment synchronization improved - carried players remain attached more consistently.

Other Changes

  • Removed verbose mugshot debug output.
  • Updated the resource version to 1.21.0.

Version 1.20.0

Update sky_base and sky_jobs_base first - install the matching releases before updating sky_policejob.

Highlights

  • Police radial actions are now more target-aware. Carry, escort, billing, search, and restraint-related actions now react more reliably to the officer's intended target instead of depending only on the nearest player.
  • Speed camera billing is more accurate and flexible. Automated police billing now supports cleaner issuer/source handling, and speed camera fines reflect ownership more consistently.
  • Jail job configurator values are now respected correctly. In-game /jobconfig changes for jail-job settings such as the cleaning trashGoal now apply more reliably instead of falling back to older/default behavior.

Notable Changes

  • Cleaner jail creator defaults - several jail-creator points now ship without direct interaction and without unintended default marker behavior, making creator-driven jail setup cleaner out of the box.
  • Client locale loading improvements - the police UI now loads client locales more efficiently, reducing startup overhead and helping prevent unnecessary freezes.
  • Evidence Lab serial visibility - ballistic scan results now show the weapon serial number when the fired weapon metadata provides one, making casing-to-weapon matching more direct.
  • Sheriff prop defaults cleanup - the shipped sheriff prop defaults no longer include the incident board.

Other Changes

  • Internal police billing and speed camera flows were cleaned up for more consistent automated behavior.

Version 1.19.0

Update sky_base and sky_jobs_base first - install the matching releases before updating sky_policejob.

Highlights

  • Police billing was expanded and refined. Billing flows now support more flexible handling, including improved fine behavior for police and speed camera use cases.
  • Jail configuration and jail workflows were improved. Jail setup through the configurator is broader and more reliable, including release handling, mugshot-related syncing, and additional creator controls.
  • Live config-driven police item behavior is stronger. More police item and restraint-related settings now react more reliably to configurator updates without relying on older static behavior.

Notable Changes

  • Preset offences now tie into police billing more cleanly - billing workflows can make better use of configured offence data.
  • Consent-oriented billing options - police billing now supports more controlled invoice handling where needed.
  • Speed camera fine rules - speed camera billing behavior is more configurable and consistent.
  • Ankle monitor radial workflow - ankle monitor actions are now available through a more direct police interaction flow.
  • Jail creator expansion - jail setup now includes broader creator support, including configurable release handling and improved creator-side jail controls.
  • Mugshot and jail-config synchronization - mugshot-related settings and jail configuration updates now stay in sync more reliably.
  • Jail doctor treatment flow - jail doctor revive and heal handling now behaves more consistently.
  • Runtime police item refreshes - configurable police item bindings now refresh more reliably after configuration updates.
  • Improved spike strip reliability - spike strip detection is now more accurate during real vehicle movement.
  • Arabic locale added - sky_policejob now includes Arabic language support.
  • Localized configurator labels - more job configurator elements now use localized police-facing labels.

Other Changes

  • Internal helper cleanup reduced duplicated shared logic across the police job.
  • Shared frontend utility cleanup improved consistency across the in-game police interface.

Version 1.18.0

Update sky_base and sky_jobs_base first - install the matching releases before updating sky_policejob.

Highlights

  • Speed camera billing. Speed cameras can now issue configurable automatic bills for matching offences, using the shared billing flow.
  • Jail flow improvements. Jail intake, prisoner outfits, jail doctors, jail timers, release handling, fence exits, mugshot behavior, and jail zone handling were improved so prison workflows behave more consistently across restarts and edge cases.
  • Shared prop item flow. Police prop placement now uses the shared jobs-base prop flow, with improved streamed prop handling, spike strip registration, and an option to return consumed prop items when removed.

Notable Changes

  • Jail doctor revive support - jail doctors can now revive dead prisoners where configured, not only heal living players.
  • Prisoner outfit handling - prisoners are dressed during mugshot intake, and the jail outfit now applies consistently across frameworks and clothing systems without changing the saved civilian outfit.
  • Jail creator refinements - jail release points, jail interaction points, jail zones, fence exits, and fence-cut exits are easier to manage through the configurator, with more consistent editing and placement behavior.
  • Jail zone setup - jail zones can now be placed and adjusted more reliably through the in-game configurator flow, including better visibility and management during setup.
  • Mugshot and jail spawn behavior - jail intake, mugshot capture, jail spawn teleport, and prisoner clothing application now stay in sync more reliably across different jail setups.
  • Configurator defaults and resets - jail and mugshot-related configurator resets now restore the expected default values more reliably.
  • Numeric configurator input improvements - jail-related configurator inputs now preserve decimal values more predictably, which helps when working with exact position and camera coordinates.
  • Tracker display names - GPS tracker and ankle monitor history now resolves attached-by information to roleplay names where possible.
  • Impound improvements - impound behavior was refined and select inputs gained filtering for easier use.
  • Cuff and ziptie items - handcuff and ziptie item requirements, item consumption, and return-on-remove behavior were clarified and made more consistent.
  • UI polish - select dropdowns, popups, configurator controls, and jail-related editing flows now keep their sizing, background, and layering more reliably.
  • Shared configurator reliability - shared creator-driven configurator sections and linked option refreshes behave more consistently when used through the police job configurator.

Other Changes

  • Added minGrade documentation for police shop items.
  • Added documentation comments for interaction ped spawn profiles.
  • Radar and jail doctor notifications were reduced where they did not add useful player feedback.
  • The Speed Camera app now falls back to the shipped app identifier when needed.
  • Rebuilt and verified the police in-game interface bundle.
  • Included the latest shared configurator compatibility updates from sky_jobs_base for police setups that rely on /jobconfig.

Version 1.17.0

Update sky_base and sky_jobs_base first — install the matching releases. This release also aligns the inventory calls with the matching sky_base release; running it against an older sky_base can break item add/remove.

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 editing config.lua by 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 new Config.UseJobConfigurator toggle (default true) decides whether these settings come from the in-game configurator or from the plain Lua job definitions — set it to false to keep managing everything in config.lua as 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, and disallowJobs. 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-alert jobs list in Config.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.

Version 1.16.0

Highlights

  • New Speed Cams (Blitzer) app. A new police tablet app shows speed-camera locations on the map and warns the driver as they approach one while in a vehicle. It supports an optional weekly subscription and is fully configurable through the new Config.BlitzerApp block.
  • Lighter, faster interface. The speed-cam photo capture was rebuilt on the game's native rendering (dropping a large rendering dependency and switching to on-demand capture), no-op blur styling was removed, and jail props now stream in around the player — all for better in-game performance.

Notable Changes

  • Speed Cams app — shows speed-cam locations and in-vehicle proximity warnings, with an optional subscription (Config.BlitzerApp.subscription, default 15000 per week) and a configurable license-plate overlay on capture photos (plateImageOverlay). Subscriptions are stored in a new database table that is created automatically on start.
  • codem-phone and RoadPhone support — the police apps now also work on codem-phone and RoadPhone, detected automatically, so players on those phones can use them too. RoadPhone requires adding the returned/custom app entry to RoadPhone's config.json.
  • WebGL speed-cam capture — the speed-cam photo is now captured directly through the game view instead of a constant render loop, removing a large dependency and reducing overhead.
  • Distance-streamed jail props — solitary-cell props and persistent jail objects (dumpsters, electric boxes) now only spawn while a player is nearby, via Config.Jail.cellStreamDistance and Config.Jail.objectStreamDistance, so they no longer render across the whole map.
  • Jail job task blips — jail tasks now show map blips so they are easier to find.
  • Billing options — new Config.Billing.currency and Config.Billing.depositToSociety control which account/currency fines use and whether the money is deposited into the society account.
  • Interaction & billing fixes — a round of fixes to police interactions, billing, jail zones and the speed-cam flow for more reliable behaviour.
  • Item image fallbacks — the interface now falls back to an alternate image when an item's image is unavailable, avoiding blank icons.

Other Changes

  • Removed the no-op backdrop-filter styling from the interface for better in-game performance.
  • Widened the dropdown menus in the interface for readability.
  • Documented an optional per-prop streamDistance override for props (overrides the sky_jobs_base default prop streaming distance).
  • Removed an obsolete speed-cam capture locale string.

Version 1.15.0

Highlights

  • Added a jailed confiscated items return marker for jail creator locations.
  • Added an admin command to remove active social work assignments from a player.
  • Added configurable jail restore and breakout behavior for multichar and prison-zone setups.
  • Improved SpeedCam violation handling with safer offence matching, billing handling, and optional police notifications.
  • Improved tablet closing behavior so the tablet closes reliably on both client and frontend.

Notable Changes

  • Confiscated inventories are only cleared after the inventory restore succeeds.
  • Added missing confiscated items return translations for all supported locales.
  • Fixed vehicle registry pagination stability.
  • Fixed admin unjail so players are released to the configured prison point.
  • Fixed duplicate public jail NPC spawns.
  • Fixed ankle monitor drop collision.
  • Updated German tablet wording and translated the Weapons App search button.

Version 1.14.0

Highlights

  • Added configurable shared job storage and personal locker capacities.
  • Added /jail [playerId] [months], allowing authorized admins to open the jail assignment UI for a specific player and choose the jail location.
  • Jail dispatches can now be sent to multiple configured jobs instead of only the police job.
  • Added the server export exports['sky_policejob']:isPlayerInPrison(source) for prison-state checks from other resources.
  • Citizens App bills can now include multiple selected offences in one bill.

Notable Changes

  • Improved Head bag position.
  • Jail terminal creator interactions now use localized labels.
  • German status labels for set/unset values were updated.
  • Improved SpeedCam capture reliability and cleanup coordinate normalization.
  • Prevented duplicate destroyed SpeedCam props from being created during cleanup.
  • Simplified shots-fired dispatch detection to reduce false or duplicate handling.
  • Fixed jail tracking after mugshot intake.
  • Added an early return to carry movement reset handling.

Version 1.13.0

Highlights

  • Added a new Weapons app to the Police Tablet with job-scoped weapon registrations, serial numbers, owner assignment, registration status, notes, tags, gallery photos, and linked case files.
  • Weapon ownership can now be verified directly against citizen records, helping officers check whether a weapon belongs to the selected person and whether the registration is valid, expired, revoked, lost/stolen, or on evidence hold.
  • Citizen, vehicle, case, report, and weapon linking now use searchable tablet selectors, so large servers no longer need to preload huge rosters into dropdowns.
  • Added configurable ziptie cutter support, including item checks, optional item consumption, civilian-use gating, and fallback support for the shared wire_cutter item.
  • SpeedCams can now capture vehicles from the rear as well as the front, improving ticket/photo coverage when vehicles pass a configured camera from the opposite direction.

Notable Changes

  • Jail assignment is safer: jails without a release point can no longer be used for new assignments, and authorized admins can force-release players with /unjail [playerId].
  • Manual citizen and vehicle registries gained exports for registering entries from other resources while database autofill is disabled.
  • Manual citizen and vehicle entries can now be deleted from the tablet when autofill is disabled.
  • Police garage vehicles can define propCounts, allowing each vehicle to limit how many configured props it can carry.
  • Creator interaction points can now define custom marker size and interaction distance.
  • Weapon records can be linked to real case records, and saved case IDs are validated server-side.

Fixes

  • Citizen app performance performance improvement on large tablet datasets.
  • Fixed evidence compartment creation.

Version 1.12.0

Highlights

  • Police Tablet cases can now be archived and restored from a separate archived cases view, keeping active case lists cleaner without deleting old records.
  • Added /adminuncuff [playerId] so authorized admins can force-remove handcuffs or zipties from a player.
  • Case evidence photos now open in a larger preview and ask for confirmation before removal.
  • Citizen and vehicle registry autofill can now be disabled per registry app, allowing servers to use only manually maintained tablet records.
  • SpeedCam damage can optionally be restricted to configured weapons.

Notable Changes

  • Tablet dates now follow the selected script locale, and offence type labels are translated across tablet views.
  • Offence cards and Speed Violation range labels now fit better inside the tablet layout, and missing offence fields are highlighted directly while saving.
  • Social work assignment times are now stored and migrated as timestamps.
  • Evidence Laboratory slots now support inventories that return string slot IDs.

Other Changes

  • Cuffs and leg restraints are now removed automatically when a player is jailed.
  • Citizens using the configured cut item can cut an ankle monitor without needing a police job.
  • German translations were completed for handcuff permission and SpeedCam billing/photo errors.
  • Creator data now loads only from the database-backed creator storage instead of falling back to old legacy files.

Version 1.11.0

Highlights

  • Billing and SpeedCam fines can now route money to the society account of the officer's configured job instead of always using one global police account.
  • Jail Creator now has more control over jail map blips, including a public jail location blip and a toggle for jail-only restricted blips.
  • Citizens App profiles now support manually stored citizen jobs and license display/editing in the Police Tablet.
  • Handcuffs and zipties can now consume their configured restraint item on use and return it when restraints are removed.

Notable Changes

  • Added per-job societyAccount support in Config.Jobs; Config.Billing.account remains as a legacy fallback.
  • SpeedCams now store their owning job and use that job for gallery routing and automatic Speed Violation billing.
  • Citizens App profile controls were tightened up, with more compact linked vehicle and billing panels and improved offence search alignment in the issue-bill flow.

Other Changes

  • Moved the Citizens App license panel beside reports with equal-height profile cards.

Version 1.10.0

Highlights

  • Citizens App can now issue bills directly from a citizen profile.
  • Citizen billing history now loads with pagination, making profiles faster and easier to use on servers with many bills.
  • Added Russian translations.
  • Added optional civilian use for handcuffs, zipties, and head bags through Config.CivilianUse.
  • Added Config.Jail.clearInventoryOnJail to decide whether jail should confiscate player inventories.
  • Added configurable SpeedCam flash color with Config.SpeedCam.flashColor.

Notable Changes

  • Evidence samples and the Evidence Laboratory now use the shared sky_base inventory metadata handling, improving compatibility with supported metadata inventories.
  • SpeedCam billing no longer sends an extra direct ticket popup in addition to the normal capture flow.
  • Jail creator interactions now work more reliably for all configured police-group jobs.
  • Social work carry jobs now use normal game movement again.
  • Placeable police prop items are enabled by default and item consumption is handled more reliably.
  • The Citizens App tag add button now adapts to longer translated button text.

Other Changes

  • Added exports and events for civilian restraint/head bag integrations.

Version 1.9.0

Highlights

  • Added handcuff status exports and extended handcuff exports with options.
  • Added SpeedCam notifications for captures that do not match a configured SpeedViolation offence range.

Notable Changes

  • SpeedCam damage handling is more stable, including better damaged/destroyed prop cleanup, per-camera damage debounce, and improved display updates.
  • SpeedCams now only submit a violation from the local driver client, reducing duplicate or irrelevant trigger reports.
  • Creator command permission checks now use ACE-backed Config.CommandPermissions through config/sv_functions.lua.

Other Changes

  • Reduced armed-player client polling for evidence and SpeedCam damage checks.
  • Fixed /stationcreator and related creator command permission denials.

Version 1.8.0

Highlights

  • Evidence metadata improvement
  • Vehicle registry search now supports owner names, making it easier to find vehicles from the Police Tablet.
  • Added a new option to disable shots-fired dispatch alerts while keeping the related system available.
  • Added configurable ignored weapons for shots-fired dispatch alerts, with stun guns ignored by default.
  • Added an optional wheel clamp setting to consume one wheel clamp item after successful placement.

Notable Changes

  • Police-only notifications are now only shown to players with the correct police job, reducing irrelevant alerts for civilians or other jobs.
  • Jail terminals and jail interactions now work correctly for configured police groups.
  • Improved SpeedCam, wheel clamp, spike strip, and shots-fired alert performance during regular gameplay.
  • Billing popups can now be closed with Escape.

Version 1.7.0

Highlights

  • Reworked SpeedCam photo capture
  • Added item-based police prop placement with configurable inventory item names, duty requirements, vehicle prop access, and item consumption.
  • Added configurable Police Tablet app availability so server owners can enable or disable individual tablet apps.
  • Added optional direct keybinds for common Police Radial actions, starting with handcuff and unhandcuff commands.

Notable Changes

  • SpeedCams now only trigger from the direction they are facing and include improved capture distance and trigger.
  • Officer map blips now avoid duplicated blips when syncing officer locations.
  • Fixed bug that Police Reports tablet app is not shown in tablet menu.
  • Cuffed player hand positioning now stays correct when ragdoll state changes.
  • Vehicle radar close behavior was fixed.

Other Changes

  • Added missing webshop entries for head bags and evidence-related items.
  • Added the headbag inventory image.

Version 1.6.0

Highlights

  • Added officer-down and shots-fired dispatch alerts.
  • Added head bags with synced prop support and an obstructed-vision overlay, plus leg restraints for already cuffed suspects.
  • Added per-jail map blip controls in the Jail Creator so you can decide which jail terminals and NPC points appear on the map.

Notable Changes

  • Improved Police Tablet handling for larger servers with server-side pagination for Cases, Reports, Warrants, and BOLOs, faster vehicle list loading, safer request throttling, and automatic reopening of the last app after closing the tablet.
  • Citizens App now shows linked bills directly on the citizen profile.
  • Added a (optional) wheelclamp welding minigame.
  • Creator data is now stored in the database, creator menus respond better to held arrow keys, and jail creator updates are only broadcast to relevant police/prison players.
  • Evidence Laboratory inventory support is expanded.

Other Changes

  • Added automatic database migration support through Config.AutoExecuteQuery.
  • Vehicle radar now only shows the off-duty warning to the relevant player.

Version 1.5.0

Highlights

  • Added custom dispatch integration hooks so Police Job alerts can be forwarded into your own dispatch system.
  • Added mph support for SpeedCams and vehicle radar with the new Config.SpeedCam.useMph option.

Notable Changes

  • Improved server and client performance under higher player counts by reducing repeated scans, redundant UI updates, and event pool pressure.
  • Reworked jail interaction syncing and creator integration, fixing duplicate jail NPCs and making jail terminals, inmates, fence cuts, and electric boxes update more reliably.
  • Fixed civilian outfits not being restored correctly after jail release.
  • Citizens App now shows linked cases and allows direct navigation into the related case.
  • Garage App now shows the vehicle owner's name instead of the identifier/license value.
  • Improved BOLO selection states and active-entry highlighting in the tablet UI.
  • Fixed tablet back-navigation so apps no longer get stuck or fail to reopen after returning.

Other Changes

  • Added Spanish, Finnish, French, and Polish translations.

Version 1.4.0

Highlights

  • Added synced spike strip tyre bursting with configurable spike strip settings.
  • Added support for multiple jail terminals in the jail creator.

Notable Changes

  • Citizens App now shows linked vehicles and linked reports again, including direct navigation into the related tablet apps.
  • Fixed tablet app return flow so going back to the main tablet menu no longer closes Police Job apps unexpectedly.
  • Fixed impounded vehicles staying frozen after a wheel clamp was removed.

Other Changes

  • Fixed spike strips so rear and mid wheels can also be burst instead of only the front tyres.
  • Increased mobile radar controls font size for better readability.
  • Added missing English and German translations and updated related wording.
  • Added navigation/select sounds for creator menus.

Version 1.3.0

Highlights

  • Added speedcam offence integration so speedcams can match configurable offences by speed overage and issue linked fines automatically.
  • Extended Offences App with Speed Violation entries including configurable min/max speed-over-limit ranges.

Notable Changes

  • Improved sizing/alignment of list entries across Citizens, Vehicles, Cases, Reports, Warrants, BOLOs, Prison, Social Work, and Offences apps.
  • Fixed Offences App so open drafts and dialogs close correctly when tablet closes.
  • Fixed ESX citizens roster issue caused by collation mismatch on identifier joins.

Other Changes

  • Fixed mobile radar close/reset behavior after leaving vehicle.
  • Updated German locale wording for impound.

Version 1.2.0

Highlights

  • Added pagination for Citizens, Vehicles, Cases, Reports, Warrants, and BOLOs tablet list apps for large datasets.
  • Added wheel clamp state exports for external integrations.

Notable Changes

  • Improved Citizens App fetching to include all players instead of only online players.
  • Added server export exports['sky_policejob']:GetWheelClampOnVehicle(vehicleOrNetId, plate) returning clamp data (attached, netId, plate, wheelBone) or nil.

Other Changes

  • Fixed Offences App freeze when deleting an offence.
  • Fixed CCTV and bodycam visibility when required bodycam item option is enabled.

Version 1.1.1

Highlights

  • Fixed issue where Citizens App user data fetch could timeout.

Notable Changes

  • Added Save button for tablet apps that contain forms.

Other Changes

  • License data was temporarily removed from Citizens App until a stable fetch solution is available.

Version 1.1.0

Highlights

  • Added ability for players to remove deployed CCTVs and speedcams.
  • Improved evidence storage interface.

Notable Changes

  • Added station map blips.
  • Added groundwork for item metadata support in storages.
  • Fixed evidence storage issue when creating a new compartment.

Other Changes

  • Added missing translation.
  • Added scroll bar in vehicles app.
  • Upcoming hotfix announced for Citizens App loading issue.

Version 1.0.0

Highlights

  • Initial release of Police Job.

Notable Changes

  • No additional notable changes documented.

Other Changes

  • No additional changes documented.