Browse docs

Exports

Reference for the Police Job exports and radial menu actions.

Dispatch

Create a dispatch for the MDT Tablet.

exports["sky_jobs_base"]:createDispatch(
    "Suspicious activity", -- title
    "Caller reports suspicious behavior near Legion Square.", -- description
    GetEntityCoords(PlayerPedId()), -- coords (vector3)
    { "police", "sheriff" } -- jobs
)

Client exports

Open the menu to put someone in jail.

client.lua
exports.sky_policejob:openJailMenu()

Toggle cuff state for the nearest player.

client.lua
exports['sky_policejob']:cuffPlayer()

Remove cuffs from the nearest player.

client.lua
exports['sky_policejob']:uncuffPlayer()

Use cuffs or zipties from another resource without requiring the player to be a police officer. This still respects Config.CivilianUse.

client.lua
exports['sky_policejob']:useCuffPlayer('cuffs') -- or 'zipties'
exports['sky_policejob']:useUncuffPlayer()

Use a head bag on the nearest player without requiring the player to be a police officer. This still respects Config.CivilianUse.headBag.

client.lua
exports['sky_policejob']:useHeadBag()

Check local cuff state for a player.

client.lua
local cuffed = exports['sky_policejob']:isPlayerCuffed(serverId)

Start or stop escorting a player.

client.lua
exports['sky_policejob']:escortToggle()

Put the escorted player into a vehicle.

client.lua
exports['sky_policejob']:escortPutInVehicle()

Take the escorted player out of a vehicle.

client.lua
exports['sky_policejob']:escortTakeOutVehicle()

Client events

client.lua
TriggerEvent('sky_policejob:client:cuffPlayer')
TriggerEvent('sky_policejob:client:uncuffPlayer')
TriggerEvent('sky_policejob:client:useCuffPlayer', 'cuffs') -- or 'zipties'
TriggerEvent('sky_policejob:client:useUncuffPlayer')
TriggerEvent('sky_policejob:client:useHeadBag')
TriggerEvent('sky_policejob:client:escortToggle')
TriggerEvent('sky_policejob:client:escortPutInVehicle')
TriggerEvent('sky_policejob:client:escortTakeOutVehicle')

Server exports

Apply cuffs or zipties to a target player from another resource.

server.lua
local success, reason = exports['sky_policejob']:cuffPlayer(sourceId, targetId, 'cuffs', {
    ignoreItemCheck = false,
    allowSelf = false
})

Remove cuffs or zipties from a target player.

server.lua
local success, reason = exports['sky_policejob']:uncuffPlayer(sourceId, targetId)

Use or remove a head bag on a target player.

server.lua
local success, reason = exports['sky_policejob']:useHeadBag(sourceId, targetId, 'toggle')
local isHeadBagged = exports['sky_policejob']:isPlayerHeadBagged(targetId)

Salary

Pause or resume salary payouts for police employees. These exports are provided by sky_jobs_base and work for all job types.

pausePlayerSalary(playerId)

  • Purpose: Pauses salary payouts for the given player.
  • Arguments:
    • playerId (number) — the server ID of the player.
  • Returns: booleantrue on success.

resumePlayerSalary(playerId)

  • Purpose: Resumes salary payouts for the given player.
  • Arguments:
    • playerId (number) — the server ID of the player.
  • Returns: booleantrue on success.

isPlayerSalaryPaused(playerId)

  • Purpose: Checks whether salary payouts are currently paused.
  • Arguments:
    • playerId (number) — the server ID of the player.
  • Returns: booleantrue if paused.
-- Pause salary (e.g. when player is AFK)
exports["sky_jobs_base"]:pausePlayerSalary(playerId)

-- Resume salary (e.g. when player returns)
exports["sky_jobs_base"]:resumePlayerSalary(playerId)

-- Check if paused
local paused = exports["sky_jobs_base"]:isPlayerSalaryPaused(playerId)
See the Sky Jobs Base Server Exports for full documentation and usage examples.