Links
Comment on page

Radar

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
This resource can be purchased as part of a bundle for a discount here.

Translate

INSTALLATION GUIDE

Step 0 - First Steps

1. Download your resource from FiveM’s Keymaster.
2. Unzip the cd_radar.zip folder and place this folder in your server's resource folder.
3. Add the resource to your server start config (server.cfg): ensure cd_radar. If you are using a framework, it must be placed anywhere below your framework resource e.g., es_extended, not above.
ensure es_extended
ensure cd_radar

Step 1 - Fxmanifest

Depending on your framework and dependencies, you may need to make some changes inside the [cd_radar/fxmanifest.lua]. We have made this easier by commenting on the lines you possibly need to change.

Step 2 - Configure Resource

You MUST read all configurable options inside the [cd_radar/configs/config.lua] file and configure them to suit your server's needs. Please read the ”commented out help text” at the end of each line so you can understand what each config option does.
The most important sections are the options under the Framework and Important sections at the top of the config.lua. Everything else is optional.
Introducing our new 'auto_detect' feature! It automatically identifies your framework and SQL database resource, and applies the appropriate default settings.

Step 3 - Configure Key Binds

Before starting this resource on your main/live server, we highly advise configuring your key binds because this resource uses Fivem's Key Mapping.
Where can I configure my key binds?
You can configure key binds in the Keys and Commands section near the bottom of the [cd_radar/configs/config.lua].
Why do I need to do this?
Well long story short;- once a player has joined your server with this resource running you can no longer force change their key binds for this resource through the config.lua, only they can change it in the in-game pause menu settings. Although it will change for the players who join after you have changed it.
The benefit of this system is that it's much more optimised and players can easily change their key binds on keyboards or controllers. You can also check out the Default Keybinds for this resource.

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].

Vehicles Data

What is Vehicles Data used for?
When using ESX or QBCore we take information that most servers will already have stored to get the vehicles to display names of custom vehicles.
ESX
QBCore
Standalone
Other
On ESX we will grab the vehicle's display names from the "vehicles" database table as this is very common in esx servers.
Multiple "vehicles" database tables
We were informed that some servers use multiple "vehicles" database tables for donator vehicles, emergency vehicles etc. So all you need to do is add the names of these database tables into the Config.VehiclesData.VehicleDatabase_TableNames in the config,lua.
On QBCore we will grab the vehicle's display names from the qb-core/shared.lua/QBShared.Vehicles as this is very common in QBCore servers.
If Config.VehiclesData is disabled, the script will get the vehicle's display names from the vehicle handling files vehicles.meta. Example: <gameName>Adder</gameName>.
If Config.VehiclesData is disabled, the script will get the vehicle's display names from the vehicle handling files vehicles.meta. Example: <gameName>Adder</gameName>.

Adding/Removing BOLOs & Markers from other resources

Why do I need this?
This is optional, but it is possible to add BOLOs and Markers from other resources, such as MDTs or police resources.
Adding BOLOs & Markers
Removing BOLOs & Markers
client-side to server-side
server-side to server-side
This is a template.
TriggerServerEvent('cd_radar:RadarDatabase_ADD', {
plate = CHANGE_ME,
model = CHANGE_ME,
colour = CHANGE_ME,
reason = CHANGE_ME,
type = CHANGE_ME,
name = nil,
notes = nil,
date = nil,
})
This is an example of how this can be formatted.
TriggerServerEvent('cd_radar:RadarDatabase_ADD', {
plate = 'CODESIGN',
model = 'Adder',
colour = 'Blue',
reason = 'Drugs',
type = 'bolo',
name = nil,
notes = 'Pablo Escobar wannabe (selling drugs)',
date = nil,
})
When triggering the event from client-side to server-side, the player triggering the event must have an authorised job.
This is a template.
TriggerEvent('cd_radar:RadarDatabase_ADD', {
plate = CHANGE_ME,
model = CHANGE_ME,
colour = CHANGE_ME,
reason = CHANGE_ME,
type = CHANGE_ME,
name = nil,
notes = nil,
date = nil,
})
This is an example of how this can be formatted.
TriggerEvent('cd_radar:RadarDatabase_ADD', {
plate = 'CODESIGN',
model = 'Adder',
colour = 'Blue',
reason = 'Drugs',
type = 'bolo',
name = nil,
notes = 'Pablo Escobar wannabe (selling drugs)',
date = nil,
})
When triggering the event from the server-side to server-side, cd_radar can not get a character's name as the source will not be defined.

What does each of the variables above mean?

  • plate: The vehicle's plate (string).
  • model: The vehicle's display name (string).
  • colour: The vehicle's colour (string).
  • reason: The reason must match one of the reasons in the "reasonList" in the [configs/config_ui.js] (string).
  • type: Choose between "bolo" or "marker" (string).
  • name: [OPTIONAL] The character's name (string).
    • If left as nil then cd_radar auto-fill this for you.
  • notes: [OPTIONAL] Notes left by the officer who issued the bolo/marker (string).
  • date: [OPTIONAL] The time this bolo/marker was issued (string).
    • If left as nil then cd_radar auto-fill this for you.
client-side to server-side
server-side to server-side
The vehicles plate must be defined in the 1st argument.
TriggerServerEvent('cd_radar:RadarDatabase_REMOVE', plate)
When triggering the event from client-side to server-side, the player triggering the event must have an authorised job.
The vehicles plate must be defined in the 1st argument.
TriggerEvent('cd_radar:RadarDatabase_REMOVE', plate)
When triggering the event from the server-side to server-side, cd_radar can not get a character's name as the source will not be defined.

INFORMATION

Default Key Binds

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
J
Interact with the radar’s UI.
O
Toggle the radar lock.

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
/radarsettings
Interact with the radar’s UI.
/radartoggle
Toggle the radar UI visibility.
/radarlock
Toggle the radar lock.

Events

These events are completely optional; you can use them if needed.
client-side to client-side
Interact With Radar
Interact With Radar UI with your mouse.
TriggerEvent('cd_radar:ToggleRadar')
Toggle Radar
Toggle the radar UI visibility.
TriggerEvent('cd_radar:ToggleRadar')
Show Radar
Show the radar UI.
TriggerEvent('cd_radar:ShowRadar')
Hide Radar
Hide the radar UI.
TriggerEvent('cd_radar:HideRadar')
Toggle Radar Lock
Toggle the radar lock.
TriggerEvent('cd_radar:ToggleRadarLock')

COMMON ISSUES

Please check out our Troubleshooting Guide before contacting our support.
🔔 Folder Name Make sure the name of the folder is cd_radar.
🔔 Encrypted Files Do not edit the encrypted files in any way.
Radar Ignores Emergency Vehicles?
eg., if your radar is ignoring emergency vehicles.
✔️ This is normal; by design we have made it so the radar ignores emergency vehicles; as during police chases this could get really annoying. So please be aware of this if testing the resource out emergency vehicles aren't being seen by the speed limit radar.
Radar Locking Below The Limit You Set?
eg., if you have your radar to lock vehicles at 70mph but they are locking at 30mph.
✔️ This is because you have not set the limit for all 4 cameras. Each camera has its own individual speed limit for locking vehicles. Set them all to the new limit individually.
Radar Not Visible But I Have The Correct Job/perms?
eg., if you are confident you have the correct job/perms, but the radar still isn’t visible when in a vehicle.
✔️ This is because the radar is set to only be visible when you are in an emergancy vehicle. To test this theory, spawn in a default gta police car (/car police), then it should work. If a default gta police car works, but your custom police car does not, then the vehicle class for your custom car is not set as an emergancy vehicle (VC_EMERGENCY) in the vehicles.meta.

ERROR CODES

If you see an error code not listed below please open a script support ticket in the Codesign Discord.
Server
Client
468454 - You do not have the vehicles database table, so you need to disable Config.VehiclesData by setting the ENABLE option to false.
3364 - When triggering the cd_radar:RadarDatabase_REMOVE server event to remove bolos/markers, you need to send a table, but you are not.
8800 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, you need to send a table, but you are not.
8801 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the plate variable is not a string or is nil.
8802 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the model variable is not a string or is nil.
8803 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the colour variable is not a string or is nil.
8804 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the reason variable is not a string or is nil.
8805 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the type variable is not a string or is nil.
8806 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the reason variable is not defined in the config_ui.js's reasonList table. The strings must be an exact match (case sensitive).
8807 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the plate variable is either more than 8 characters or is an empty string.
8808 - When triggering the cd_radar:RadarDatabase_ADD server event to add bolos/markers, the type variable can only be either bolo or marker, but you are sending something different.
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 make a backup of the JSON Files folder, delete your old cd_radar folder, download and add in the latest version, replace the new JSON Files folder with the one you made a backup of, configure 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.
PLEASE READ! (JSON files)
When updating a resource that uses JSON files as a database as this one does, DO NOT delete/replace the files/folders inside the JSON files folder, as this will overwrite your saved database.
Skipping Updates
If you are attempting to update to the latest version but have skipped previous updates, you should update all files just to be safe. For example., let's say you are currently on v4.0.1, you did not update when v4.0.2 was released, and now v4.0.3 is released, and you want to update; you should always use the “All Files” update method.
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.0.5

18/06/2022

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
STATUS
  • Development Stage: COMPLETE
  • Alpha Test Stage: COMPLETE
  • Beta Test Stage: COMPLETE

15/08/2022

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
Add
  • Added configurable debug prints.
Edit
  • Cleaned up some of the unused/unneeded code.
Fix
  • Fixed an issue with the standalone perms checks.

06/02/2023

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
YOUR RADAR DATABASE WILL BE DELETED IF YOU DON'T READ THIS.
Copy all of the data inside the [radar_database.txt] file and paste them inside the [JSON Files/radar_database.json] file.
Add
  • Added Config.UseFrameworkDutySystem so you can choose whether you want to use your framework's built-in duty system.
Edit
  • Updated the debug prints.
  • The remove bolo/marker event now only requires the plate to be sent instead of the whole table.
  • Removed the SQL query to get a character name on esx and replaced it with the ESX getName function.
Fix
  • Fixed the radar database not being synced when switching jobs.
  • Added an auto fix for the QB-shared vehicle misconfigured files.
  • Fixed some locales on the UI.

09/02/2023

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
Add
  • Auto Framework Detection - We have added a new feature we are calling 'auto_detect', which will automatically identify your framework resource and framework notifications and apply the appropriate default settings.
  • Multiple Choice Permissions Access: With this new feature, you are no longer forced to choose 1 way of adding permissions, you can use multiple all at the same time. You can choose from the framework's job, discord roles, ace perms and identifiers all at the same time!
Fix
  • Fixed the errors when removing a bolo/marker.
  • Fixed the errors with owner check.

15/02/2023

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
Add
  • Added pre-configured cd_dispatch integrations.
Fix
  • Fixed some minor issues with the discord webhook.

03/05/2023

Files Changed:
  • All Files
  • All Files Except config.lua
  • Specific Files
Update Type:
  • Mandatory
  • Optional
Changelog:
Add
  • Added Turkish locales thanks to Lumisaphy.
  • Added pre-configured notification events/exports for some notification scripts that are auto-set by the auto_detect.
  • Added "Config.ClearDatabaseOnRestart" config option to delete the BOLO/marker database on script start.
Edit
  • Optimised the events and data that sync the radar's database.
  • Error codes will now tell you which script the errors came from for easier debugging.
  • Removed unnecessary script start prints.
Fix
  • Fixed the radar database not sometimes syncing when joining the server off-duty and then going on duty on QBCore.