> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexdev.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Player usage

> What your players will do in-game.

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](#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.
