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: boolean — false 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)
| Parameter | Type | Required | Description |
|---|---|---|---|
playerId | number | Yes | Player 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)
| Parameter | Type | Required | Description |
|---|---|---|---|
playerId | number | Yes | Player server ID. |
amount | number | Yes | Positive amount to charge. |
reason | string | Yes | Fine description. |
Returns: boolean
Jail
jailPlayer
local success = exports['wasabi_police_v2']:jailPlayer(playerId, sentence, reason?)
| Parameter | Type | Required | Description |
|---|---|---|---|
playerId | number | Yes | Player server ID. |
sentence | number | Yes | Sentence duration in seconds. |
reason | string | No | Booking 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[]
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.