🗑️WASH MACHINE

📖 Introduction

Wash Machine is an advanced FiveM script that allows players to launder their black money into clean money. The script features an interactive washing machine system with a modern user interface and animations.

🎯 What is this script for?

This script allows players to:

  • Launder black money : Convert black money into clean money with variable fees

  • Progressive tax system : The more money you launder, the lower the fees

  • Random location system : Washing machines appear at random locations for increased realism

  • Modern user interface : A smooth and intuitive HTML/CSS/JS interface

  • Multi-framework support : Compatible with ESX and QBCore


✨ Features

🎮 Game System

  • Interactive NPCs : Talk to NPCs to get information about washing machines

  • GPS system : A random waypoint is added to your GPS after talking to the NPC

  • Washing machines : Interact with machines at random locations

  • Animation : Automatic animation during laundering (DPEmote support)

  • Real-time timer : Display of remaining time during the laundering process

💰 Economic System

  • Progressive fees :

    • Fee 1 : 30% for amounts < $500,000

    • Fee 2 : 25% for amounts between $500,000 and $1,500,000

    • Fee 3 : 20% for amounts > $1,500,000

  • Laundering time : Configurable (default 10 seconds)

  • Time restriction : Option to limit laundering to certain hours (18:30 - 04:00)

🎨 User Interface

  • Modern design : HTML/CSS interface with animations

  • Sounds : Washing machine and error sounds

  • Notifications : Built-in notification system (ESX/QBCore) or custom

  • Multi-language : All texts are configurable in the config


🚀 Installation

Prerequisites

  • FiveM server with ESX OR QBCore

  • Resource compatible with your framework

Installation Steps

  1. Download the script from your purchase source

  2. Place the washmachine folder in your resources folder

  3. Add to your server.cfg :

    ensure washmachine
  4. Configure the framework in shared/config.lua (see Configuration section)

  5. Restart your server


⚙️ Configuration

Framework Selection

The script supports ESX and QBCore. To change the framework, modify this line in shared/config.lua :

WashClient.Framework = "esx" -- Change to "qb" for QBCore

ESX Configuration

For ESX, no additional configuration is required. The script automatically uses:

  • The black_money account for black money

  • addMoney() to add clean money

QBCore Configuration

For QBCore, the script supports two black money systems:

  1. Markedbills (recommended) : Uses the markedbills item with a worth metadata

  2. Black Money : Uses the black_money item with a quantity

The script automatically detects the system used. If you use a custom system, modify the Framework.GetBlackMoney() and Framework.RemoveBlackMoney() functions in shared/framework.lua.


📝 Detailed Configuration

Basic Configuration

-- Laundering time in seconds
WashClient.Time = 10

-- Enable time restriction
WashClient.VeriftimeActivate = false

-- NPC models
WashClient.Ped1 = "a_m_y_smartcaspat_01"
WashClient.Ped2 = "a_m_y_smartcaspat_01"

NPC Positions

Add as many positions as you want for information NPCs:

WashClient.Config.pedPosition = {
    vector4(19.743, 337.902, 110.485, 154.953), -- x, y, z, heading
    vector4(x, y, z, heading), -- Add more positions here
}

Tax Configuration

WashClient.Config.configuration = {
    money1 = 500000,   -- Threshold 1 : < $500,000 = taxe1
    money2 = 1500000,  -- Threshold 2 : between 500k and 1.5M = taxe2, > 1.5M = taxe3
    taxe1 = 30,        -- 30% fee
    taxe2 = 25,        -- 25% fee
    taxe3 = 20,        -- 20% fee
}

Washing Machine Positions

The positions where machines can appear (random):

WashClient.Config.randomWashing = {
    vector4(-290.052, 2543.105, 74.415, 8.655),
    vector4(1591.427, 6575.425, 12.642, 213.186),
    -- Add more positions here
}

Text Customization

Modify all texts in WashClient.Translate and WashClient.TranslateNotif:

WashClient.Translate = {
    WashTitle = "Dirty money",
    WashText = "Clean your dirty money",
    -- ... other texts
}

Custom Notifications

To use your own notification system:

WashClient.Notifications = {
    useCustom = true, -- Enable custom notifications
    customNotificationClient = function(message)
        -- Your client notification code here
        TriggerEvent('your-custom-notification', message)
    end,
    customNotificationServer = function(source, message)
        -- Your server notification code here
        TriggerClientEvent('your-custom-notification', source, message)
    end,
}

Animations

WashClient.DPEmote = {
    Active = true,                    -- Use DPEmote
    Animation = "e makeitrain",        -- DPEmote command
    -- If DPEmote disabled :
    Dictionnary = "anim@mp_player_intupperraining_cash",
    Anim = "idle_a"
}

🎮 Usage

For Players

  1. Find an NPC : Go to one of the configured NPC positions

  2. Talk to the NPC : Press E to talk to the NPC

  3. Get the location : The NPC will give you a random GPS waypoint

  4. Go to the machine : Go to the indicated location

  5. Interact : Press E on the washing machine

  6. Launder : Select the amount to launder in the interface

  7. Wait : The process takes a few seconds (configurable)

  8. Collect : Click "Get the money back" once finished

Restrictions

  • One active machine : Only one player can use a washing machine at a time

  • No black money : If you don't have black money, you cannot use the machine

  • Time restriction : If enabled, laundering is limited to configured hours (18:30 - 04:00)


🔧 Troubleshooting

The script doesn't work

  1. Check the framework : Make sure WashClient.Framework is correctly configured

  2. Check dependencies : The script must be loaded after your framework

  3. Check the console : Look for errors in the F8 console

Money is not being removed (QBCore)

  1. Check the black money system : Make sure you're using markedbills or black_money

  2. Modify the wrapper : If you use a different system, modify Framework.GetBlackMoney() in shared/framework.lua

NPCs don't appear

  1. Check positions : Make sure coordinates are correct

  2. Check models : Ped models must be valid

Enjoy the game ! 🚀

Last updated