Browse docs

Emergency Dispatch

Public client-side export for sending a validated, player-originated dispatch through sky_jobs_base.

Emergency Dispatch

Use the client export for a simple dispatch raised by the local player. It queues a server event and returns immediately; the server remains authoritative for the caller, position, target job, and rate limit.

The generic client path is intentionally limited to the player's own on-duty job and has a 30-second cooldown. Use the server exports for alarms, phone adapters, cross-job incidents, stable duplicate protection, or incidents owned by another resource.

createDispatch(title, message, coords, jobs, meta)

ArgumentTypeDescription
titlestringRequired title. The server sanitizes it to 160 characters.
messagestringIncident description, sanitized to 4,000 characters.
coordsvector3 | tableCompatibility argument. The server ignores this value and resolves the player's current server-side position.
jobsstring | string[]Requested target jobs or groups. The server keeps only the caller's own on-duty job.
metatable?Optional metadata. Only category is accepted from the generic client path.

Returns: true after the request was queued. This does not confirm that the server accepted or created the incident.

client.lua
exports["sky_jobs_base"]:createDispatch(
    "Officer needs assistance",
    "Immediate assistance requested at the current position.",
    GetEntityCoords(PlayerPedId()),
    "police",
    {
        category = "officer_assistance"
    }
)

Client-supplied source IDs, reporter details, coordinates, priorities, and response-plan keywords are discarded. The server derives the caller from the event source, requires the matching job to be on duty, and obtains the position from the server-side player ped.

With Config.Dispatch.enabled = true, an accepted request becomes a persistent Dispatch App incident and the legacy top-center notification is suppressed. With the master switch disabled, the same export uses the legacy map dispatch and notification.

The public Emergency App does not use this generic route. Its separately validated intake is controlled by Config.Dispatch.phone.enabled and dispatchSettings.emergencyAppEnabled.