Contracts and the warehouse
How players open the money laundering menu, take contracts to buyers around the city, negotiate, level up, and wash and count money at the warehouse, with the default numbers.
This page follows a player from their first contract to the warehouse with the default settings. Everything named here is set in config.lua; see configuration. The menus, notifications and progress bars appear in the system you picked in Config.Menu, Config.Notify and Config.Progress. The alerts and the amount dialogs are always ox_lib's.
The launderer
A launderer stands at the start location under a Money Laundering blip. They appear once a player is within 75 m and are removed when the player moves away. Players walk up and press E at the Money Laundering prompt, or pick Talk on a target.
The menu shows:
- Level: their level and its tax rate, such as "Current laundering level: 1 - Tax Rate: 25%".
- Experience: how far they are toward leveling up, as a percentage, with a bar that turns from red to yellow to green.
- Contracts: how many they have completed.
- Money Cleaned: the total dirty money they have laundered.
- New Contract, or Stop Contracts while a run is on.
- Warehouse, from the level the warehouse unlocks at, to buy its key.
- Return Vehicle, while they have a contract car out.
Dead players can't open the menu. With Config.Start.require on, they also need the item you name, and with its remove on, one is taken each time the menu opens.
Contracts
Starting a run
New Contract starts a run, and it is refused when you require police and fewer than Config.Police.count are in the city ("There are not enough police in the city").
If they have no contract car out, they get one for the run: a baller3 or fugitive at the spot nearest the launderer, fueled to 85 and with keys from your keys script, and they are put in the driver's seat. It costs a $500 cash deposit, refused with "You do not have enough money" when they can't pay. The car stays with them between contracts.
A buyer is picked at random from 77 spots across Los Santos and marked with a waypoint and a Money Contract blip. "You received a new contract" confirms it.
The buyer appears when the player is within 50 m. On foot and within 2 m, they press E at Launder Cash, or pick Talk on a target.
The offer
Each buyer offers to take a random amount of dirty money in the level's range and pays it back in cash, less the level's tax. At level 1, that's $500 to $1,000 at 25% tax: $617 dirty pays $463 clean. The offer stays the same if the player walks off and comes back.
- A player with no dirty money is turned away: "You don't have enough money on you, please don't waste my time." The run ends there.
- A player carrying less than the offer is turned away the same way. On QBCore with
Config.QBCore.metadataon, the buyer takes whatever is left instead. - From the level the warehouse unlocks at, buyers refuse with "You can no longer run contracts", unless you set
Config.Warehouse.allowContracts.
If the player carries more than the offer, the Negotiate menu opens: Accept Offer ("Current offer is $463 clean for $617 dirty.") or Negotiate. With negotiation off, or with exactly the offer on them, the deal goes straight ahead.
Accepting
Before the deal, the buyer may turn the player down, by the level's reject chance: 20% at level 1, down to none at level 5. A rejection shows "I'm not interested in doing business with you.. good luck.", can alert police (see police), and the next buyer is marked, unless you turn Config.Reject.continue off.
Otherwise the player makes the deal: a 5 second Making deal.. with a clipboard in hand. Then:
- the dirty money is taken and the clean amount paid in cash,
- they earn the level's XP and a completed contract, and the dirty amount is added to their money cleaned,
- the next buyer is marked straight away.
A run ends on its own when the player's dirty money runs out: "You have no more money - no further contracts will be assigned".
On QBCore, a markedbills bag worth more than the deal is swapped for one holding the rest.
Negotiating
Negotiate asks for more. The offer goes up by the level's multiplier, 25% at level 1, but never past what the player carries: $617 becomes $771 dirty, $578 clean. The player argues for 6 seconds (Negotiating..), then:
- The buyer may turn them down, by the same reject chance as above.
- The buyer agrees by the level's negotiate chance, 60% at level 1. The Final Offer menu opens: Accept Offer makes the deal with no further chance of rejection, and Deny Offer moves on to the next buyer.
- Otherwise the buyer says "No thanks, I'm not interested in your offer.." and the next buyer is marked, unless
Config.Reject.continueis off.
Ending a run
Stop Contracts at the launderer removes the buyer, the blip and the waypoint. The car stays.
Return Vehicle takes the car back and refunds $250 of the $500 deposit to cash. The player has to be at the launderer for the refund. If the car is gone, it can't be returned.
Levels
Contracts and warehouse washes earn the level's XP. Every level takes 100,000 XP, and the leftover carries into the next. By default:
| Level | Tax | Dirty money per deal | XP per deal | Negotiate chance | Negotiate raise | Reject chance |
|---|---|---|---|---|---|---|
| 1 | 25% | $500 to $1,000 | 1,000 | 60% | 25% | 20% |
| 2 | 20% | $750 to $1,500 | 500 | 70% | 50% | 15% |
| 3 | 15% | $1,000 to $2,000 | 250 | 80% | 75% | 10% |
| 4 | 10% | $1,500 to $3,000 | 125 | 90% | 100% | 5% |
| 5 | 5% | $2,000 to $10,000 | none | 95% | 125% | 0% |
So the default climb to the warehouse is 100 contracts at level 1, 200 at level 2, 400 at level 3 and 800 at level 4. Level 5's deal size and odds only matter if you allow contracts once the warehouse opens. The last level earns no more XP, and its bar shows full.
Players aren't told when they level up; the menu shows it. Levels, ranges and odds are yours to change, and you can add levels. See levels.
Police
All of this is off by default except police access to the warehouse.
- Police required: with
Config.Police.require, every contract, the automatic next one included, needscountpolice in the city. On QBCore and Qbox only police on duty count; on ESX, every player with a police job. The warehouse doesn't check. - Dispatch: with
enableDispatch, every rejection sends a "10-911 Suspicious Activity" call at the player's street through your dispatch. See police. - The warehouse: players with a police job walk in without a key or the level.
The warehouse
The key
At the level the warehouse unlocks at, 5 by default, the menu offers Warehouse. After a confirm ("Are you sure you want to purchase a warehouse key for $2,500?") the player pays $2,500 cash for a warehouse_key, and the Warehouse blip appears at the door. The blip also shows at every login from that level on.
Getting in
At the door, players press E at Warehouse (or pick Enter) and are taken inside. They need the key and, by default, the level; police need neither. The same point inside, Exit, takes them back out.
Washing
At the washing machine, Start wash (Start washing on a target) asks how much to wash: between $500 and $25,000 of the dirty money set for the unlock level, up to what they carry ("You have: $8,545. How much are you cleaning?"). The money goes in at once and a timer starts, 1 hour 25 minutes 30 seconds by default.
- One wash at a time per player.
- The timer runs while the player is on the server. The time left is saved when they leave or the server restarts, and it picks up where it stopped when they're back.
- When it's done, the player's phone gets a message, or with no phone set, an alert says "Your money is now done & ready to be picked up."
- Grab Cash (Grab money on a target) before then says how long is left.
Once it's done, Grab Cash hands over Uncounted Money: the amount washed, less the tax of the player's level when they pick it up (5% at level 5). It counts toward their money cleaned and earns the level's XP.
Counting
Two money counters stand inside. At one, Start counting asks how much to count, up to $15,000 at a sitting and up to the uncounted money they carry. The player sits at the counter with a briefcase and counts one stack per $2,500, rounded up, about 18 seconds each, so $15,000 takes just under 2 minutes. Their inventory is locked meanwhile, and Esc and Left Ctrl do nothing.
The uncounted money is taken when counting starts and paid out in cash, one for one, when it ends.
Still stuck? Ask in our Discord: the people who write the scripts answer.
Last updated
money laundering
Requirements, install steps, items and first start for money laundering (lation_laundering), a FiveM script where players wash dirty money through buyers around the city and at a warehouse.
Configuration
Every option in money laundering's config.lua with its default value, plus the text prompt setting, the Discord logs in logs.lua and the text in strings.lua.