Vehicle Scripts

ds-advancedgarage

qbcoreesxqboxstandalone
$40.00
Instant DeliveryAccess immediately after purchase
Secure PaymentProtected by Tebex & Cfx.re
Lifetime UpdatesFree updates via Keymaster

Support & Community

Support is provided via Discord after purchase.

Join Discord
← Back

Requirements

  • QBCore / Qbox / ESX
  • OneSync Infinity
  • Server v7290 or newer
  • oxmysql
ds-advancedgarage

Overview

# DS Advanced Garage 2.0 Huge Update!!!

A full-featured garage resource for FiveM: store and retrieve vehicles at configurable locations, impound, private and house garages, vehicle transfer, optional **walk-in interiors (showroom)**, **parking meters**, and support for **QB-Core**, **Qbox**, **ESX**, and **standalone**. Current resource version: **2.0** (see [CHANGELOG.md](CHANGELOG.md) for release notes).

## Features

- **Multiple frameworks** — QB-Core, Qbox, ESX, or standalone (auto-detect)

- **Garage locations** — Public, job, gang, impound; NPC or marker interaction (E key, ox_target, or qb-target)

- **Impound** — Police can impound vehicles; owners pay a fee at impound lots to release

- **Private garages** — Owner-only garages (e.g. real estate); optional interiors and **billing** (buyer accept/deny offers)

- **House garages** — Preset/buyable house garage slots, maker command for coords export, owner tracking (framework SQL)

- **Walk-in garage interiors** — Showroom-style interiors from the garage UI; optional **music playlist**, **stash** (many inventories), **paid stash upgrades**, **player invites**, floating NUI labels over vehicles

- **Parking meters** — Paid timed parking at configured props (`ParkingConfig` in `shared/parkingconfig.lua`)

- **Job vehicle spawner** — Helper for job fleet workflows (see config / locations)

- **Vehicle transfer** — Move stored vehicles between garages (optional fee)

- **Shared garages** — Take any stored vehicle from any garage, or restrict by storage location

- **Integrations** — Fuel, keys, banking, gangs; notifications: default framework, builtin toasts, **ds-notifications**, ox_lib, okokNotify, ps-ui

- **Locales** — en, de, es, fr, it, pt, nl, pl, ru, tr

## Dependencies

- **ox_lib** (required — `shared_scripts` includes `@ox_lib/init.lua`)

- **oxmysql** (required, server)

- **PolyZone** (required, client) — garage zones

Your framework (QB-Core, Qbox, or ESX) and optional integrations (fuel, keys, banking, **inventory for interior stash**) as configured in `shared/config.lua`.

## Installation

1. **Dependencies**

Ensure **ox_lib**, **oxmysql**, and **PolyZone** are installed and start **before** this resource.

2. **Database — framework base**

Run the SQL for your stack under `sql//`:

- **QB-Core:** `sql/qb/player_vehicles.sql` (plus impound extras in that folder if you use impound)

- **Qbox:** `sql/qbox/player_vehicles.sql` (and impound extras if needed)

- **ESX:** `sql/esx/owned_vehicles.sql`, `sql/esx/dsag_impounds.sql`, and other files in `sql/esx/` as needed

3. **Database — DS Advanced Garage tables**

- **Private garages:** `sql/qb/dsag_private_garages.sql`, `sql/qbox/dsag_private_garages.sql`, or `sql/esx/dsag_private_garages.sql` (pick one matching your framework).

- **House garage owners** (buyable/preset house garages): `sql/qb/dsag_house_garage_owners.sql`, `sql/qbox/dsag_house_garage_owners.sql`, or `sql/esx/dsag_house_garage_owners.sql`.

4. **Database — migrations (`sql/migrations/`)**

Run only what you enable; typical files:

- `dsag_private_garages_add_interior_key.sql` / `dsag_private_garages_add_interior_props.sql` — private garage showroom columns

- `dsag_interior_stash.sql` — interior stash upgrades

- `dsag_showroom_music_playlist.sql` — showroom music persistence

- `dsag_vehicle_nicknames.sql` — optional vehicle nicknames

- `dsag_house_garage_allowed.sql` — house garage allow-list support

5. **Configure**

Edit **`shared/config.lua`**, **`shared/parkingconfig.lua`**, **`shared/locations/locations_config.lua`**, and **`shared/locations/garagespropsconfig.lua`** (interior props) for your server.

6. **Start**

Add `ensure ds-advancedgarage` (or your folder name) after dependencies and your framework.

Upgrading from an older bundle: see **[CHANGELOG.md](CHANGELOG.md)** (section for 2.0).

## Configuration overview

### Main config (`shared/config.lua`)

| Option | Description |

|--------|-------------|

| `Config.Framework` | `'auto'`, `'qbcore'`, `'qbox'`, `'esx'`, or `'standalone'` |

| `Config.Locale` | Language code (see Features list) |

| `Config.Notifications` | `'default'`, `'builtin'`, `'ds-notifications'` , `'okokNotify'`, `'ox_lib'`, `'ps-ui'` |

| `Config.BuiltinNotify.duration` | Toast time in ms when using `builtin` |

| `Config.FuelSystem` | Your fuel script or `'none'` |

| `Config.VehicleKeys` | Keys script or `'none'` |

| `Config.Banking` | Banking resource for fees / impound |

| `Config.Garagesresources` | Alias name (e.g. `'qb-garages'`) so other scripts call this resource |

| `Config.SaveVehiclePropsOnInsert` | First sync can write mods when DB row has empty mods |

| `Config.CheckVehicleModel` | Extra check that spawned model matches stored vehicle |

### Garage NPC (`Config.GarageNPC`)

- **enabled** — Uses spots in `shared/locations/locations_config.lua`

- **useNPC** — Ped vs marker-only

- **interaction** — `'e'`, `'ox_target'`, `'qb-target'`, `'auto'`

- **distance**, **key**, **marker** — Interaction range and marker look; marker **drawDistance** also clamps private interior decorator range

### Garages and locations

- **`shared/locations/locations_config.lua`** — Location coords + garage keys; **`Config.Garages`** for spawn points, blips, type, categories.

- Each location references a key defined in `Config.Garages` (e.g. `legionsquare`, `impounda`).

### Walk-in interiors / showroom

- **`Config.GarageEnableInteriors`**, **`Config.GarageInteriorAccess`** — `'both'` | `'nui'` | `'command'` | `'none'` (command default documented in config).

- **`Config.GarageInteriorShowroomVehicleUi`** — Floating labels near vehicles in showroom.

- **`Config.GarageInteriorStash`** — Stash in showroom; set **inventory** or `'auto'` and run **`sql/migrations/dsag_interior_stash.sql`** if you use upgrades.

- **`Config.GarageInteriorUpgrades`** — Paid stash tiers / rename (NUI).

- **`Config.GarageInteriorInvite`** — Invite another player into your session showroom.

- Interior definitions live in config / `shared/locations` as documented next to **`Config.GarageInteriors`** in `shared/config.lua`.

### Parking meters (`shared/parkingconfig.lua`)

- **`ParkingConfig.Enabled`** — Toggle system.

- **Prices, account type, timer**, prop hashes, and optional override keys for 1h / 10h actions.

### Impound

- **`Config.UseImpound`**, **`Config.Impound`** — Jobs, impound garage keys, fees.

- Run the impound-related SQL for your framework from `sql//`.

### Private garages

- **`Config.PrivGarageCreateCommand`**, **`Config.PrivGarageCreateJobRestriction`**, **`Config.PrivGarageBlip`**

- **`Config.PrivGarageEnableInteriors`**, **`Config.PrivGarageBilling`** — Interiors and paid offers to buyers

- Framework file: **`sql//dsag_private_garages.sql`** plus migrations if you use interiors.

### House garages

- **`Config.HouseGarageCreateCommand`** / **`Config.HouseGarageCreateJobRestriction`** — Maker command (exports snippet for your houses config).

- **`Config.HouseGaragePurchase`** — Buyable house garage flow; requires owner SQL for your framework.

- Data helper: **`housegaragesdata/housegarages.txt`** (see config comments).

### Other options

- **Config.AutoRespawn**, **Config.VisuallyDamageCars**, **Config.SharedGarages**, **Config.ClassSystem**, **Config.Warp**, **Config.AllowSpawnWhenOccupied**

- **Config.TransferToGarageFee**, **Config.ShowVehiclesOutCount**, **Config.ShowWaypointToNearestGarage**

- **Config.ShowWatermark** / **Config.ShowBrand** — UI toggles

- **Admin-style commands** (ACE `dsag.admin` or `group.admin`): names in config for job/gang garage vehicles, plate change, DB delete, vehicle return (see `shared/config.lua`)

## Commands / usage

- **Garage** — Interact at a garage NPC or marker (or target) to open the UI; store the current vehicle or retrieve a stored one.

- **Transfer** — From the garage UI, transfer a vehicle to another garage (fee from config).

- **Impound** — Jobs in **`Config.Impound.jobs`** use the impound command (e.g. `/impound`) at a vehicle; owner pays at the configured impound garage.

- **Private garage** — Command from **`Config.PrivGarageCreateCommand`** (e.g. `/privategarage`) if your job is allowed; manage access from the UI.

- **House garage maker** — Command from **`Config.HouseGarageCreateCommand`** (e.g. `/createhousegarage`) for authorized jobs; paste exported data into your house garage config and restart as documented in config.

- **Showroom / interior** — Access mode from **`Config.GarageInteriorAccess`** (NUI button and/or command such as `/garageinterior` when enabled in config).

More vehicle scripts

ds-tractioncontrol

Vehicle Scripts

ds-tractioncontrol

$30.99
ds-dynocreator

Vehicle Scripts

ds-dynocreator

$30.99
ds-rollcoal

Vehicle Scripts

ds-rollcoalBest Seller

$30.99