NBZ Nathan Bonavia Zammit

05 · Casino · Solo table game

Roulette — European Table

European roulette at an admin-placed table, the solo game of the set. Walk up, aim at the table, take one of the prop's real stools and bet at your own pace; by the time you hit Spin, the server has already drawn the number, validated every chip and settled the payout. The wheel on screen is pure theatre catching up.

Role
Lua (client + server), NUI
Server
Skyland
Framework
ESX
Stack
Lua, ox_target, NUI (HTML/JS/CSS)
Players
Solo, 4 stools per table
Status
Live on Skyland
Outside bets on the roulette board: chips on red, the second dozen and a column
17 hits on the roulette board and the wins settle
Outside bets down: chips on red, the second dozen and a 2:1 column, each one debited server-side the moment it lands 1 / 2

How it works

Start to finish

  1. Outside bets on the roulette board: chips on red, the second dozen and a column
    17 hits on the roulette board and the wins settle
    Outside bets down: chips on red, the second dozen and a 2:1 column, each one debited server-side the moment it lands 1 / 2

    01 — The bets

    Solo and self-paced

    • European rules: 37 pockets with a single green zero, the classic 2.70% house edge.
    • Outside bets in v1: red / black, even / odd, low / high at 1:1, dozens and columns at 2:1.
    • Pick a chip, click zones to stack bets (cash debited immediately), clear and refund in one click, spin when ready. No croupier needed.
  2. Outside bets on the roulette board: chips on red, the second dozen and a column
    17 hits on the roulette board and the wins settle
    17 hits: the number was drawn server-side before the wheel started turning; the animation just catches up, then the wins settle 2 / 2

    02 — The spin

    Theatre catching up

    • The winning number, every bet validation and every payout happen server-side; the NUI wheel only animates toward a result that is already final.
    • Guard rails in config: 10 to 5,000 $ per zone, a 25,000 $ total cap per spin, fixed chip denominations, and per-player action throttling.
    • Players sit on the prop's actual stools; stool positions are read from the table model's skeleton bones at runtime.

Under the hood

What keeps it solid

Money
  • House-banked with a full money trail: every movement logged.
  • KVP snapshots and an owed-money ledger mean a disconnect, a resource stop or a crash always ends in a refund, at worst on next login.
Engine
  • The wheel core is pure Lua with zero ESX or networking, unit-tested under a standalone interpreter.
  • Tables are admin-placed props, persisted in KVP and surviving restarts.
Animation
  • Official casino animations tailored per seat: Rockstar's roulette clips ship in _SEAT1 to _SEAT4 variants, so every player's idle, betting lean and reactions are the ones filmed for their exact stool.

Tech

Tech and package

  • Lua
  • ESX
  • ox_target
  • NUI
  • Client script
  • Serverwheel core + ESX shell
  • Config
  • NUIbetting board + wheel

Need something like this on your server?

Email me