Skip to main content
Four booths ship configured out of the box — the Vanilla Unicorn, Bahama Mamas West, the After Hours nightclub interior and a Vespucci Beach festival stage. They’re examples. Delete the ones you don’t want. You can add booths two ways: edit config/locations.lua, or build them in the booth manager. The in-game route is easier and is what most people use — this page covers the config shape, which is also what the manager writes.

The shape

Add an entry to Config.DefaultLocations. Every field is documented inline in the file.
Blip sprite and colour IDs are listed in the FiveM blip reference.
Config booths are read-only at runtime. A database booth with the same id overrides the config entry — and deleting that database row restores the config entry on the next reload.

Sound points

This is the part worth understanding, because it’s what makes a club sound right. A booth has one or more sound points, each with its own audible radius. The loudest point you’re inside wins. That’s how a 55 m main stage and a 12 m side bar coexist at the same venue without one drowning the other.
You can have up to 12 per booth, and no radius may exceed 120 m. A sound point can also stream a speaker prop, so there’s something visible making the noise.
The DJ’s audible-range slider scales the whole rig proportionally. If someone drags it to the minimum, every radius shrinks with it — which is a very common reason for “the music suddenly went quiet”.

Falloff curves

On top of the curve: vehicleMuffle applies only inside a sealed vehicle, and indoorBoost applies only when the listener and the emitter share an interior.

Effect emitters

effectPoints places individual lighting emitters around the venue. Each one is typed: Up to 24 per booth, capped at 12 lights and 16 lasers per rig. Each emitter carries a heading, which is the direction a beam sweeps from.

Booths without a prop

Set booth.spawn = false for an MLO that already contains a DJ booth. The interaction still registers — the script places a box zone at the anchor instead of attaching to a prop.
With no prop there’s no entity to target, so the anchor has to be somewhere reachable. If it’s a metre inside geometry, the zone is unreachable. Nudge it in the booth manager.

Per-booth capability

Reloading

Booths added to config/locations.lua need a resource restart. Booths in the database can be reloaded live with /djreload, and edits saved in the booth manager push to everyone immediately.