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.
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:
ensure cd_radar
. If you are using a framework, it must be placed anywhere below your framework resource e.g., es_extended, not above.
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.
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.
Introducing our new 'auto_detect' feature! It automatically identifies your framework and SQL database resource, and applies the appropriate default settings.
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.
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]
.
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>
.
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.
- 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.
These keys can be modified and/or disabled in the Keys and Commands section of the
[configs/config.lua]
.Key | Description |
---|---|
J | Interact with the radar’s UI. |
O | Toggle the radar lock. |
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. |
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')
🔔 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.
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
Files ChangedNot 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 oldcd_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 TypeOn 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
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.
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.
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.
Last modified 26d ago