Car Wash

CodeCraze Car Wash is a framework‑aware FiveM script that adds immersive vehicle washing with optional dryer phase and built‑in NUI audio. It supports ESX, QBCore and Standalone. Overview

  • Authentic wash effects (particles, optional props)

  • Simple flow: press E at the wash spot → effects → drive to dryer point → freeze, play sound, final clean

  • Framework logic:

    • ESX/QBCore: cash is required and deducted; no cash → no wash

    • Standalone: shows price but does not charge; wash is allowed

Key Features

  • ESX / QBCore / Standalone compatible

  • Clean UI hints (help text) and optional blips

  • NUI audio (mp3/ogg/wav) without external dependencies

  • Configurable dryer point, duration and sound per location

  • Optimized; minimal runtime overhead


Quick Start

Installation

  1. Copy the resource folder to resources.

  2. Add to server.cfg:

  1. Restart server.

Basic Usage

  • Drive a vehicle to a configured location and press E to start the wash.

  • After particle effects, drive to dryer_point4 (speed limited to 10 km/h) to finish.


Configuration

Edit config.lua.

Core

  • Framework: 'esxlegacy' | 'qbcore' | 'standalone'

  • button: {'Press ~INPUT_CONTEXT~ to wash your vehicle for ~g~$%s~s~', 0, 38}

  • only_dirty_vehicles: true|false

  • cost: price (shown in all modes; actually deducted only for ESX/QB)

  • cash_account_name / bank_account_name: account keys (bank is ignored for charging)

  • double_clean: duplicate particle pass

  • show_all_blips: show all blips if true and per‑location show_blip is true

Locations (example)


Framework Behavior

  • ESX: deducts cost from cash (money). If not enough cash → deny wash and notify.

  • QBCore: deducts cost from cash (cash). If not enough cash → deny wash and notify.

  • Standalone: no deduction; always allowed.


Controls

  • E (default): start wash when near location

  • Driving to dryer point: script enforces a hard 10 km/h until you reach the zone


Sound Setup (NUI)

Place sound files here:

Use .ogg for best compatibility (also supports .mp3/.wav). Set dryer_sound_name without extension.

Dev test commands:

  • /carwash_sound_test – play current dryer sound

  • /carwash_sound_stop – stop sound


Events & Callbacks

  • Client event: carwash:DoVehicleWashParticles(vehNet, washerServerId, use_props)

    • Handles particle effects and optional side roller props.

  • Server callback: carwash:CanPurchaseCarWash

    • Framework‑aware payment gate; returns true/false to client.


Troubleshooting

  • No sound: convert to .ogg, ensure filename matches dryer_sound_name, restart resource.

  • Not charging (ESX/QB): ensure Framework isn’t set to standalone.

  • No prompt: get within 2m of location and sit in driver seat.


Last updated