Documentation

Resource Description

A quick overview of what the resource offers.

#Features

  • Fully-featured garage script to meet all your needs.
  • Easy to install with our minimally modified database & initialization commands for migration.
  • Premium quality. Built with optimization for high performance, exports, extensive exploitation protection, highly configurable settings & logs.
  • Garage Menu
    • Displaying all vehicles neatly with accordions. Displays nickname, model, plate and availability / status.
    • Search bar.
    • Settings to hide impounded/differently parked/taken out vehicles. Can also display performance modifications.
    • Transfer between garages for x price, manual or automatic.
    • Manage access, add or remove other individuals from having access to your vehicle.
    • Edit nickname.
    • Transfer ownership, either to individual or a profession.
    • Displays current finance situation if the vehicle is not paid off.
    • Displays reason for impound if impounded.
  • Vehicle Ownership & Access
    • VIN numbers are the stable ownership and garage identity.
    • Share garage entitlement with other players, allowing them to manage and use the vehicle.
    • Profession-based access systems such as job- or gang ranks.
    • Transfer complete ownership in the garage.
    • Permanent and fake plate changes remain separate from VIN ownership.
    • Synchronizes the real plate and garage entitlement with capable key providers.
  • Garage Builder
    • Build garages & impounds through our UI and tools from start to finish.
    • Allow jobs to create/modify/delete garages such as a real estate agent. Can only access their own garages.
    • Edit restart actions. Store/Impound/Remove Impounds for set garages, or all.
    • Manage default garages, ensuring your vehicles appear at a predictable and desired location.
    • Adjust public/profession/private garages.
    • Adjust vehicle types for specific garages.
    • Select interiors for private garages.
    • Place sections you store the vehicles.
    • Place vehicle spawn points, no more waiting for one position to be cleaned up.
    • Place spawn menus. With multiple of these for one garage, you can easily access the garage at larger parking lots.
    • Blips for individual garages.
    • Active & de-active garages easily.
  • 100% Consistent Vehicles
    • Complete consistency, ensuing all vehicles with a vin number (owned & temporary vehicles) are spawned at all times. Safe from restarts, leaving area & randomly disappearing. Unless told to explicitly not respawn, they will stay.
    • Cleanup parameters to decide what vehicle stays in a neat UI. On restart, last interacted, owned & temporary specific.
  • Vehicle Key Integration
    • Vehicle key functionality is supplied by a separate supported provider and is not bundled with Garages.
    • Select zyke_vehiclekeys or another supported key provider through zyke_lib.
    • Gives, removes, and checks plate-based keys while Garages keeps VIN and ownership authority.
    • With Vehicle Keys, persistent and stored garage vehicles appear in the key menu with GPS and summon actions.
    • Provider capabilities automatically hide controls that are not supported by the selected key system.
  • Impound System
    • Multi-job with individual settings, to allow for different tiers.
    • Price range to get your vehicle back.
    • Completely locking vehicles from being bailed out.
    • Require driver's license to take out.
    • Reason for impound.
    • Society payout.
  • Miscellaneous
    • Vehicle nicknames.
    • Built in fake-plate system.
    • /savevehicle command to instantly save vehicle changes to the database.
    • Multiple admin commands, such as /claimvehicle, /wipevehicle etc.
    • Restrict profession vehicles such as police cars to police-only garages.
    • Vehicle deformation through 3rd-party script available.
    • Personal settings through /gsettings.

#Vehicle Key Providers

Starting with Garages 2.6.0, vehicle keys are provided by a separate resource. Garages remains authoritative for VINs, ownership, garage entitlement, payments, persistent vehicles, and storage, then translates the VIN to the vehicle's real plate before calling the selected key provider.

Supported providers:

  • qb-vehiclekeys
  • qbx_vehiclekeys
  • qs-vehiclekeys
  • wasabi_carlock
  • zyke_vehiclekeys

Use vehicleKeys in zyke_lib/dependency_override.lua to select the provider. Garages requires basic give, remove, and access checks. Optional controls are enabled only when the provider advertises the matching capability.

Vehicle Keys is standalone and can run with any garage system. It offers the deepest Garages integration, including persistent menu rows, GPS, summoning, replacement-key flows, access synchronization, plate aliases, and non-destructive legacy key-state import.

#Persistent Vehicles & Cleanup Settings Guide

If you are curious as to exactly how the persistent vehicles work, and how we perform the cleanups, this is for you. To remind you, the files handling persistent vehicles are completely unlocked, you can change them and our system to work as you please.

#What Are Persistent Vehicles?

The basics is that our resource keeps track of all vehicles that have a vin number. This is an automatic process that is executed when the vehicle's statebags are changed. By tracking the vehicle's data, we can reproduce them if needed, or clean them up if they meet the requirements.

We allow you to configure our persistent vehicles to your needs. Via the garage builder, you can adjust all the settings related to our persistent vehicles.

Noteworthy mention is that setting your action to Nothing will simply skip this action for your vehicles.

Let's take a look at all the available configurations.

#General Settings

#Required Distance

The minimum required distance between all players and the vehicle to execute a cleanup action for that vehicle. This is recommended to set to 400+, since ~400 is the render distance, ensuring that vehicles are only cleaned up if they are outside of anyone's render.

#Restart

Note that this command executes on script start, this is to ensure a reliable execution of our action. Performing actions when the script is stopping can be very unpredictable.

For both vehicles you can remove them, for temporary vehicles this simply means that they no longer exist and there is nothing to it, but for owned vehicles it is handled differently. Your own vehicle will remain and considered as taken out of your garage. The only way to retrieve it is by going to the default impound, which is the top impound in your list, and purchasing it back.

The last option you have is to park your owned vehicles. This will prevent a respawn and store them in their set garage.

#Last Interaction

Last interaction counts when someone is within the configured value, this can be found in the config file, but should not be adjusted. This setting ensures that vehicles being frequently interacted with are not cleaned up, but vehicles abandoned should be.

The actions here are similar to the restart ones. For the temporary and owned vehicles, you can remove them when the set duration has elapsed. For temporary vehicles, they are simply removed, but for the owned ones, they are available at the default impound.

The last option you have is to park your owned vehicles. This will remove the vehicle and set it as parked in their set garage.

#Respawn

This is the core of our persistent vehicles. Here, you can configure if you wish for vehicles to respawn. The easiest configuration to be using with our script is to disable respawning for temporary vehicles. Our system will ensure that ALL vehicles with a vin number will respawn. This includes vehicles within quests, missions, etc, that have a vin number.

However, if you want to ensure that vehicles stay where they should, we have exports that you can utilize to ensure vehicles are removed when they should, and respawned when they shouldn't.