For the complete documentation index, see llms.txt. This page is also available as Markdown.

💦CAR WASH

Feature
Description

3 Wash Tiers

Basic ($50), Standard ($150), Premium ($350) — each with different dirt removal levels

NPC Workers

Hire up to 3 NPC employees per location with levels, salaries, and happiness tracking

Pressure Washer Minigame

Real players can work as car wash employees using an NPDS-style pressure gun

Business Management

Full boss panel with sales history, employee management, supplies, and activity feed

Supply System

Buy and manage supplies — NPCs need them to work and stay happy

Revenue Split

Configurable company/worker split (default 80/20)

Cinematic Cameras

8 smooth camera angles during the wash sequence

Multi-Language

English and Spanish included, easy to add more

ESX & QB-Core

Auto-detects your framework — just install and go

External Boss Menus

Optional integration with neon-bossmenu and multiple society bank systems


📦 Dependencies

Dependency
Required?
Link

ox_lib

✅ Yes

mysql-async

✅ Yes

ox_target

❌ Optional

GitHub — only if you enable TargetMode

ESX or QB-Core

✅ One required

Your framework of choice

Note: If you use oxmysql instead of mysql-async, it should work as a drop-in replacement — just make sure you have the mysql-async wrapper or update the fxmanifest.lua accordingly.


🏆 Credits

NPDS Pressure Washer Props

Awesome minigame for car wash employees powered by props from our friend @NukePUG, who has some amazing free props and assets available!

👉 Nukepug Design's Discord: https://discord.gg/DXe7vZwN2A 👏

The custom npds_pressurgun model and powerwash assets are used with permission for the worker minigame's realistic pressure washer experience.

CodeForge

Developed by CodeForge — building premium FiveM scripts with employee-based business systems.


🔧 Installation

Step 1: Download & Place the Resource

  1. Download or clone this resource.

  2. Place the folder in your server's resources directory.

  3. Rename it if you want (e.g., forge-carwash).

Step 2: Add to Server Config

Open your server.cfg and add:

Make sure ox_lib and your framework (es_extended or qb-core) start before this resource.

Step 3: Database Setup

The script auto-creates the database table on first start. You don't need to run any SQL manually.

If you prefer to create it manually, here's the table:

Step 4: Configure Your Locations

Open config/shops.lua and set up your car wash locations. The script comes with 3 pre-configured locations ready to use.

Step 5: Set Up Jobs (Optional — for Business Mode)

If you want a location to be a business (with employee management), you need to create the job in your framework:

For ESX:

For QB-Core: Add the job to your qb-core/shared/jobs.lua.

Step 6: Restart Your Server

Restart or start the resource. The database table will be created automatically.


🗄️ Database

The script uses a single table: forge_business

Column
Purpose

id

Unique location key (e.g., carwash_lsc)

type

Always car_wash

owner

Business owner identifier

employees

JSON array of hired NPC employees

stock

JSON object with supply levels {current, max}

data

JSON object with {balance, totalCustomers, totalEarned}

orders

JSON array of notification feed entries

history

JSON array of sales records

Auto-migration is enabled by default (Cfg.AutoMigrateDB = true). Set it to false after your first start if you prefer.


⚙️ Configuration

All configuration is in config/config.lua. Here are the most important settings:

Framework

Language

Wash Tiers

How dirt removal works: It removes a percentage of the vehicle's current dirt level. A car at dirt level 10 with a Basic Wash (40%) will end at 6.0 — still somewhat dirty. Premium always leaves it spotless.

Revenue Split

NPC Employees

Supply System

Interaction Mode

UI Customization


📍 Car Wash Locations

Locations are configured in config/shops.lua. Each location can be either:

  • Free wash (isBusiness = false) — anyone can use it, no management

  • Business (isBusiness = true) — has management panel, employee system, supplies

Each location needs:

Property
Description

label

Display name

blipCoords

Map blip position

washPoint

Where the vehicle parks for washing

npcPositions

Where NPC workers spawn (up to 3)

dutyPoint

Where players toggle on/off duty

adminPoint

Where the boss opens the management panel

assignedJob

The framework job name for this location

isBusiness

true for full business, false for free wash

The script comes with 3 ready-to-use locations.


🎮 How It Works

For Customers:

  1. Drive your vehicle to a car wash location.

  2. Walk to the wash point and interact (press E or use target).

  3. Choose a wash tier (Basic, Standard, Premium).

  4. Pay with cash or bank.

  5. Watch the NPCs wash your car with cinematic cameras.

  6. If a real player is on duty, they'll wash your car with the pressure washer minigame instead!

For Employees (Real Players):

  1. Go to the duty point and toggle on duty.

  2. When a customer pays, you'll get a notification.

  3. Walk to the vehicle and press E to claim the job.

  4. Use the pressure washer minigame to clean each zone of the car.

  5. You earn your worker share (default 20%) of the wash price.

For Business Owners:

  1. Go to the admin point and open the management panel.

  2. Home: View sales, revenue, and activity.

  3. Employees: Hire/fire NPC workers from the available pool.

  4. Supplies: Buy supplies to keep operations running.


🔫 Worker Minigame

When a real player is on duty and a customer orders a wash, the player gets to wash the car themselves using a realistic NPDS-style pressure washer.

Controls:

  • Mouse — aim the pressure washer

  • Left Click (hold) — spray water

  • Walk freely — move around the vehicle to reach all zones

How It Works:

  • The vehicle is divided into zones (bones): chassis, hood, trunk, doors, wheels.

  • Each tier unlocks a different number of zones to clean:

    • Basic: 5 zones

    • Standard: 8 zones

    • Premium: 11 zones (full car)

  • Dirt markers appear on each zone — they shrink and fade as you clean.

  • The crosshair turns green when you're hitting a dirty zone.

  • Progress is tracked as the average cleanliness of all zones.

  • When done, a success popup appears and the customer gets notified.

Visual Effects:

  • Water jet particle from the nozzle

  • Splash particles on the vehicle surface

  • Vehicle dirt level updates in real-time


📊 Management Panel

The management panel is available at business locations for the job owner.

Home Tab

  • Total revenue (all time + last 30 days)

  • Number of employees

  • Recent sales history with type badges (WASH, NPC, EXTRA, WORKER)

Employees Tab

  • Hired workers: See level, earnings, and happiness status

  • Available workers: Hire from a rotating pool of NPCs

  • Fire underperforming employees

  • ℹ️ A hint icon explains that this is for NPC employees only — hire real players through your Boss Menu

Supplies Tab

  • Visual supply gauge

  • Buy in portions or full stock

  • Warnings when supplies are low or critical

Activity Feed

  • Real-time notifications: hires, fires, sales, supply alerts

  • Timestamps with relative time display


💬 Support & More Scripts

Need Help?

Join our Discord for support, updates, and feature requests:

👉 CodeForge Discord: https://discord.gg/UTVssdrXRV

More Scripts with Employee Systems

Love the employee/business system? Check out our other scripts with similar features:

👉 CodeForge Employee Scripts Collection: https://codeforge.fragmentor.io/category/3024539

Last updated