Legacy Garages (Open)
PackagesQBXQBESX

Legacy Garages

Frameworks

QBX, QB, ESX

Updated

21 Sept 2026

Category

Packages

Docs

Full documentation

Version

Full source included — edit and extend anything you like.

£59.99

excl. VAT

Add 3 more scripts to unlock: Buy 3 scripts, get the cheapest FREE!

What's Included

  • Instant download after purchase
  • Lifetime updates — free forever
  • Full documentation & setup guides
  • Dedicated Discord support
Garages and impound

Every car in the city, where you left it

Personal cars, business fleets, gang vehicles and the impound lot, in one resource, on QBCore, Qbox or ESX. Park a car and it is stored with its damage, fuel, modifications and plate intact. Take it out later and it comes back exactly as it was.

At the garage

Everything you own, at a glance

Every vehicle with its plate, fuel and body condition, and where it actually is. A car parked somewhere else says so, and a car sitting in the impound says that too, so nobody hunts through four garages looking for it. Search by name or plate when the list gets long.

The garage list showing vehicles with plates, fuel, mileage and location
Condition

What state the car is actually in

Open a row and it shows fuel, engine and body as three bars, so a player knows before they drive out whether the thing needs a mechanic. Drive, rename and transfer sit underneath, and a financed vehicle carries a chip on its row so the payment is never a surprise.

A vehicle row expanded to show fuel, engine and body condition with drive and transfer actions
Impound

Police take it, the owner pays to get it back

An officer impounds a vehicle with a reason and a duration, anything from a fixed number of hours to held until the fee is paid. At the depot the owner sees exactly when each car becomes collectable, so there is no guessing and no asking staff. The release fee goes to the police account rather than vanishing, which makes impounding worth doing and worth arguing about.

The impound lot showing one vehicle ready to collect and one still held until a stated time

One ready to collect, one held until the time shown

The officer's impound form with reason and duration

The form an officer fills in

Motor pool

A turntable for the job fleet

A job garage can work two ways. A fleet garage lists the vehicles the business actually owns. A motor pool spawns fresh ones from a list you define, and opens a showroom where the player turns the vehicle on a turntable, picks the livery, the extras and the colours, then takes it out ready to go.

Choosing a livery and a colour on the turntable, in game

Vehicles can be gated by job grade, so a cadet and a sergeant do not see the same list, and they can come out pre-stocked with items in the trunk and the glovebox. A saved loadout brings the same car back the same way next shift.

Extras, liveries and both colour slots are read from the vehicle itself, so a model with six liveries offers six and a model with none does not show the row at all.

The showroom panel with vehicle selection, extras, livery and colour

The panel, up close

What you need

Works on QBCore, Qbox and ESX, detected automatically. On QBCore and Qbox the vehicles come from player_vehicles and on ESX from owned_vehicles, and the installer adds the handful of columns each one has no equivalent for. It also needs ox_lib, oxmysql and legacy-lib, our shared library, which is free on our GitHub.

Two things differ on ESX, and they are worth knowing before you buy. Gang garages do nothing, because ESX has no gangs. And ESX records only a vehicle's model hash, never its spawn name, so a vehicle you have not named in Config.VehicleLabels shows that hash where QBCore would show the model.

Everything else is optional and detected while the server runs. ox_target or qb-target if you prefer targeting to an on-screen prompt. A fuel resource and a vehicle keys resource. ox_inventory for vehicle loadouts. legacy-banking so impound and transfer fees reach the business account properly.

It creates its own table on first start and adds the columns it needs to player_vehicles, so there is nothing to import. If you already run jg-advancedgarages those columns exist and nothing changes. If your host will not let the database user alter tables, turn the installer off and import the SQL by hand; the file is safe to run twice.

Documentation at docs.legacyscripts.net

Support and updates in our Discord

You Might Also Like