NBZ Nathan Bonavia Zammit

Work / FiveM

FiveM

Gameplay systems for FiveM roleplay servers: casino games, property, a dealership, a shop, a robbery. Lua on the client and the server, NUI in HTML/CSS/JS, MariaDB behind it.

Frameworks
ESX, QBCore, Qbox, standalone
Players
Servers with 300–400 online
Stack
Lua, NUI, MariaDB
Tests
Pure cores tested outside FiveM

How it's built

The same rules in every script

Frameworks

Frameworks

Most of this work shipped on ESX; the rest on QBCore, Qbox or with no framework at all. A framework only covers a thin layer: money, jobs, player data and a few exports. The gameplay, the NUI, the SQL and the game API calls are the same whatever core a server runs.

Where it ran

Servers and stores I've worked with

All projects

The full list

01 Property · 6 screenshots

Apartment Furniture

Tenants and key holders buy furniture from a database-backed catalogue, in cash or coins, then place each piece with an in-game editor built on Three.js. Staff run the catalogue from an admin tab with no restart.

244 models in 13 categories · coin shop · admin tab, no restart

  • Lua
  • ESX
  • Three.js
  • NUI
  • MariaDB
View project →
02 Casino · 3 screenshots

Blackjack — Live Croupier Table

A Game Master runs the table as croupier while up to four players bet against one dealer hand. The dealer's hole card doesn't leave the server until the reveal.

4 players per round · 6-deck shoe · 125 + 144 test assertions

  • Lua
  • ESX
  • ox_target
  • NUI
View project →
03 Casino · 4 screenshots

Slot Machines — Candy Cascade

A candy slot in the Sweet Bonanza style, played against the house. Every spin is drawn, evaluated and paid on the server, and the maths is calibrated by simulation like a real machine.

~95% RTP · two 500,000-spin runs · 6×5 tumbling grid

  • Lua
  • ESX
  • ox_lib
  • KVP
View project →
04 Casino · 2 screenshots

Poker — Texas Hold'em

Player-run Texas Hold'em. A Game Master opens a physical table, players sit down with in-game money, and the whole hand plays out server-side so it can't be cheated from the client.

8 seats + 16 spectators · 25 s turn timer · rising blinds

  • Lua
  • ESX
  • ox_target
  • NUI
View project →
05 Casino · 2 screenshots

Roulette — European Table

The solo game of the set. By the time you hit Spin the server has already drawn the number, checked every chip and settled the payout. The wheel on screen just catches up.

37 pockets · 2.70% house edge · 25,000 $ cap per spin

  • Lua
  • ESX
  • ox_target
  • NUI
View project →
06 Property · 3 screenshots

Real Estate Job

The biggest job so far. Agents place buildings on the map, attach apartments, then sell or rent them. Owners and tenants get keys, storage, a doorbell and control over who comes in.

5 interiors · 10 database tables · leases up to 365 days

  • Lua
  • ESX
  • ox_inventory
  • MariaDB
View project →
07 Economy · 6 screenshots

Skyland Shop

The server's premium shop. Players buy coins through Tebex and spend them on vehicles, weapons, packs and loot boxes. Rebuilt after the original paid resource broke beyond repair.

React NUI · try before you buy · server-side drop draws

  • Lua
  • ESX
  • React
  • Tailwind
  • Tebex
View project →
08 Robbery · 5 screenshots

LTD Safe Robbery

A safe in the back room of every player-owned convenience store, cracked on a 6-digit dial against a 5-minute timer. The combination never leaves the server, and the money comes out of the store company's real account.

6-digit dial · 5-minute timer · 5-hour cooldown kept in SQL

  • Lua
  • ESX
  • NUI
  • MariaDB
View project →
09 Economy · 6 screenshots

Car Dealership

Three venues under one job and one company account. Pressing E takes you into a private showroom with the vehicle in front of you: orbit camera, live colour and plate, a timed test drive. No buy button: every sale is billed by an employee from a tablet.

201 models in 16 categories · 3 venues, 1 company · seller-billed sales

  • Lua
  • ESX
  • React
  • MariaDB
View project →

Smaller fixes

Small changes with a big effect

10 Fixes · 2 screenshots

Emote Lock Near Doors

Players were using emotes to clip through locked doors. Emotes are now blocked near doors, with a per-door toggle so normal roleplay isn't hurt.

  • Lua
  • ESX
  • ox_doorlock
View project →

Open to long-term work

Full-time or long-term, not only one-off scripts. Based in Malta, so CET/CEST hours.

Email me