AW ScriptsDocs
AW Garage

Configuration

#Configuration

Everything lives in config/:

File What
config/main.lua interaction (target / marker / key), parking rules, park anywhere, money, access, transfers, impound, depot, security, admin, webhook, blips, categories
config/integrations.lua framework / target / inventory / fuel / keys / society / notify ('auto' or forced name, plus custom hooks)
config/garages.lua the garage list (ids, labels, types, categories, point, spawns, blips, job / gang, capacity, price, slots)
config/jobs.lua job and gang spawn lists (model, grade, livery, extras, colors, plate prefix, price, limit)
config/ui.lua brand, default view, page size, theme colours, preview camera, images, stats

#Garage types

type who notes
public everyone vehicles return to the garage they were taken from (Parking.allowAnyGarage to allow any)
job job (+ grade) spawn list from config/jobs.lua, vehicles deleted on store
gang gang (+ grade) same as job with the gang list
player buyer purchasable, slots, upgrades, resale, optional sharing
private owner registered by housing scripts through the export
impound everyone release impounded vehicles after paying / waiting
depot everyone recover lost / destroyed vehicles for a fee

Easiest: /garageadmin -> a garage -> Design in world and click the point, the zone corners and the parking spots in the world with a free camera.

Coordinates by hand: open /garageadmin in game → Use my position / Add spawn at my vehicle. Garages created in the panel are stored in the database and merged with the config list on start; config garages can be enabled / disabled and bought / sold but not deleted from the panel.

#Keys

  • Garage point: E by default (Config.Interact.key), players can rebind in Settings → Key Bindings → FiveM
  • Park here: F7 (Config.Keybinds.storeAnywhere)
  • Commands: /garageadmin, /garagevehicles, /impoundvehicle (police / mechanic), console aw_garage_reload, aw_garage_give <id> <model> [plate]

#Vehicle images

Optional. Put html/assets/vehicles/<spawnname>.png (or .webp) and the UI uses it; otherwise a placeholder is shown.

#Works with other scripts

  • Vehicle shops / give commands / rewards: anything that inserts a row into player_vehicles / owned_vehicles works right away, no restart and no edits in the other script.
  • Police impound (qb-policejob and similar): state, garage and depotprice written by the other script are followed.
  • qb-houses: house garages are read from houselocations / player_houses automatically (owner and key holders).
  • Other housing: call exports.aw_garage:RegisterGarage({ id, label, type = 'private', owner, members, point, spawns, persist = false }).
  • Keys / fuel / inventory / target / society: see config/integrations.lua (auto detected).