Skip to content

Retro Garage

Split across multiple files:

  • config/config.lua - main settings
  • config/garages.lua - garage list loader
  • config/garages/*.lua - per-category garage definitions
  • Config.Framework = 'auto' - or 'qbcore', 'qbox', 'esx'
  • Config.Locale = 'en'
  • Config.UseTarget = false - true for target system, false for markers
  • Config.UseNPC = false - spawn NPCs at garages or use markers
  • Config.SpawnDistance = 5.0
  • Config.MaxOwnedVehicles = 10 - 0 for unlimited
  • Config.StoreZoneRadius = 10.0
  • Config.WarpIntoVehicle = false
  • Config.DistanceUnit = 'km'

Config.VehicleImageSource - URL pattern, %s is replaced with model name.

Config.FuelResource = 'LegacyFuel'

Supports: ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, okokGasStation, jg-fuel, lb-fuel, ti_fuel, Renewed-Fuel, x-fuel, nd_fuel, myFuel. Set to false to disable.

  • Config.ImpoundPrice = 500 - base fee
  • Config.ImpoundPricePerHour = 50
  • Config.ImpoundMaxFee = 5000
  • Config.ImpoundJobs = { 'police' }
Config.ImpoundDurations = {
{ label = 'Indefinite', value = 0 },
{ label = '1 Hour', value = 3600 },
{ label = '24 Hours', value = 86400 },
{ label = '7 Days', value = 604800 },
}

Flatbed tow animation runs when impounding:

Config.ImpoundFlatbed = {
enabled = true,
flatbedModel = 'flatbed',
npcModel = 's_m_y_xmech_02_mp',
spawnDistance = 30.0,
driveSpeed = 12.0,
animDuration = 6000,
despawnDistance = 80.0,
}
  • Config.AllowTransfer = true
  • Config.AllowKeySharing = true
  • Config.MaxSharedKeys = 5
  • Config.AllowInterGarageTransfer = true
  • Config.InterGarageTransferPrice = 500
  • Config.InteractionDistance = 3.0
Config.Marker = {
type = 21,
scale = vec3(0.6, 0.6, 0.5),
color = { r = 31, g = 94, b = 255, a = 200 },
bobUpAndDown = true,
rotate = true,
}

Players with authorized jobs can create their own garages:

Config.PrivateGarages = {
enabled = true,
maxPerPlayer = 3,
createJobs = { 'police', 'realestate' },
npcModel = 's_m_y_valet_01',
blip = { sprite = 357, color = 5, scale = 0.7 },
}

Three-level system. Each level is routing bucket isolated. Players enter, view placed vehicles, and drive out.

Config.GarageInterior = {
enabled = true,
defaultLevel = 1,
driveOutRadius = 5.0,
levels = {
[1] = { label = 'Standard Garage', maxVehicles = 4, price = 0 },
[2] = { label = 'Premium Garage', maxVehicles = 8, price = 150000 },
[3] = { label = 'Executive Garage', maxVehicles = 12, price = 500000 },
},
}

Upgrade cost is the difference between levels. Downgrade refunds 50%.

Files in config/garages/:

FileTypeCount
public_garages.luaPublic16
depot_garages.luaImpound1
gang_garages.luaGang4
job_garages.luaJob1
air_garages.luaAir5
sea_garages.luaSea4
rig_garages.luaBig Rig6

Entry structure:

{
id = 'motelgarage',
label = 'Motel',
type = 'public',
job = nil,
isImpound = false,
blip = { enabled = true, sprite = 357, color = 3, scale = 0.7 },
spawn = { vector4(...), ... },
npc = { enabled = true, model = 's_m_y_valet_01', coords = vector4(...) },
vehicleTypes = { 'car', 'bike' },
}
Config.ExternalUIToggle = {
{ resource = 'nc-hud', export = 'toggleHud' },
}