FiveM Casino System
A flexible casino system made to enhance gameplay with exciting games and an advanced team betting system. Fully customizable and compatible with ESX, QB, or even standalone/custom setups. Bring the thrill of the casino to your server!
Features
Configuration and Integration
- Framework Support: Built for ESX and QB, but works great on any framework with simple modifications.
- Customizable Setup: Edit every detail in the
config.luafile and manage translations easily using the locales system. - Flexible Access Options: Use commands, markers, or targets (like
ox_target) to open the casino interface.
Available Casino Games
-
Roulette:
Let players try their luck on the roulette table with adjustable win chances. Choose between green, red, or black bets for a balanced mix of strategy and luck. The setup makes it easy to integrate with your server’s economy. -
Slots Machine:
Classic slot machine gameplay with adjustable win chance. Create a thrilling and immersive experience for players by balancing risk and reward to fit your server’s vibe. -
Lucky Wheel:
Add a Lucky Wheel with stunning animations and rewarding prizes. Customize the rewards to offer cash, items, vehicles, or anything else! Built-in callbacks make it simple to connect rewards to other systems in your server.
Team Betting System
- Admin Tools: Easily create and manage bets with commands or a clean menu (requires
ox_lib). - Custom Bets: Set team names, odds, and logos, giving players exciting new ways to engage.
- Real-Time Updates: Keep everyone in the loop with broadcasts of active bets and outcomes.
Discord Webhooks
Stay informed on every major action in your casino with detailed Discord Webhooks.
Config = {
Locale = 'en', -- Check locales folder
Framework = '', -- ESX, QB or STANDALONE
PlayerAccount = 'bank', -- The account name that the player will use to bet and receive the rewards
MoneyLocale = 'en-US',
MoneyCurrency = 'USD',
DiscordWebhook = {
url = '', -- Discord webhook URL. * If you don't want webhooks, just leave it empty.
logo = '',
serverName = 'FXServer'
},
OpenMethod = {
command = {
enabled = true,
name = 'casino' -- The command
},
markers = {
enabled = false,
drawDistance = 15.0,
markerType = 20,
coords = {
vector3(1087.58, 219.63, -49.20)
}
},
target = {
enabled = false,
text = 'Access Casino',
base = 'ox', -- Target script base. 'qb' or 'ox'
script = 'ox_target', -- Used to get the exports. 'qb-target', 'if-target', 'ox_target'
icon = 'fa-solid fa-globe',
coords = {
vector3(1087.58, 219.63, -49.20)
}
}
},
TeamBets = {
menu = { -- Menu based management (requires: ox_lib)
enabled = true,
command = 'manageTeamBets',
},
commands = { -- Command based management
enabled = false,
getAll = 'getTeamBets', -- Useful to get bet ids
create = 'createTeamBet', -- /command [team01 name] [team02 name] [team01 odd] [team02 odd] [team01 logo] [team02 logo]
setWinner = 'setWinnerTeam', -- /command [id] [team01 or team02]
delete = 'deleteTeamBet', -- /command [id]
},
restricted = 'admin'
},
SlotsGame = {
winChance = math.random(35, 50)
},
RouletteGame = {
winChance = math.random(45, 55)
},
LuckyWheelGame = {
prizes = {
[1] = {
label = '1x Smartphone',
color = 'yellow',
onWin = function(playerSrc)
-- EXAMPLE FOR ESX
--[[local xPlayer = SVFramework['Object'].GetPlayerFromId(playerSrc)
xPlayer.addInventoryItem('phone', 1)--]]
end
},
[2] = {
label = 'No Prize',
color = 'black'
},
[3] = {
label = '1x Toyo Supra \'98',
color = 'blue',
onWin = function(playerSrc)
end
},
[4] = {
label = '2x Cigarette',
color = 'black',
onWin = function(playerSrc)
end
},
[5] = {
label = '$15.000',
color = 'red',
onWin = function(playerSrc)
end
},
[6] = {
label = 'No Prize',
color = 'black'
},
[7] = {
label = '$5000',
color = 'yellow',
onWin = function(playerSrc)
end
},
[8] = {
label = 'No Prize',
color = 'black',
onWin = function(playerSrc)
end
},
[9] = {
label = '1x BMV M3 E46',
color = 'white',
onWin = function(playerSrc)
end
},
[10] = {
label = '6x Sprunk',
color = 'black',
onWin = function(playerSrc)
end
},
}
}
}
Available Webhooks
-
Team Betting:
- New Bet Created: Get alerts when a new team bet is created, with team details, odds, and finish dates.
- Winner Team Set: See when a winner is declared, who declared it, and the total payout.
- Bet Deleted: Logs when a team bet is removed, including refunds (if applicable).
-
Casino Games:
- Lucky Wheel Wins: Notify wins on the wheel, with player details, prizes, and bet rewards.
- Game Wins: Show wins on games like slots and roulette, including the winner’s name and reward amount.
-
Player Bets:
- Placed Team Bets: Tracks players’ bets on teams, with all relevant details like team and wager amount.
Documentation
1. Configuration
Edit the config.lua file to customize your casino. Key options include:
Open Method
-
Commands: Enable command access for players (
/casino). -
Markers: Add 3D markers that players can interact with (fully customizable).
-
Target: Use
ox_targetor similar scripts for interaction points.
Discord Webhooks
- Set up your webhook with
DiscordWebhook.url, customize the logo and server name for alerts.
Games and Rewards
-
Adjust win chances for Roulette and Slots games.
-
Add custom prizes to the Lucky Wheel, including server-side callbacks for rewards like items or vehicles.
Team Betting
-
Switch between command-based or menu-based management.
-
Restrict access to admin roles or specific permissions.
Most Advanced Game Currency System
Discount Code (Limit):15-ifdev
|-------------------------------------|----------------------------|
| Code is accessible | No |
| Subscription-based | No |
| Lines (approximately) | +1500 |
| Requirements | Standalone |
| Support | Yes |









