Skip to main content
All static locations live in config/garages.lua. Every garage and impound name must be unique across all sections.
You can also create and edit garages entirely in-game with /garagesadmin — no config editing or restart required.

Entry fields

Each location supports:
FieldTypePurpose
coordsvector3Interaction point
spawnvector4 or { vector4, ... }Vehicle spawn point(s) — with a list, the first free one is used
distancenumberInteraction radius
type"car" | "air" | "sea"Vehicle category the garage accepts
vehicleClasses{ "D", "C" }Optional speed tiers; omit to allow all classes
job / gang{ "name", ... }Restrict to jobs or gangs (job, gang and impound garages)
blip{ id, color, scale }Map blip; omit to use the section default
hideBlipbooleanHide this garage’s blip
markers / hideMarkerstable / booleanGround marker style
maxVehicles / storeFeenumberPer-garage capacity and parking fee (see config/features.lua)

Public garages

Nex.Config.PublicGarages ships with car garages across the map plus boat and air garages. Section-level toggles:
  • uniqueLocations — vehicles are only retrievable from the garage they’re parked at (turn off for “any garage” retrieval)
  • interiors — enables the walk-in showroom (“Go inside”)
  • showBlips / uniqueBlips — blip visibility and naming
If you rename the default Legion Square garage, also change the garage_id default in your vehicles table — stored vehicles reference garages by name.

Job garages

Job garages come in two flavours, set per location with vehiclesType:
  • "owned" — members store and retrieve their own vehicles here (a personal garage gated by job)
  • "spawner" — a fleet menu that spawns fresh vehicles from a configured list
Spawner entries support:
vehicles = {
  [1] = {
    model = "police",     -- spawn code
    plate = "PD",         -- plate prefix; false = fully random
    minJobGrade = 0,      -- rank lock
    nickname = "Police car",
    livery = 1,
    extras = { 1, 2 },
    maxMods = true,       -- max engine/brakes/transmission/suspension/armor + turbo
  },
}
Set showLiveriesExtrasMenu = true on the location to let players pick a livery and extras before spawning.
Plate prefixes generate random suffixes — never configure a prefix that could collide with plates already in your database.

Gang garages

Nex.Config.GangGarages works like job garages but gates by gang. Gangs resolve automatically on QBCore/Qbox; on ESX, wire your gang system into bridge/client.lua + bridge/server.lua and set customESXIntegration = true.

Garage interiors

Nex.Config.Interior configures the walk-in showroom: the IPL shell, the entrance, a short entry cutscene, and up to eleven display positions filled with the vehicles parked at that garage. Disable interiors per section (interiors = false) if you don’t want them.