Browse docs

Server: Restraints

Reference for Server: Restraints 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.

Server Exports

Restraints

These are compatibility forwards to the shared sky_jobs_base interaction system. Police jobs from Config.Jobs are registered automatically. For any other job resource, call registerInteractionJobs from a server script before using these exports. The acting player's job, duty policy, target distance/state, and configured item requirements are validated server-side; calling a Police Job export does not bypass them.

See the Sky Jobs Base server exports for registration, permissions, and the preferred shared exports.

Police keeps compatibility forwards for cuffs, zipties, and escort. Leg restraints and head bags are owned exclusively by Jobs Base; call the corresponding sky_jobs_base exports directly.

cuffPlayer(sourceId, targetId, cuffType?, options?)

  • Purpose: Applies cuffs or zipties to a target player from another resource.
  • Arguments:
    • sourceId (number): The server ID of the acting player.
    • targetId (number): The server ID of the target player.
    • cuffType (string?): "cuffs" (default) or "zipties".
    • options (table?):
      • ignoreItemCheck (boolean?) — skip the restraint item requirement and consumption.
      • allowSelf (boolean?) — allow sourceId == targetId.
  • Returns: boolean, string? — true on success, otherwise false and a reason key.
local success, reason = exports["sky_policejob"]:cuffPlayer(sourceId, targetId, "cuffs", {
    ignoreItemCheck = false,
    allowSelf = false
})

uncuffPlayer(sourceId, targetId, options?)

  • Purpose: Removes cuffs or zipties from a target player.
  • Returns: boolean, string?.
local success, reason = exports["sky_policejob"]:uncuffPlayer(sourceId, targetId)

cutZipties(sourceId, targetId, options?)

  • Purpose: Cuts zipties from a target player.
  • Returns: boolean, string?.
local success, reason = exports["sky_policejob"]:cutZipties(sourceId, targetId)

isPlayerCuffed(targetId)

  • Purpose: Reports whether the target player is currently restrained.
  • Returns: boolean.
local cuffed = exports["sky_policejob"]:isPlayerCuffed(targetId)