Dispatch

Step-by-step installation guide, common issues & solutions, code snippets, error codes, config previews, locales previews, SQL previews, and changelogs; all in 1 easily accessible place.

Buy Here

FiveM Forums Post

YouTube Showcase Video

This resource can be purchased as part of a bundle for a discount here

Translate

INSTALLATION GUIDE

Step 0 - First Steps

Step 1 - Fxmanifest

Step 2 - Configure Resource

Step 3 - SQL Database

Step 4 - Configure Key Binds

Step 5 - Add New Dispatch Alerts

A detailed guide for all variables used in the dispatch "code snippet".

Variable Name
Description

job_table

Everyone who has this job will receive this dispatch alert. You can add multiple jobs to the table.

coords

These are the coordinates of the dispatch alert.

title

Usually, police 10 codes are used here in the title.

message

You can customise the message and add any available variables - More Info.

flash

To make this dispatch alert flash red and blue on the small and large UI. Used for high-priority calls such as panic buttons etc.

1 = enable UI flash.

0 = disable UI flash.

unique_id

DON’T change this.

blip

This sub-table allows you to customise the blip on the pause menu map/mini-map.

If you don't want to have a blip, just delete the whole blip sub-table.

Everything referred to as the blip below is related to the pause menu map/mini-map blips.

blip.sprite

The icon for the blip - More icons can be found here.

blip.scale

The size of the blip: 0.1-2.0.

blip.colour

blip.flashes

To make this dispatch alerts blip flash. Used for high-priority calls such as panic buttons etc.

true = enable blip flash.

false = disable blip flash.

blip.time

(in minutes) The amount of time until the blip gradually fades and deletes.

blip.sound

The sound when receiving a new dispatch alert. You can change or add more sounds in the BlipSound() function in the configs/client_customise_me.lua.

1 = x1 sound alert.

2 = x2 sound alerts.

3 = panic button alert sound.

blip.radius

This will take the coordinates, randomize them, and add an area blip. The exact location will always be somewhere in the radius blip

0 = disable radius blip.

50-100 = is a good size, but you can go higher.

A detailed guide for all the data the client-side export returns.

OPTIONAL FEATURES

This section is to help you understand how the built-in features of this resource work and, if applicable, how you can make them compatible with other resources. These features are not required. They are optional and can be configured in the [configs/config.lua].

Large UI Settings

What do the settings do and how does this work?

This is where each player can customise settings to suit their own individual role-play needs.

Status

  • The status shows other players what you are doing, such as available, unavailable, processing, training, undercover etc. It‘s displayed on the “Units List”, and each status displays a different colour. For example., green = available, red = unavailable and blue = training.

Auto Delete

  • Each notification will auto-delete after x minutes to clear out old notifications.

Update Callsign

  • This is how you update your callsign.

Assigned Vehicle

  • This is used to show other players what type of vehicle you are currently using. It’s displayed on the “Units List” and the pause-menu/mini-map blips. Players must change this manually, as it won’t change automatically.

Dispatcher Mode

  • This is where you enable dispatcher mode.

Radio Channels

How do radio channels work?

We use radio channels to allow players to see which radio channels other players are on, and also to allow players to quickly join radio channels through the large UI.

You will of course need to be using some sort of voip and radio resource. By default we have added compatibility with tokovoip, mumble and pmavoice.

Where are the radio channels displayed?

The radio channels are displayed in 2 places: on the large UI and the pause-menu/mini-map blips.

This event needs to be triggered from your radio resource, specifically when a player (who has access to use the dispatch) joins/leaves/changes a radio channel, and it needs to send the players new radio channel in the first argument.

Example 1

Example 2

RADIO_CHANNEL_HERE needs to be a string or a number.
TriggerServerEvent('cd_dispatch:GetRadioChannel', RADIO_CHANNEL_HERE)

Duty System

How does the duty system work?

QBCore and ESX Legacy 1.6+ use built in duty system’s. We use this by default to require players who have the job to be on duty to use the dispatch.

Do you use QBCore or ESX Legacy 1.6+?

Then you don't need to make any changes. We have already implemented this for you.

Using an external duty resource, you can use the events below to tell the dispatch when a player is on or off duty.

Boolean means (true or false).
TriggerEvent('cd_dispatch:OnDutyChecks', BOOLEAN)

Blips

How do the blips work?

Our built-in player blips feature allows all players of the job(s) you define in the Config.Allowedjobs table to see each other on the in-game pause-menu and mini-map.

The blips show much more information than usual blip resources because it gets data from the dispatch UI; such as the players character name, callsign, radio channel and vehicle type. Blips also flash when a vehicles emergency lights are enabled.

Callsign

How do callsigns work?

Callsigns can only be changed in the settings on the large UI. Open the large UI, click the “settings” icon at the top of your screen and change your callsign.

Dispatcher

How does the dispatcher system work?

Our dispatcher system allows dispatcher(s) to recieve calls and assign them to individual players. Only those with the pre-defined job(s) and job grade (defined in the Config.Dispatcher table) can use this feature. While a player has dispatcher mode enabled, non-dispatchers will not recieve calls until a dispatcher assigns them one.

How to enable dispatcher mode?

  • Open the large UI, click the “settings” icon at the top of your screen and click “Toggle dispatcher mode”. You don’t have the required job or grade if this option is not clickable.

How to assign a unit/group to a call?

  • You must drag a unit/group from the “Unit List” (on the right side of your screen) onto a call in the “Notification List” (on the left side of your screen). You will see the unit(s) added to the “Units Responding” on the call if assigned successfully. You must drag the unit/group from the drag icon (8 dots).

How To assign all units to a call?

  • While the large UI is open, right-click on a call in the “Notification List” (on the left side of your screen), and click “Assign every unit to call”.

How to speak on the radio while in the large UI?

  • While the large UI is open, click the “Toggle Voice ON” button (at the bottom right corner of your screen). When enabled, this button will change colour to white. To talk on the radio, press your radio's push-to-talk key.

How to join/leave radio channels while in the large UI?

  • While the large UI is open, right-click on a unit in the “Unit List” (on the top right side of your screen) and click “Join radio channel”. Do the same thing to leave a radio channel but click “Leave radio channel”.

Job Call Commands

How does the job call commands work?

When a civilian uses any of the job call commands such as /911, a notification will be sent to the police. You can configure multiple jobs to use this system. After receiving a job call, players in said job can respond to the civilian using the /reply chat command. Calls can also be anonymous if the anonymous option is set to true (does not show the caller's name or phone number and uses radius blips).

Police Alerts

How does the police alerts work?

This dispatch includes 3 basic built-in police alerts: stolen car, gunshots and speed cameras.

Whitelisted Jobs

Please note that when testing this, if your job is in the whitelisted_jobs table, you won’t be able to trigger events.

Stolen Car Alerts

  • This alert is specifically for when a civilian tries to enter a locked vehicle or drags a ped out of their vehicle and steals it. If you use cd_radar, bolos will be automatically added for the stolen vehicles.

Gunshot Alerts

  • Weapons with silencers on won’t trigger an alert. If you use cd_radar, bolos will be automatically added for vehicle gunshots.

Speed Camera Alerts

  • Some speed cameras are already pre-configured. When a vehicle speeds through one of these speed camera areas, an alert will be sent to the police. You can also optionally send the player a fine automatically. If you use cd_radar, bolos will be automatically added for speeding vehicles.

INFORMATION

Default Keybinds

These keys can be modified and/or disabled in the Keys and Commands section of the [configs/config.lua].

Please make sure you understand how Key Mapping works.

Key

Description

U

Toggles the small dispatch UI.

G

Respond to a notification.

Left/Right Arrows

Scroll through the notifications on the small dispatch UI.

L

Opens the large dispatch UI.

Up Arrow

Ping your location to other players who have access to your dispatch.

Down Arrow

Press your panic button.

Chat Commands

These chat commands can be renamed and/or disabled in the Keys and Commands section of the [configs/config.lua].

The exact usage for each command will be displayed in the chat suggestions when using the commands in-game.

Command

Description

/dispatchsmall

Toggles the small dispatch UI.

/dispatchlarge

Opens the large dispatch UI.

/respond

Respond to a notification.

/movemode

Allows you to move the small UI on your screen.

/panic

Press your panic button.

/reply

Reply to job calls such as /911 calls etc.

/dispatchtest

(Test Command) This is a test command which triggers a police notification.

/dispatchping

Ping your location to other players who have access to your dispatch.

Events

These events are completely optional; you can use them if needed.

Panic Button

Activates the panic button.
TriggerEvent('cd_dispatch:PanicButtonEvent')

Exports

These exports are completely optional; you can use them if needed.

Get Player Info

Returns useful information about a player which can be used for creating new dispatch notifications, as seen in step 5. (returns a table).
exports['cd_dispatch']:GetPlayerInfo()

Get Player Notifications

Returns all of a player's active dispatch notifications. (returns a table).
exports['cd_dispatch']:GetPlayerNotifications()

Get Players Dispatch Data

Returns a player's dispatch character data, eg., callsign, character name, status etc. (returns a table).
exports['cd_dispatch']:GetPlayersDispatchData()

Get Config

Returns the dispatch's full config.lua. (returns a table).
exports['cd_dispatch']:GetConfig()

COMMON ISSUES

Please check out our Troubleshooting Guide before contacting our support.

🔔 Folder Name Make sure the name of the folder is cd_dispatch.

🔔 Encrypted Files Do not edit the encrypted files in any way.

SQL Default Value Error?

eg., if you see an error similar to this example when inserting an SQL query into your database - “BLOB/TEXT column 'callsign' can't have a default value”.

✔️ You can use “VARCHAR(256)” instead of “LONGTEXT” in the SQL query.

SQL Unknown Column Error?

eg., if you see an SQL error in the server console similar to this example - ER_BAD_FIELD_ERROR: Unknown colum 'callsign' in 'where clause'.

✔️ You are missing one of the required database columns. The SQL file can be found in the "READ_ME_AFTER_PURCHASING" folder.

Script Loading?

eg., if you see this notification at least 10-20 seconds after loading in or restarting the script - “The resource is still loading. Please try again in a few seconds”.

✔️ There will usually be a server side error which will be pretty self explanatory, usually a database error or because your Config.FrameworkTriggers were not configured correctly.

NUI "drawImage" error?

eg., if you see an error similar to this in the client-side F8 console.

✔️ This means you have chosen a blip colour that is not supported by default in: Config.lua/Config.BlipData/largeui_blip_colour. To fix this change it to one of the supported colours.

Players are not recveving calls?

eg., if all of a sudden players are not longer recieving dispatch calls.

✔️ This most likely means 1 or more players have enabled dispatcher mode, so only the dispatchers are recieving new calls. Please read more about how our dispatcher system works .

ERROR CODES

If you see an error code not listed below, please open a script support ticket in the Codesign Discord.

N/A

CHANGELOG

Files Changed

Not every update requires you to replace the whole folder. We do this because we understand it's a pain to redo the configs for every update.

  • All Files - This means you should delete your old cd_dispatch folder, download and add in the latest version, reconfigure the configs folder and restart your server.

  • All Files Except config.lua - This means you should do all of the above (in the All Files section) but additionally make a backup of the config.lua file and replace the new config.lua file with the one you made a backup of.

  • Specific Files - This means you can copy and paste the SPECIFIC new files over the old ones and restart the server.

Update Type

On rare occasions, you are forced to update to the latest version. Mostly due to authentication updates where the old versions will no longer work.

  • Mandatory - This means you MUST update to this new version, or the old versions will no longer work.

  • Optional - This means it's completely your choice whether you wish to update to the latest version. But we do not offer support for old versions for obvious reasons; they are old.

15/05/2024

Files Changed:

Update Type:

Changelog:

Edit

  • Removed the built-in stolen car alerts.

  • Various file and code clean-up.

Last updated

Was this helpful?