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.

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

Installation video

If you are getting stuck on any of the steps feel free to follow the video guide

Step 1 - Download

1. Download your resource from FiveM’s Portal.

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

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

ensure es_extended
ensure cd_garage

Step 2 - Fxmanifest

Depending on your framework and dependencies, you may need to make some changes inside [cd_garage/fxmanifest.lua]. We have simplified this process by commenting on the lines that you may need to modify.


Step 3 - Configure Resource

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 "commented out help text" at the end of each line to understand the purpose of each config option.

The most important sections are those under the Framework and Important categories at the top of the config.lua. Everything else is optional.


Step 4 - SQL Database

Insert Automatically?

If you set Config.AutoInsertSQL in [cd_garage/configs/config.lua] to true, the resource will automatically insert the SQL for you. You can change this to false after the SQL has been successfully inserted.


Insert Manually?

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


Step 5 - Configure Key Binds

Before starting this resource on your main/live server, we highly recommend configuring your key binds, as 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 [cd_garage/configs/config.lua].

Why Do I Need to Do This?

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 pause menu settings. 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 Default Keybinds for this resource.


Step 6 - Install Dependencies

Where Can I Find These Dependencies?

You can find the dependencies by opening the [cd_garage/dependencies] folder. Inside, you’ll find folders for each required dependency, and each folder contains a text file with a GitHub download link. Alternatively, the dependencies are listed in the table below.


Where Should I Put These Dependencies?

These resources should be placed in your resources folder like any other. However, make sure not to put them inside the cd_garage folder.


Do I Need to Add Them to the Server Start Config?

  • Required: If a dependency is listed as required, you do not need to add it to the server start config, as it will start automatically due to being a dependency of this resource.

  • Optional: If a dependency is listed as optional, then yes, you need to add it to your server.cfg.

Resource Name
Download
Details

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.


Step 7 - Vehicle Keys

Do You Use cd_garage’s Built-in Vehicle Key System?

Yes? The keys will automatically be given when you spawn a vehicle from the garage. Be sure to read the information in the #VehicleKeys, as you may need to modifications in other resources that spawn vehicles, such as vehicle shops or your framework’s /car chat command.


Do You Use a Different Vehicle Key Script?

Yes? By default, we have added compatibility with some, but not all, key resources. If your key resource isn't listed, open [cd_garage/configs/client_customise_me.lua] and locate the function named [GiveVehicleKeys]. You will need to add the event/export from your existing vehicle keys script to grant a player keys when a vehicle is spawned from the garage. (See image below.)


Do You Not Use Any Vehicle Key Script?

Then you can skip this step.

cd_garage/configs/cient_cutomise_me.lua

Step 8 - Vehicle Plate Format



COMMON ISSUES

Please check out our Troubleshooting Guide before contacting our support.

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

✔️ This is due to you having multiple time/weather sync scripts running at the same time fighting each other eg., vSync or vMenu. Stop the other time/weather script that is causing this or stop cd_easytime and remove it from the dependencies in the fxmanifest.lua of cd_garage.

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

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

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

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

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.
cd_garage_jobvehicles
✔️ Part 2: Execute this SQL query in your database.
UPDATE owned_vehicles SET impound = 0, impound_data = '' WHERE impound > 0

'L' client-side F8 Error?

eg., if you see an error in the client-side F8 console similar to this example - attempt to call a number value (field 'L') - example.

✔️ This is caused by your anti-cheat. The creator of the anti-cheat most likely has a line of code that you can to add to the [cd_garage/fxmanifest.lua]. This should whitelist this resource and fix the issue.

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.

✔️ This is because the GetFuel() and SetFuel() functions in the [configs/client_customise_me.lua] resource has not been configured for your servers vehicle fuel resource.

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.

✔️ This is because you have not made the changes to your frameworks GetVehicleProperties() and SetVehicleProperties() functions that your mechanic/customs resource requires you to do.

"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').

✔️ This happens when you spam the button on the UI to spawn a vehicle too fast, it does not break anything and can be ignored.


ERROR CODES

If you encounter an error code not listed below, please open a support ticket in the Codesign Discord for assistance.

6458145 - #Step 4 was not completed correctly. The adv_stats column is missing from the database.

468454 - #Step 4 was not completed correctly. The vehicles table is missing from the database.

46584645 - #Step 4 was not completed correctly. The impound and impound_data columns are missing from the database.

5454 - #Step 4 was not completed correctly. The cd_garage_keys table is missing from the database.

3122 - #Step 4 was not completed correctly. The cd_garage_privategarage table is missing from the database.

1975 - The vehicle shown in the server side print hasn't been added to QBCore's shared vehicle table.

0985 - The hash for a vehicle in your QBCore shared vehicle table is formatted incorrectly. It’s currently a string, but it should use backticks instead of apostrophes.

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.



CHANGELOG

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.

26/12/2020 - 21/06/2021

v3.0.0 - v3.0.7

Files Changed:

Update Type:

Changelog:

Edit

  • Updated quick menu design

  • Improved load time of quick menu

  • Major optimisation of the client side ms usage

  • Updated all of the stylings of the logs

  • If you have added jobs to a JobRestricted garage, only people with said job(s) will be able to see this blip. It will also display which jobs this location is restricted to on the blip

  • Reworked the job cars garage to use the drawtextui instead of chat commands

  • Reworked the personal owned job vehicles. To make a vehicle a personal owned job vehicle you will need to set the new column in the database 'job_personalowned' to 1. Meaning you no longer need to add all of the personal owned job vehicles to a table in the config

  • Simplified the whole job garage system in the config so it's easier to understand

  • Updated the codesign error handlers

  • Reworked the garage tax system to get the garage tax value from each car from the "vehicles" database table. (make sure to insert the new SQL)

  • Reworked the use of the "vehicles" database table. We now get the vehicle display name, vehicle price, vehicle class and the garage tax amount for each vehicle

  • Updated the impound UI to the new system of getting the vehicle labels from the database if possible so it always shows the vehicles labels instead of the spawn names

  • Moved the webhooks to a server-only file so it can not be dumped from the config

  • When impounding a vehicle, you can now choose to send the ID of the vehicle you wish to impound (so you can impound vehicles which are still on the back of tow trucks)

  • Changed the /vehicle-add command so you can not add a vehicle to the database if it is already owned by a player

  • Changed the /vehicle-delete so it does not log to discord if the vehicle is not owned by a player

Last updated

Was this helpful?