Garage
A step-by-step installation guide, common issues and solutions, code snippets, error codes, config previews, locales previews, SQL previews, and changelogs—all in one easily accessible place.
Last updated
Was this helpful?
A step-by-step installation guide, common issues and solutions, code snippets, error codes, config previews, locales previews, SQL previews, and changelogs—all in one easily accessible place.
Last updated
Was this helpful?
This resource can be purchased as part of a bundle for a discount .
cd_garageshell
cd_garage/dependancies
REQUIRED for the inside garage shell.
cd_drawtextui
REQUIRED by default but can be replaced.
cd_easytime
OPTIONAL is used by default for syncing the time inside the garage shell but can be replaced.
cd_keymaster
OPTIONAL is used by default for vehicle lockpicking if enabled but can be replaced/removed.
PLEASE READ CAREFULLY!
You must complete this step correctly. You must read the information below and confirm your server's plate format.
Please read all 3 options below carefully before confirming which one you use.
Please note that you NEED to use the plate format your server already uses; changing them just because you like the benefits can cause script-breaking issues.
What is vehicle plate formats?Your vehicle shop/car dealer is the script that usually decides what plate format owned vehicles will use on your server. So you need to configure the
Config.PlateFormats
in the [configs/config.lua] file to what plate format your server uses. We have added compatibility with all 3 known plate formats.
Short Explanation
What do you mean by "trimmed" plate format?
Example of what the "trimmed" plate looks like in the DATABASE.
Example of what the "trimmed" plate looks like IN-GAME.
Then you need to set the Config.PlateFormats
in the config.lua
to 'trimmed'
.
🔔 Folder Name Make sure the name of the folder is cd_garage
.
🔔 Encrypted Files Do not edit the encrypted files in any way.
Screen Flickering?
eg., if your screen is flickering while using cd_easytime.
SQL Default Value?
eg., if you see an error similar to this example when inserting an SQL query into your database -
“BLOB/TEXT column 'adv_stats' can't have a default value”
.
SQL Unknown Column?
eg., if you see an SQL error in the server console similar to this example -
ER_BAD_FIELD_ERROR: Unknown colum 'job_personalspawn' in 'where clause'
.
Is the impound Not Opening?
eg., if you see a thin line on screen where the impound UI should be and you see a client F8 print saying "toLowerCase".
✔️ Part 1: Use this chat command in your server console before any player joins.✔️ Part 2: Execute this SQL query in your database.
'L' client-side F8 Error?
Fuel Not Saving Correctly?
eg., if your vehicles fuel is not saving when you store a vehicle or not applying when spawning a vehicle in the garage.
RGB Colours Not Saving Correctly?
eg., if your vehicles RGB colours are not saving when you store a vehicle or not applying when spawning a vehicle in the garage.
"ExitLocation" client-side F8 error?
eg., if you see an error in the client-side F8 console similar to this example -
attempt to call a nil value (field 'ExitLocation')
.
1975 - The vehicle shown in the server side print hasn't been added to QBCore's shared vehicle table.
5111 - This warning appears when Config.UseExploitProtection
is disabled. It likely means the model
variable in the vehicle/mods
column is missing for a player's vehicle. This could be caused by a faulty vehicle shop or, less commonly, a player using a cheat engine. To fix it, delete the vehicle or manually add the plate in the JSON file.
Files Changed
Not every update requires replacing the entire folder, as we understand it’s a hassle to redo configs for each update.
All Files: Delete the old cd_garage
folder, download the latest version, reconfigure the configs folder, and restart your server.
All Files Except config.lua: Follow the steps above, but first back up your existing config.lua
file. After downloading, replace the new config.lua
with your backup.
Specific Files: Simply copy and paste the specific updated files over the old ones, then restart your server.
Update Type
Occasionally, updates are mandatory due to changes like authentication updates, which make older versions obsolete.
Mandatory - You must update to the latest version; older versions will stop working.
Optional - Updating is your choice, but we don’t support outdated versions.
Skipping Updates
If you’ve skipped previous updates, it’s best to update all files to ensure compatibility. For example, if you're on v4.0.1, skipped v4.0.2, and now want to update to v4.0.3, use the "All Files" method for safety.
v3.0.0 - v3.0.7
Files Changed:
Update Type:
Changelog:
Add
Added search option to quick and impound menu
Vehicles can now be searched by name, location, plate or manufacturer
Added option to allow multiple jobs to use the JobRestricted garages
Added a staff command to change the plate of the vehicle you are in. This will allow custom plates to be used
Added logs for the vehicle management commands
Added a new function called SetFuel(), (just under the GetFuel() function) to the client_customise_me which will make adding compatibility with fuel scripts much easier. The read me has also been updated
Added a check for the /vehicle-plate command to make sure you can not change a plate to one that already exists
Added the vehicle labels to the transfer vehicle webhooks (ONLY when used from the chat command)
Added the ability to rename all esx events such as the setjob and playerloaded events
When using the regular job garage we added the ability to restrict cars to certain job grades
Added the ability to have dedicated car/air/boat garages for job garages. This will work with all 3 types of job garages
Added an event that you can trigger after a player purchases a vehicle and it will update the garage_type in the database
Added an event that you can trigger after purchasing a job vehicle and it will set the vehicle as a job owned vehicle (you can choose if you want this vehicle to be personal owned or society owned)
Added full locales to the discord logs so you no longer need to redo them every time the file is updated
Fix
Fixed spawn bug with long vehicle loading times
Fixed a bug with the adv_stats on some vehicles in the database sometimes being set to false
The drawtextui now closes when the pause menu is open and reopens when you close it
Fixed a bug with the impound where it always showed the car being in the city impound even tho it could have been in other impounds
Fixed return vehicle not showing
Fixed unimpounding vehicle bug when Config.AnyoneCanImpound is enabled
Fixed /impound UI showing 'undefined'
Fixed a potential bug with pressing H (when you have no cars in garage) and then pressing E straight after
Fixed an issue with the cooldown on using the garage not working correctly
Fixed submarines not being recognised as boats
Fixed the job garages showing the ’Garage A’ on the UI as it should say ‘Job Garage’
Fixed a bug causing owned job garages to not function correctly
Fixed the regular job vehicles not displaying the vehicles label from the database
Fixed an issue with searching plates when using the impound UI
Fixed not being able to search for plates on the quick vehicle UI when caps lock is enabled
Temporary fix for the canary issue until the new Tebex FiveM license system is ready to launch, when this is released we will be fully switching over to the new system
Authentication
Authentication update
1. Download your resource from .
Depending on your framework and dependencies, you may need to make some changes inside [cd_garage/fxmanifest.lua]
. We have simplified this process by on the lines that you may need to modify.
You must read all configurable options inside [cd_garage/configs/config.lua]
and adjust them to fit your server's needs. Please pay attention to the at the end of each line to understand the purpose of each config option.
The most important sections are those under the and categories at the top of the config.lua
. Everything else is optional.
Alternatively, if you prefer to insert the SQL queries manually, you can find them .
Before starting this resource on your main/live server, we highly recommend configuring your key binds, as this resource uses .
You can configure key binds in the section near the bottom of [cd_garage/configs/config.lua]
.
In short, once a player joins your server with this resource running, you can no longer force changes to their key binds through the config.lua
. Only the players themselves can modify their key binds in the in-game . However, changes you make will apply to other players who join after the update.
The benefit of this system is that it is much more optimized, allowing players to easily customize their key binds for both keyboards and controllers. You can also check out the for this resource.
Yes? The keys will automatically be given when you spawn a vehicle from the garage. Be sure to read the information in the , as you may need to modifications in other resources that spawn vehicles, such as vehicle shops or your framework’s /car chat command.
By default, every vehicle's plate in FiveM is . So for example if your vehicle shop forces the plate to be , when you use the FiveM native to get a vehicle's plate GetVehicleNumberPlateText(vehicle)
, this will return a even though the plate is 4 characters long on your vehicle in-game (ABCD); because FiveM will add until the plate is 8 characters long including whitespaces.
By "trimmed", we mean your vehicle shop removes all spaces and from the default 8-character plate.
By "with spaces", we mean your vehicle shop does not modify the plate, so all plates will be 8 characters long no matter how many letters or numbers are in the plate because it will include to make the length 8.
By "mixed", we mean your vehicle shop will remove any at the start and the end of the plate, but it will not remove spaces in the centre of the plate. You should only be using this option if you use Qbcore or esx_vehicleshop.
Please check out our before contacting our support.
eg., if you see an error in the client-side F8 console similar to this example - attempt to call a number value (field 'L')
- .
If you encounter an error code not listed below, please open a support ticket in the for assistance.
6458145 - was not completed correctly. The adv_stats
column is missing from the database.
468454 - was not completed correctly. The vehicles
table is missing from the database.
46584645 - was not completed correctly. The impound
and impound_data
columns are missing from the database.
5454 - was not completed correctly. The cd_garage_keys
table is missing from the database.
3122 - was not completed correctly. The cd_garage_privategarage
table is missing from the database.
0985 - The hash for in your QBCore shared vehicle table is . It’s currently a string, but it should use instead of .
Added compatibility with qb-phone .