Installation Guide

Follow these steps to install and configure cd_dispatch3d correctly.

1

Download

1. Download your resource from FiveM’s Portal.

2. Unzip the cd_dispatch3d.zip folder and place this folder in your server's resource folder.

  1. Add the resource to your server start config (server.cfg). Make sure cd_dispatch3d is listed below your framework resource e.g., es_extended, not above it.

ensure es_extended
ensure cd_dispatch3d
2

Fxmanifest

Depending on your framework and dependencies, you may need to make a few adjustments in [cd_dispatch3d/fxmanifest.lua]. We’ve made this process simple by clearly commenting the lines that may require changes. Refer to the image below for guidance

3

Configure Resource

You must review all configurable options in [cd_dispatch3d/configs/config.lua] and adjust them to suit your server’s needs. Be sure to read the commented help text at the end of each line — it explains the purpose of each configuration option.

The most important sections are under the Framework and Important categories at the top of config.lua. All other settings are optional.

4

Configure Key Binds

Before Starting the Resource

Before launching this resource on your main or live server, we strongly recommend configuring your key binds, as this resource uses FiveM’s Key Mapping system.


Where Can I Configure My Key Binds?

You can configure all key binds directly in [cd_dispatch3d/configs/config.lua].


Why Is This Important?

Once a player joins your server with this resource running, you can no longer force key bind changes through the config file — players must adjust them manually through the in-game pause menu settings. However, any changes you make will still apply to new players who join afterward.

This system is more optimized and gives players the flexibility to customize their key binds for both keyboard and controller use. You can also review the Default Keybinds provided with this resource.

5

SQL Database

Insert Automatically?

By default, Config.AutoInsertSQL in [cd_dispatch3d/configs/config.lua] is set to true, meaning the resource will automatically insert all required SQL tables into your database on startup. Once the SQL has been successfully inserted, you can set this option to false if you prefer.

Insert Manually?

Alternatively, if you want to insert the SQL queries manually, you can find them here.

6

Add New Dispatch Alerts

Why do I need to do this?

Because your old dispatch alerts need to be replaced with the new cd_dispatch3d alerts to ensure full compatibility and proper functionality.

Compatible Code Snippets Provided by Codesign

Example

  • Below is an example of replacing an old dispatch alert with the cd_dispatch3d version. Not every resource will look identical, but the idea is the same.

    • Red = Here is the old dispatch alert.

    • Green = The old dispatch alert has been replaced with the new one.

T

he snippet below is fully documented so you can adapt it to any scenario.

Additional Information

Trigger from the client-side or server-side, but not both

  • We provide two methods above (client and server). Choose one for each alert. We recommend the client-side method for simplicity.

Find where the action starts

Trigger the alert where the action occurs (e.g., the criminal starting the robbery), not on the police side. Placing the alert inside a broadcast event (server → all police clients) can cause duplicate spam.

  • Red = Bad location: an event that already broadcasts to all police and also creates blips client-side → duplicates.

  • Green = Good location: where the robbery starts, no blips yet, and you trigger a server event from there.

Summary

Find where a player starts the action (e.g., robbery), place the new cd_dispatch3d alert code there, and cd_dispatch3d handles the rest.

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.

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.

The export used in the code snippet above will return this table. This can be customised in the [client/main/functions.lua] file.

If the player is on foot then the export will return this:
local data = exports['cd_dispatch3d']:GetPlayerInfo()

data.ped --The player's id: eg., 123456789.
data.coords --The players coordinates: eg., vector3(1.0, 2.0, 3.0).
data.street_1 --The street name: eg., “Palomino Ave”. 
data.street_2 --The streets area name: eg., “Legion Square”.
data.street --Both the street name & area name: eg., “Palomino Ave, Legion Square”.
data.sex --The players ped’s sex; eg., “Male”.
7

Migrating Old Alerts To New Metho

Why do I need to do this?

Because the resource name has changed from cd_dispatch to cd_dispatch3d, the GetPlayerInfo export will no longer work unless you update the resource name inside it.

Option 1 (very easy):

Download and start the resource below; it will automatically fix all incoming notifications—no changes required.

717B
Open

Option 2

Use a text editor like Visual Studio Code to search your entire server for: exports['cd_dispatch']:GetPlayerInfo() and replace it with: exports['cd_dispatch3d']:GetPlayerInfo()

Here is a video guide.

Last updated

Was this helpful?