About this resource
F4 Tycoon is a board game for FiveM, played at a real table in your world. Walk up, press E, sit down and play — roll the dice, buy districts, build them up from a flag to houses and a hotel, and collect rent from everybody who lands there. Two to four players, and AI players take the empty chairs.
Everything happens on the table, as real props: tokens hop space by space, flags go up their poles, buildings drop onto the board, and every player's money lies in front of them as piles of notes that fly across the table when rent is paid.
Works on QBCore, Qbox, ESX and standalone. No framework required. No database, no SQL to run.
A real table in your world
A table, four chairs, a printed board, dice, tokens, cards, buildings and cash — 89 custom models, nothing borrowed from the base game
Place tables in config.lua, or stand where you want one and type /tycoontable add
Every prop is local: no networked entities, nothing to own, nothing to clean up
Auto, Seat and Top cameras — Auto follows the dice, the moving token and every drawn card
Push-to-talk and chat keep working while you sit, and several tables run their own games at the same time
Buy districts and build them up
An original city: twenty districts in eight zones, four landmarks, headlines, an exchange, contractors, city hall, rent day, tax and a gridlock corner
Up to two houses on your first lap, the third once you have passed START, the hotel on your third visit
Own a whole zone and its rent multiplies
Your flag goes up its pole in your colour; houses and hotels drop onto the space in the owner's colour
Premium zones have hotels of their own — a beach resort, an art deco tower, twin glass towers, a gold-spired skyscraper, a domed mansion
Landmarks become what they are: a big wheel, a stadium, an opera house, a sky tower
Money you can see
Every player's cash lies in front of them as piles of notes — the richer you are, the bigger the pile
Pay rent and the notes fly from your pile to the owner's; taxes and fees fly to the bank
No mortgages, no trades, no auctions — when you cannot pay, you sell to the bank or go bankrupt
Dice, headlines and the exchange
The server rolls the numbers; every client throws the same physical dice from the same seed, so everybody sees the same faces
Doubles roll again; the third double in a row sends you to the gridlock
Seventeen headline cards — moves, payments, a lawyer that cancels one rent, a courier out of traffic, urban renewal, a storm, an audit, a tourist season
The exchange — invest, and two dice decide, from losing it all to a 150% gain
The contractor builds at half price, and city hall hands out a free building permit
AI players that sit down with you
One player and a bot is already a game
Bots sit in the chairs as people and throw the dice by hand
They keep a reserve for the rents ahead, chase whole zones, block yours, and sell what matters least when they owe
They play through the same input as a player, so they follow exactly the same rules
The host sets the rules
Fourteen rules per table: starting cash, salary at START, exact-stop bonus, rent day, tax, traffic fee, sell-back rate, first-lap houses, hotel visit, zone multiplier, prestige target, net worth target, time limit and decision speed
Only the values you allow in config.lua can be picked — the server checks every one
Changing a rule un-readies everybody, and a running game never changes its rules
Real-money stakes — if you want them
With QBCore, Qbox or ESX the host can put a stake on the table: presets or a custom amount
Everybody pays when the game starts — and if anyone cannot pay, nobody is charged
The winner takes the pot, minus your house cut if you set one
If the resource stops mid-game, everybody still in it gets their own stake back
No stakes while a bot is seated
Four ways to win
Reach the prestige target first
Be the last player standing
Hit a net worth target
Be the richest when the time limit runs out
For developers
server/open.lua and client/open.lua — outside the escrow, with hooks for who may sit, whether a game may start, game started and ended (winner, prize, ranking, minutes), players going out, every purchase and every building
Server exports to list tables, read a table's full state and rules, add or remove tables and bots at runtime, stand a player up and end a game
Client exports for whether the player is seated, the nearest table and the camera
The money bridge for stakes is one small block — any money system fits
Every open function is guarded: a mistake prints an error and falls back to the default, it never breaks a game in progress
Requirements
OneSync
Optional: QBCore, Qbox or ESX — only for real-money stakes
Questions people ask
Does it need a framework or a database?
No to both. It runs standalone and stores nothing between games except the tables you place in game. A framework is only used for real-money stakes.
Can one person play alone?
Yes. Sit down, add AI players, and play. One human and one bot is a full game.
How long does a game take?
Around 15–25 minutes with the default rules. A time limit, a lower prestige target or the fast pace make it shorter.
Can players cheat the dice or the money?
No. The server rolls the dice, owns every balance and checks every action; the clients only animate what the server already decided.
Can I put the table in my own MLO?
Yes. Give it coordinates in config.lua, or stand where you want it and type /tycoontable add.
Is it a copy of an existing board game?
No. It belongs to the family of property-trading board games, but the city, the zones, the special spaces, the cards, the prices, the artwork and the ways to win are its own.
What is open
Escrow, with config.lua, locales/*.lua, server/open.lua and client/open.lua left open. English and Turkish included — another language is one copied file.
Documentation: https://f4-studio.gitbook.io/documentation/resources/f4-tycoon
**Support: **https://discord.f4-studio.com