Usage
Overview
Players earn contracts through the NUI contract manager, then execute a three-stage mission pipeline to collect their payout. Every contract consists of a steal, an optional middle complication, and a deliver stage - each drawn from a weighted pool tuned per vehicle class.
Contract Pipeline
[Acquire Contract] --> [Steal Stage] --> [Middle Stage (optional)] --> [Deliver Stage] --> [Payout]- Open the NUI contract manager to claim an available contract or purchase one from the marketplace.
- The contract specifies the target vehicle and the three mission stages.
- Complete each stage in order. Cancelling an active contract applies a 30-minute cooldown before you can start another.
Vehicle Classes
| Class | Unlock Level | Min. Group | Max. Group | Payout |
|---|---|---|---|---|
| D | 0 | 1 | 5 | 5-10 |
| C | 10 | 1 | 5 | 60-80 |
| B | 20 | 1 | 5 | 130-155 |
| A | 30 | 3 | 5 | 200-225 |
| S | 55 | 3 | 5 | 280-300 |
Payment is made in one of the configured currencies (Bank).
Steal Methods
| Method | Required Item | Notes |
|---|---|---|
| Normal lockpick | lockpick | Standard street steal; most common |
| Garage blowtorch | pdm_blowtorch | Vehicle is locked in a PDM garage |
| Signal briefcase | WEAPON_BRIEFCASE (x2) | Two players needed; one jams the signal, one takes the car |
| OBD port hack | boosting_obd_<class> | Class-specific OBD connector; minigame required |
| Fake ID rental | fake_id | Rent the target vehicle using a forged identity |
| Valet disguise | Uniform outfit | Steal from a valet location in disguise |
| Tow truck | lockpick | Hook and tow the vehicle using a tow truck |
| Cargo container | diving_angle_grinder | Vehicle is locked in a shipping container |
| Trailer | bolt_cutter | Cut the trailer lock and steal the car inside |
| Cargobob | lockpick | Airlift the vehicle using a Cargobob helicopter |
| Villa | pdm_blowtorch | Access a secured private property |
Middle Complications
After the steal, a complication may trigger before the delivery stage. The __EMPTY__ option in the pool means no complication is assigned.
| Complication | Description |
|---|---|
| GPS tracker hack | The vehicle has an active tracker - pass a minigame to disable it or police will be alerted |
| Speed bomb | A bomb is armed; the vehicle must stay above a minimum speed or it detonates |
| Repaint | Drive the vehicle to a spray shop to change its appearance before delivery |
| Hacker van | A hacker van assists remotely; players must protect or reach it |
Delivery Types
| Delivery | Description |
|---|---|
| Drop-off | Drive the vehicle to a marked drop point |
| Trailer | Load the vehicle onto a trailer and deliver it |
| Cargo plane | Drive the vehicle into a cargo plane at the airstrip |
| Container | Load the vehicle into a shipping container |
| Chop shop | Deliver to a chop shop for parts |
| Car crusher | Destroy the evidence at a crusher |
| Destruction | Blow up or wreck the vehicle at a designated spot |
| Ransom buyer | Deliver to a buyer who pays a ransom on top of the contract payout |
| Direct buyer | Meet a direct buyer at a private location |
VIN Scratch Contracts
VIN scratch is a separate contract type that becomes available at Level 10. Instead of delivering a stolen vehicle, the VIN plate is removed and the vehicle is processed as untraceable.
- Unlocks at Level 10 (same class thresholds as regular contracts)
- Processing takes 4 hours server-side after the vehicle is handed off
- VIN scratch chance scales with level:
| Level | VIN Scratch Chance |
|---|---|
| 10 | 1% |
| 20 | 2% |
| 30 | 5% |
| 40 | 10% |
| 50 | 15% |
Progression
Levels
Rep is earned on every completed contract. The level thresholds and milestone rewards are configured in sh_config.lua. The system spans 61 levels.
Reaching level milestones unlocks:
- Higher vehicle classes (C at 10, B at 20, A at 30, S at 55)
- Improved contract pools and payout scaling
- Prestige eligibility
Prestige
Once a player reaches the prestige threshold (default: every 25 levels), they can choose to prestige. Prestiging resets their level but grants a permanent perk, such as:
- +5% payment bonus
- Increased VIN scratch success chance
Prestige milestones and their perks are configured in sh_config.lua.
Contract Marketplace
Players can list their own contracts for other players to acquire:
- Fixed-price listing - set a buy-it-now price
- Auction listing - set a minimum bid; highest bidder wins after the auction expires
The marketplace is accessible through the NUI contract manager.
Police Dispatch
GPS tracker hacks and high-value class vehicles (A/S) trigger configurable police dispatch alerts. Officers receive a blip showing the vehicle's last known location.
Configuration
Shared (sh_config.lua)
| Option | Default | Description |
|---|---|---|
| Level thresholds | 61 entries | Rep required to reach each level |
| Prestige milestones | PrestigeLevels table | Level checkpoints that grant prestige perks |
Config.Vehicles | 5 entries | Target vehicle model per class (D/C/B/A/S) |
Config.Firstnames / Config.Lastnames | Large pools | NPC name pools used in fake ID and rental missions |
Server (sv_config.lua)
| Option | Default | Description |
|---|---|---|
Config.AllowedCrypto | Bank | Currencies accepted for payouts |
Config.LevelForClass | D=0, C=10, B=20, A=30, S=55 | Level required to access each vehicle class |
Config.RequiredGroupSize | D/C/B=1, A/S=3 | Minimum group members per class |
Config.MaxGroupSize | 5 | Maximum group members per class |
Config.PrestigeLevel | 25 | Levels gained per prestige cycle |
Config.MissionCancelCooldown | 1800 s (30 min) | Cooldown after cancelling an active contract |
Config.UnlockTimer | 14400 s (4 h) | Server-side processing time for VIN scratch |
Config.VinScratchChance | See table above | VIN scratch success chance per level milestone |
Config.PerkRepForClass | D/C=15, B/A=20, S=30 | Rep bonus applied per class for prestige perks |
Config.UnlockDrops | Per-class tables | Mission pool weights and reward amounts per class |
Export for opening tablet
Other resources can open boosting tablet using exports listed below:
Client:
exports["prp-boosting"]:OpenTablet()Server:
exports["prp-boosting"]:OpenTablet(playerSource)