Skip to main content
What your players will do in-game.

Browsing the showroom

  1. Find a dealership blip on the map.
  2. Walk to the salesperson (or the ground marker if the lot uses one).
  3. Eye-target them, or press E if your server uses textui.
  4. The showroom opens — a list of vehicles on the left, a live 3D preview on the right.
  5. Search by name, filter by category, click a vehicle to load its preview, performance stats, and paint picker.
The category labels in the UI adapt automatically to what’s in stock — a boats-only lot says “Take it Out” instead of “Test Drive”, an air lot says “Test Flight”, etc.

Buying a vehicle

With the vehicle selected:
  • Pay by Card — debits the player’s bank.
  • Pay by Cash — debits cash.
If financing is enabled at the lot, the buttons swap to Pay in Full and Finance — see Financing below. On a successful purchase:
  1. The price (plus tax, minus any job discount) is deducted.
  2. A unique plate is generated (with Config.Purchase.PlatePrefix if set).
  3. The vehicle is written to the framework’s owned-vehicle table (owned_vehicles for ESX, player_vehicles for QB/Qbox) at the configured DefaultGarage.
  4. Keys are handed over via the configured keys script.
  5. Fuel is set to Config.Fuel.SpawnLevel.
  6. The vehicle spawns at the lot’s PurchaseCoords and the player gets in.
Any garage script that reads from the framework’s standard table picks the vehicle up automatically — no per-garage configuration needed.

Test driving

Click Test Drive (or Test Flight / Take it Out / Test Ride depending on the category) and:
  1. The vehicle spawns at the lot’s TestCoordinates.
  2. A countdown timer appears on the HUD.
  3. Damage and wanted level are suppressed for the duration.
  4. When the timer expires (or you press End test drive), the vehicle despawns and you’re teleported back to the salesperson.
There’s a cooldown between consecutive test drives (Config.TestDrive.Cooldown, default 30 seconds).

Financing

When the lot offers financing, the purchase screen lets the player pick:
  • Pay in Full — same as the regular flow.
  • Finance — pick a term (number of payments) from the list, see the per-payment cost and total with interest. A down payment of DownPaymentPercent is taken upfront and the keys are handed over immediately.
Open /financemenu (or whatever name Config.Financing.Command is set to) to:
  • See every active loan: vehicle name, remaining balance, next due time, term progress.
  • Pay Next — pay one installment early from bank or cash.
  • Pay Off — clear the entire remainder in one go.
Auto-debits fire on every Config.Financing.Interval. If the player is short:
  • LatePolicy = 'fee' — adds LateFeePercent of the installment to the remainder.
  • LatePolicy = 'accumulate' — the missed payment rolls into the next due cycle.
  • LatePolicy = 'repossess' — after RepoAfterMissed misses, the vehicle is deleted from the player’s garage (or relisted into the lot’s stock).

Selling a vehicle back

Run /sellvehicle near any dealership ped. The dealership offers Config.SellVehicle.BuybackPercent of the catalog price. Confirm and:
  1. The vehicle is removed from your owned-vehicle row.
  2. The cash hits the configured account (Config.SellVehicle.BuybackAccount).
  3. If AddToStock = true, the lot’s stock of that model goes up by 1.
Lots with OnlyOwnedDealership = true only buy back at player-owned dealerships.

Multiple lots, one experience

You can browse, finance, test-drive, and sell at any lot that allows you in. Job-gated and item-gated lots will silently skip the interaction if you don’t qualify — there’s no “you may not buy here” toast cluttering the UI.