> For the complete documentation index, see [llms.txt](https://incity-development.gitbook.io/incity-development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://incity-development.gitbook.io/incity-development/resources/ic_moneywash.md).

# ic\_moneywash

ic\_moneywash is a complete **money laundering loop** for FiveM built around a burner phone, a network of shady contacts and a counting machine. Players throw their marked bills at a strip club dancer, ring a contact to collect the washed takings, meet them somewhere out of town for the hand-over, and feed the cash bag through a counter to turn it into clean money.

It is far more than a "convert dirty to clean" script: every character gets their own **phone book of contacts** who rotate between errands, each contact waits at their **own meeting spot** on a **timer**, the cut they take follows a **lifetime tax ladder**, and the whole thing runs through a modern **trap phone interface** with a bank app, call screen and portraits of the people you're dealing with.

***

### Key Features

#### 💸 Make It Rain

* Throw marked bills at strip club dancers to move them into your dirty money balance
* Configurable **multiplier** and a **per-throw limit**
* Money piles up on the floor in visible **levels** and is swept away after a while
* Dancers cycle through several dance animations instead of looping one

#### 📱 Trap Phone

* Modern phone UI with a lock screen, home screen, **Contacts** and **Bank** apps
* Slides up out of the pocket and back down, with a real phone prop in hand
* **Bank app** — dirty money waiting for collection, current wash tax, total collected and recent activity
* **Tax Levels page** — tap the tax badge to see the whole ladder and where you are on it (can be hidden)

#### ☎️ Contacts & Calls

* Every character has their own **phone book** of randomly generated contacts
* Names match the gender of each contact's model
* Contact **portraits** are taken live from their in-game model
* Ring a number and it **picks up, rings out or is unreachable** — you won't know until you call
* The contact who answers **talks to you** in their own voice
* After every errand a **different contact** takes over — everyone gets a turn before anyone repeats

#### 📍 Meetings & Hand-Over

* The contact who picks up shares their location with a **route on the map**
* The blip shows the **minutes left** before they give up
* Hand-over animation with the bag changing hands, then the contact walks off
* Miss the deadline and the contact either **keeps the money** or just **calls the meeting off** — your choice

#### 🧾 Money Counter

* Feed the cash bag through a counting machine to get clean cash (or a money item)
* Big bags are counted in **passes**, with an on-screen prompt to continue or stop between them
* One player per machine, shown to everyone else as busy
* Maps without a machine can have one **spawned** for them

#### 🏦 Wash Tax

* The contact takes a cut of every collection
* The cut drops as the character's **lifetime total collected** grows
* Fully configurable ladder of levels

#### 🗺️ Map Detection

* Supports several MLOs out of the box and detects the ones you run automatically
* Every detected map is used at once, with the vanilla locations as the fallback
* Teleports for interiors that have no door of their own

#### 🎯 Target or Prompt

* Auto-detects **ox\_target / qb-target**
* Falls back to a clean "E" prompt when no target system is running

#### 🔔 Discord Webhooks

* Separate logs for money rain, collections and counting
* Fully optional, webhook URLs live in a server-only config file

***

### How It Works

#### 1. Make It Rain

Head to a strip club and throw your marked bills at a dancer. What you throw is added to your **dirty money** balance.

#### 2. Use the Trap Phone

Use the trap phone item and swipe it open. The **Bank** app shows the dirty money waiting for collection and the cut the contact will take.

#### 3. Ring Your Contacts

Open **Contacts** and start calling. Only one number will pick up — the rest ring out or can't be reached. When someone answers, they share their location.

#### 4. Meet the Contact

Follow the route to the meeting spot before the timer runs out. Take the **cash bag** from the contact — the wash tax has already been taken off.

#### 5. Count the Money

Take the cash bag to a money counter and feed it through. Large bags take several passes. The counted amount is paid out as clean cash.

#### 6. Do It Again

Next time a different contact answers, at a different spot — and as your total collected grows, the tax they take drops.

***

### Resource Compatibility

Works out of the box with its own built-in bridge.

✅ **Frameworks:** QB-Core, QBox, ESX, ox\_core, ND Core

✅ **Inventories:** ox\_inventory, qb-inventory, qs-inventory, tgiann-inventory, codem-inventory

✅ **Target Systems:** ox\_target, qb-target *(optional — works standalone with an E prompt)*

✅ **Database:** oxmysql

✅ **Library:** ox\_lib

✅ **Maps:** vanilla strip club and counter interior, Bella Vanilla Unicorn (Ajna Mods), tstudio Laundromat, K4MB1 Panache *(add your own in `config/locations.lua`)*
