Browse docs

Advanced Speed Camera

Reference for Advanced Speed Camera in policejob.

All exports

This page documents the supported public integration calls. Client values are never authoritative for police permissions, review decisions, evidence, offences, or billing.

Advanced Speed Camera

Read deployed speed cameras

GetSpeedcamCameras()

Returns the current server-owned camera catalogue. This is a server export and cannot be called directly by a FiveM client.

server.lua
local cameras = exports["sky_policejob"]:GetSpeedcamCameras()

for _, camera in ipairs(cameras) do
    print(camera.id, camera.label, camera.status, camera.limit)
end

Each entry contains:

FieldTypeDescription
idstringDisplay ID such as SP-004
labelstringConfigured camera name
typestringAlways speedcam
statusstringonline, maintenance, or offline
durabilitynumberCurrent server-owned durability
limitnumberConfigured speed limit
tolerancenumberConfigured tolerance
targetnumberInternal numeric camera ID used by supported camera views
coordstableServer-stored world coordinates
headingnumberServer-stored camera heading

Treat the returned table as a snapshot. Changing it does not change the server cache or database.

Review mutations are intentionally private

Advanced review approval and discard are not public exports. The built-in path validates the acting officer's current police job, duty, Boss Menu permission, review ownership, evidence, offence, fine, billing adapter, target player, and review status immediately before mutation.

Do not proxy a raw client event into a server export. If an integration exposes camera information to a client, filter the returned fields and authorize the requesting player first. Review IDs, owner records, evidence, and billing actions must remain server-side.

See Advanced Speed Camera for the complete review and exploit-protection workflow.