[Standalone] IF Casino System

Video Preview:




:game_die: 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!


:sparkles: Features

:clipboard: 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.lua file and manage translations easily using the locales system.
  • Flexible Access Options: Use commands, markers, or targets (like ox_target) to open the casino interface.

:video_game: 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.

:crossed_swords: 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.

:card_index_dividers: 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.

:page_facing_up: 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_target or 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.

BUY This Script

Most Advanced Game Currency System
Discount Code (Limit): 15-ifdev

|-------------------------------------|----------------------------|
| Code is accessible | No |
| Subscription-based | No |
| Lines (approximately) | +1500 |
| Requirements | Standalone |
| Support | Yes |

1 Like