# Usage & Gameplay

## Flow

{% stepper %}
{% step %}

### Approach a vehicle

If the vehicle is within distance ≤ `Config.Lockpick.MinDistance`, press **E** to attempt coding/lockpick.
{% endstep %}

{% step %}

### Server checks

Server validates the player's job and inventory (must have a `lockpick`). If allowed, the client starts the **Vehicle Coding** minigame via:

`exports['cardecode']:StartVehicleCoding(...)`
{% endstep %}

{% step %}

### On success

When the minigame is successful, the player receives the vehicle **keys** (QS/Wasabi if present) and the vehicle doors unlock.
{% endstep %}

{% step %}

### Deliver to drop-off NPC

Drive the vehicle to a drop-off NPC unlocked for your job. Interact with the NPC to **store** the car into the stolen pool.
{% endstep %}

{% step %}

### Manage stolen cars

From the **Mafia Garage NPC** or the **LB‑Tablet app**, view stolen cars. For each stolen car you can:

* **Return to owner** — the vehicle is spawned to the player.
* **Destroy for cash** — payout is determined by `vehicle_prices.json` × `Config.VehicleScrapPercent`.
  {% endstep %}
  {% endstepper %}

## Tablet

* The LB‑Tablet app is auto‑registered. Opening it loads the current stolen vehicles and shows owner name, plate, and model.
* Deleting a vehicle from the tablet scraps it for cash.

## Classic garage UI

* Interact with the Garage NPC to open the NUI list.
* Available actions: Return / Delete for cash.
