Skip to main content

Exports

Documented exports for Wasabi Police Job V2 (wasabi_police_v2).


Client exports

getAllStations

Return all active police stations and their configured locations.

local stations = exports['wasabi_police_v2']:getAllStations()

Returns: table[]

openJobMenu

Open the configured police job menu for the local player.

exports['wasabi_police_v2']:openJobMenu()

Bodycam

ToggleBodyCam
exports['wasabi_police_v2']:ToggleBodyCam()

Toggle the local player's bodycam between active and inactive.

StartBodyCam
exports['wasabi_police_v2']:StartBodyCam()

Start the local player's bodycam when the bodycam module and requirements allow it.

StopBodyCam
exports['wasabi_police_v2']:StopBodyCam()

Stop the local player's active bodycam.

IsBodyCamActive
local active = exports['wasabi_police_v2']:IsBodyCamActive()

Returns: boolean

CCTV and radar

GetCCTVCameras

Return the CCTV cameras currently available on the client.

local cameras = exports['wasabi_police_v2']:GetCCTVCameras()

Each entry includes id, name, coords, broken, and job.

OpenCCTV

Open a CCTV camera feed by database ID.

local opened = exports['wasabi_police_v2']:OpenCCTV(cameraId)

Returns: booleanfalse when the camera is not available locally.

GetRadarPosts

Return synchronized persistent radar posts.

local posts = exports['wasabi_police_v2']:GetRadarPosts()

Each entry includes id, coords, limit, and unit.

Server exports

isPlayerCuffed

Check whether a player is currently cuffed.

local cuffed, cuffData = exports['wasabi_police_v2']:isPlayerCuffed(playerId)
ParameterTypeRequiredDescription
playerIdnumberYesPlayer server ID.

Returns: boolean, table?

getPoliceCount
local count = exports['wasabi_police_v2']:getPoliceCount()

Returns: number

finePlayer

Charge a valid online player through the configured default billing bridge.

local success = exports['wasabi_police_v2']:finePlayer(playerId, amount, reason)
ParameterTypeRequiredDescription
playerIdnumberYesPlayer server ID.
amountnumberYesPositive amount to charge.
reasonstringYesFine description.

Returns: boolean

Jail

jailPlayer
local success = exports['wasabi_police_v2']:jailPlayer(playerId, sentence, reason?)
ParameterTypeRequiredDescription
playerIdnumberYesPlayer server ID.
sentencenumberYesSentence duration in seconds.
reasonstringNoBooking reason.

Returns: boolean

releasePlayer
local success = exports['wasabi_police_v2']:releasePlayer(playerId)

Returns: boolean

getJailTime
local seconds = exports['wasabi_police_v2']:getJailTime(playerId)

Returns: number — remaining sentence in seconds, or 0 when not jailed.

Player tracker

applyTracker
exports['wasabi_police_v2']:applyTracker(targetId)

Apply a system-owned tracker to a valid online player.

removeTracker
exports['wasabi_police_v2']:removeTracker(targetId)

Remove an active tracker and its persisted record.

isTracked
local tracked = exports['wasabi_police_v2']:isTracked(targetId)

Returns: boolean

MDT and investigation integration

GetLicenses

Return the current license state for an online player identifier.

local licenses = exports['wasabi_police_v2']:GetLicenses(identifier)

Returns: table|nil

GetEvidenceForSuspect

Return police evidence linked to a suspect identifier.

local evidence = exports['wasabi_police_v2']:GetEvidenceForSuspect(identifier)

Returns: table[]

info

Client exports must be called from client code and server exports from server code. Player parameters on server exports are FiveM server IDs unless stated otherwise.