![]()
Juice-FanWars – Multi-Sport Betting Script for FiveM
Bring FanDuel-style sports betting into your city with a fully in-game betting phone.
Players can place bets on simulated games — moneylines, spreads, parlays, and player props — all without leaving the RP experience.
Perfect for: casinos, sportsbooks, bar TVs, or servers that want long-term, passive gambling content.
CASH THE PARLAY !! GET A FULL REALISTIC SPORTS BETTING EXPERIENCE WITH Juice-FanWars !! 

Features
Multi-Sport Support
Basketball
- Moneyline
- Point spreads
- Player props: Points, Rebounds, Assists


Football
-
Moneyline
-
Point spreads
-
Player props: Passing Yards, Rushing Yards, Receptions, Receiving Yards
Realistic Odds
-
Baseball
- Moneyline
- Point Spreads
-
Player props: Home Runs, Stolen Bases, Hits, Strikeouts
-
MMA (UFC)- Moneyline fights
- Moneyline fights
- Fighter Props: KO, SUB, DEC, Total Rounds, Exact Round

Boxing
- Moneyline fights
- Moneyline fights
- Fighter props: KO , TKO , DEC, DQ , DRAW, Total Rounds, Exact Round
Parlay VS Straight Bet system
- Straight Bets - Wager 1 Leg and it will save as a straight bet.

- Parlays - Wager more than 1 leg and it will save as a parlay, and the odds will increase as you add more legs. But the chance for it to hit goes down drastically. Just like in real life.
Keep in mind Parlays have a higher chance of losing than straight bets.
- Realistic emote with Betting Phone prop when betting
(TOS Friendly, Non Branded Phone prop)
(TOS Friendly, Non Branded Phone prop)
(When using the phone)
- Wait for the games to finish automatically or do it manually to speed up the process.
In game command to get the games list. /fanwarsgames
Once you do this. Press F8.
You will see all of the games and all of the game ids.
To simulate a game , all you have to do is /simulategame [GAMEID]
So for example. /simulategame BASKETBALL4290 would simulate the Phoenix Gators vs Denver Pythons game. Or you could wait until it Ends in: 93m 48s. Once that timer finishes the results /stats for the game will be pushed to the server and the active bets on that game will settle as a winner or loser.
- Clear My Bets Button
Multiple Bet Types
Moneyline – Simple win/lose
Point Spreads – Basketball & Football
Player Props – Stat-based bets per sport
Parlay Bets – Combine bets across games and sports for higher payouts
Dynamic American Odds – e.g. +150 / -200
Immersive Betting Phone NUI
In-game Betting Phone UI for browsing games & placing bets
Live countdown timers for upcoming and active games
My Bets tab to track open bets and bet history
Server logo support in the interface (brand it to your city)
Game Simulation & Rotation
Configurable number of games per sport
- Example: 15 basketball, 15 football, 15 baseball, etc.
Each game has a random start time and duration within your configured ranges
Games are auto-simulated server-side — no player interaction needed once scheduled- When a game finishes:
- All bets on that game are graded & paid out
- A new game is automatically generated for that sport to keep the board full
Admin Tools
/simulategame [gameId]– Instantly simulate/finish a specific game/fanwarsgames– View all active games + timers (per sport)- Optional logging to track who is using admin tools (configurable)
Installation
- Add the BetPhone Item Image
- Copy
betphone.pnginto your inventory icon folder- Example (QBCore):
qb-inventory/html/images/ - Example (ox_inventory): your configured image path
- Example (QBCore):
- Register the BetPhone Item
Example (QBCore-style item):
- INSTALLATION STEP BY STEP DIRECTIONS ARE IN THE READ ME !!
['betphone'] = {
label = 'Betting Phone',
weight = 100,
type = 'item',
image = 'betphone.png',
unique = true,
useable = true,
shouldClose = true,
description = 'Opens the sports betting interface'
},
- For ESX / other inventories, convert to your item format (shown in the documentation).
- Run the SQL
- Execute the included
.sqlfile to create all FanWars tables for:- Games
- Players / stats
- Bets & bet legs
- Per-sport data (basketball, football, baseball, UFC, boxing)
- Add BetPhone to a Store / Shop
- Add
betphoneto your shop config or black market so players can purchase it.
- Props & Animations
- Uses
prop_amb_phonefor the betting animation. - Make sure this is included in your props pack and
fxmanifest.lua:
data_file 'DLC_ITYP_REQUEST' 'prop_amb_phone.ytyp'
- Set Your Server Logo
- Place
serverlogo.pnginhtml/img/logos/ - File name and path configurable in
config.lua.
Config Overview
| Option | Default | Description |
|---|---|---|
Config.NumGames |
15 |
How many games to generate per sport at server start. |
Config.MinGameDuration |
3600 |
Minimum game length in seconds (1 hour). |
Config.MaxGameDuration |
10800 |
Maximum game length in seconds (3 hours). |
Config.NewGameMinDuration |
3600 |
Minimum length for newly created games. |
Config.NewGameMaxDuration |
10800 |
Maximum length for newly created games. |
- When a game ends, a new one is automatically created for that sport to keep the board full.
Media
Video Preview:
Juice FanWars – Video Preview
Discord
Video Preview:
Discord Support
Purchase
- Tebex: https://tinyurl.com/juicefanwars
- Version: v1.0
- Frameworks: QBCore & ESX supported
- Requirements:
oxmysql,qb-coreores_extended - Support:
Yes (Discord – link available on Tebex)
Required Information
| Code is accessible | Yes |
| Subscription-based | No |
| Lines (approximately) | 3031 |
| Requirements | oxmysql, qb-core or es_extended |
| Support | Yes (Discord) |














































































