> For the complete documentation index, see [llms.txt](https://feron-scripts.gitbook.io/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://feron-scripts.gitbook.io/welcome/scripts/liars-deck/config.md).

# Config

{% tabs %}
{% tab title="QBCore" %}

```lua
-- ============================================================
-- config.lua  —  Liar's Deck
-- All settings are configured here. Lua and React NUI read
-- this file via shared_scripts.
-- ============================================================

Config = {}

-- -------------------------------------------------------
-- FRAMEWORK
-- "newqb"  → Modern QBCore (exports["qb-core"])
-- "oldqb"  → Legacy QBCore (TriggerEvent based)
-- "esx"    → ESX (exports["es_extended"])
-- -------------------------------------------------------
Config.Framework = "newqb"

-- -------------------------------------------------------
-- CLIENT NOTIFY
-- Customize this to use your own notification system.
-- Default uses QBCore/ESX built-in notifications.
-- -------------------------------------------------------
Config.Notify = function(text, notifType)
    QBCore.Functions.Notify(text, notifType)
end

-- -------------------------------------------------------
-- INTERACT KEY
-- 38 = E | 47 = G | 74 = H
-- -------------------------------------------------------
Config.InteractKey = 38

-- -------------------------------------------------------
-- TABLE SETTINGS
-- -------------------------------------------------------
Config.MaxPlayersPerTable = 4   -- Max players per table (2-4)
Config.MinPlayersToStart  = 1   -- Min players to start (set to 2 for production)

-- -------------------------------------------------------
-- ROULETTE / CHAMBER SETTINGS
-- -------------------------------------------------------
Config.ChamberSize  = 6   -- Chamber slots (standard revolver: 6)
Config.BulletCount  = 1   -- Loaded bullets (1 = classic Russian Roulette)

-- -------------------------------------------------------
-- GAME RULES
-- -------------------------------------------------------
Config.CardsPerHand    = 5    -- Cards dealt per player per round
Config.TurnTimerSec    = 60   -- Seconds per turn before auto-play
Config.AutoRetryDelay  = 10   -- Seconds before auto-starting new game after game over (0 = disabled)

-- Deck composition (how many of each card type)
Config.Deck = {
    ace   = 6,
    king  = 6,
    queen = 6,
    joker = 2,
}
Config.TableCardOptions = { "ace", "king", "queen" }  -- Possible table cards each round

-- Allowed values for host game settings (lobby)
Config.SettingOptions = {
    cardsPerHand = { 3, 4, 5 },
    turnTimerSec = { 30, 45, 60, 90 },
    chamberSize  = { 4, 5, 6 },
}

-- -------------------------------------------------------
-- TIMING (milliseconds)
-- -------------------------------------------------------
Config.Timing = {
    -- Round / game flow
    RoundStartDelay     = 3500,  -- Wait after round intro before dealing cards
    PostEliminationDelay = 1000, -- Wait after elimination before new round
    AllCardsPlayedDelay = 1500,  -- Wait when all cards played before new round
    GameOverResetDelay  = 5000,  -- Wait before resetting table after game over
    BotNuiNotifyDelay   = 500,   -- Wait for NUI card notification before bot acts

    -- Sit / stand
    SitDuration         = 2000,  -- Wait during sit animation
    StandDuration       = 3000,  -- Wait during stand animation
    WalkTimeout         = 5000,  -- Max walk time to chair

    -- Roulette animations
    RoulettePreDelay    = 3500,  -- Wait before roulette starts client-side
    RouletteRaise       = 700,   -- Gun raising to head
    RouletteTension     = 1500,  -- Tension pause before shot
    RouletteDeathFreeze = 1500,  -- After bang, freeze death pose
    RouletteClickWait   = 500,   -- After click sound
    RouletteGunLower    = 800,   -- Lowering gun after survival
    RouletteAnimSpeed   = 0.15,  -- Slow-mo gun raise speed (0.0-1.0)

    -- Card play / liar call
    CardThrowDuration   = 1200,  -- Card throw animation
    TableSlamDuration   = 2000,  -- Table slam animation (liar call)
    TableSlamRecovery   = 500,   -- Recovery after slam

    -- Server-side roulette result waits
    DeathAnimWait       = 5000,  -- Server wait for death animation
    SurviveAnimWait     = 4000,  -- Server wait for survival animation
}

-- -------------------------------------------------------
-- BOT SETTINGS
-- -------------------------------------------------------
Config.Bot = {
    Models       = { "a_m_y_business_01", "a_m_y_hipster_01", "s_m_y_dealer_01", "a_m_y_stwhi_02" },
    NamePrefix   = "Bot #",           -- Bot names: "Bot #1", "Bot #2", etc.
    LiarChance   = 30,                -- Percent chance bot calls liar (0-100)
    TurnDelay    = 2000,              -- ms before bot plays its turn
    RouletteDelay = 3500,             -- ms before bot pulls trigger
    MaxCardsPerPlay = 2,              -- Max cards bot plays at once
    CooldownSec  = 1,                 -- Rate limit for add/remove bot (seconds)
}

-- -------------------------------------------------------
-- PROP MODELS
-- -------------------------------------------------------
Config.TableModel = "ch_prop_table_casino_tall_01a"
Config.ChairModel = "vw_prop_casino_chair_01a"

-- Chair offsets relative to table center (rotated by table heading)
-- x, y = offset in metres from table center
-- heading = character facing direction
Config.ChairOffsets = {
    { x =  0.0,  y =  0.85, heading = 180.0 },   -- Seat 1: North
    { x = -0.85, y =  0.0,  heading = 270.0 },   -- Seat 2: West
    { x =  0.0,  y = -0.85, heading =   0.0 },   -- Seat 3: South
    { x =  0.85, y =  0.0,  heading =  90.0 },   -- Seat 4: East
}

-- Card props (placed on table when cards are played)
Config.CardPropClosed = "vw_prop_vw_lux_card_01a"
Config.CardPropOpen   = "vw_prop_casino_cards_single"

-- Card prop placement on table
Config.CardSurfaceZ    = 1.05   -- Table surface height offset from prop origin
Config.CardSpread      = 0.06   -- Distance between card props (metres)
Config.CardRandomRot   = 15     -- Random rotation range for placed cards (degrees)

-- Weapon prop (roulette revolver)
Config.WeaponModel  = "w_pi_pistol"
Config.WeaponBone   = 57005   -- Right hand bone ID
Config.WeaponOffset = { x = 0.1, y = 0.02, z = -0.02, rx = -80.0, ry = 0.0, rz = 0.0 }

-- -------------------------------------------------------
-- PROXIMITY / 3D TEXT
-- -------------------------------------------------------
Config.Proximity = {
    RenderDist   = 8.0,    -- Distance to show table label (metres)
    InteractDist = 3.0,    -- Distance to show sit prompt (metres)
    IdleWait     = 500,    -- ms wait when player is far from all tables
    LabelHeight  = 1.5,    -- Table label Z offset above table
    PromptHeight = 1.2,    -- Sit prompt Z offset above table
    NameTagHeight = 1.1,   -- Player/bot name tag Z offset above head
}

-- 3D Text rendering style
Config.Text3D = {
    Scale = 0.35,
    Font  = 4,
    Color = { r = 255, g = 255, b = 255, a = 215 },
}

-- -------------------------------------------------------
-- CAMERA SETTINGS
-- -------------------------------------------------------
Config.Camera = {
    InterpMs        = 800,    -- Transition time between cameras (ms)
    DefaultFov      = 50.0,   -- Default field of view
    OrbitSpeed      = 8.0,    -- Orbit rotation speed (degrees/second)
    OrbitRadius     = 2.0,    -- Orbit camera distance from table (metres)
    OrbitHeight     = 1.8,    -- Orbit camera height above table surface
    OrbitLookOffZ   = 0.2,    -- Look-at point Z offset
    EnterTransition = 1000,   -- Gameplay-to-camera transition (ms)
    ExitTransition  = 800,    -- Camera-to-gameplay transition (ms)
}

-- Camera presets (Q/Z to cycle)
-- offsetX/Y = distance from table center (rotated by table heading)
-- offsetZ = height above table surface
Config.CameraPresets = {
    { label = "Overhead",   offsetX =  0.0, offsetY = -0.2, offsetZ = 2.0, fov = 60.0, lookOffZ = 0.5 },
    { label = "Seat 1",     offsetX =  0.0, offsetY =  1.4, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 2",     offsetX = -1.4, offsetY =  0.0, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 3",     offsetX =  0.0, offsetY = -1.4, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 4",     offsetX =  1.4, offsetY =  0.0, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
}

-- -------------------------------------------------------
-- TABLE LOCATIONS (set by server admin)
-- coords  : vector3 — world coordinates
-- heading : float   — table rotation (0-360)
-- label   : string  — shown on minimap blip and proximity text
-- -------------------------------------------------------
Config.Tables = {
    {
        id      = 1,
        label   = "Liar's Table #1",
        coords  = vector3(-554.9, 287.46, 82.18),
        heading = 0.0,
    },
    {
        id      = 2,
        label   = "Liar's Table #2",
        coords  = vector3(-555.72, 282.96, 82.18),
        heading = 0.0,
    },
    -- Add more tables by copying this block:
    -- { id = 3, label = "Casino Table #3",
    --   coords = vector3(935.0, 45.0, 81.0), heading = 270.0 },
}

-- -------------------------------------------------------
-- HUD POSITIONS (adjust if overlapping with your HUD)
-- Values: CSS position strings (top/bottom/left/right)
-- -------------------------------------------------------
Config.HudPositions = {
    playersPanel  = { top = "20px", left = "20px" },         -- Players list (game)
    controlsPanel = { top = "20px", right = "20px" },        -- Controls guide (game)
    statusPanel   = { bottom = "20px", left = "260px" },     -- Chamber status (game)
}

-- -------------------------------------------------------
-- BLIP SETTINGS (minimap marker)
-- Single area blip instead of per-table blips.
-- Set enabled = false to disable, or set your own coords.
-- sprite: https://docs.fivem.net/game-references/blips/
-- color : https://docs.fivem.net/game-references/blips/#blip-colors
-- -------------------------------------------------------
Config.Blip = {
    enabled = true,
    coords  = vector3(-564.09, 268.43, 82.47),
    label   = "Liar's Bar",
    sprite  = 680,   -- Casino Table Games
    color   = 5,
    scale   = 0.7,
}

-- -------------------------------------------------------
-- TRANSLATIONS / LOCALIZATION
-- All in-game text strings. Change these to translate.
-- -------------------------------------------------------
Config.Translate = {
    -- Proximity / 3D text
    sitDown              = "Press ~y~E~w~ to sit",

    -- Turn indicators (above player heads)
    turnIndicator        = ">> TURN <<",
    deadIndicator        = "DEAD",

    -- Notifications
    tableFull            = "This table is full.",
    gameInProgress       = "A game is already in progress.",
    notEnoughPlayers     = "Need at least %s players to start.",
    kicked               = "You were kicked from the table by the host.",
    hostLeft             = "Host left. New host: %s",
    playerEliminated     = "%s has been eliminated!",
    playerWon            = "%s wins the round!",

    -- Gameplay
    yourTurn             = "Your turn!",
    waitTurn             = "Wait for your turn...",
    bluffCalled          = "%s called LIAR on %s!",
    cardsRevealed        = "%s played %s — claim was %s",
    rouletteTime         = "Pull the trigger...",
    blank                = "BLANK — You survive!",
    bang                 = "BANG! — You are eliminated.",

    -- Server callback reasons
    invalidTable         = "Invalid table.",
    alreadySeated        = "You are already seated.",
    cannotLeaveDuringGame = "Cannot leave during a game.",
    notHost              = "You are not the host.",
    targetNotFound       = "Target player not found.",
    cannotKickDuringGame = "Cannot kick during a game.",
    playerNotFound       = "Player not found.",
    useRemoveBot         = "Use remove bot instead.",
    onlyHostCanStart     = "Only the host can start the game.",
    gameAlreadyStarted   = "Game already started.",
    notYourTurn          = "Not your turn.",
    noCardsSelected      = "No cards selected.",
    noPlayToChallenge    = "No play to challenge.",
    notYourRouletteTurn  = "Not your roulette turn.",
    tooFast              = "Too fast.",
    notAtTable           = "Not at a table.",
    onlyInLobby          = "Only in lobby.",
    tableIsFull          = "Table is full.",
    noBotsToRemove       = "No bots to remove.",
    cannotLeaveNow       = "Cannot leave now.",

    -- Ready system
    notAllReady          = "Not all players are ready.",
    ready                = "READY",
    notReady             = "NOT READY",

    -- Session stats
    statsWins            = "W",
    statsRounds          = "R",
    statsEliminations    = "E",

    -- Host game settings
    settingsTitle        = "GAME SETTINGS",
    settingCardsPerHand  = "Cards",
    settingTurnTimer     = "Timer",
    settingChamberSize   = "Chamber",
    seconds              = "s",

    -- How to play
    howToPlay            = "How to Play",
    hideRules            = "Hide Rules",
    rulesTitle           = "HOW TO PLAY",
    rulesCardSystem      = "Each round, a table card is chosen (Ace, King, or Queen). You receive cards and must play 1 or more face-down, claiming they match the table card.",
    rulesClaiming        = "You may lie about your cards. Play any cards and claim they are the table card.",
    rulesLiarCall        = "The next player can call LIAR. Cards are revealed — if the player lied, they face the revolver. If honest, the caller does.",
    rulesRoulette        = "The revolver has one bullet in a random chamber. Pull the trigger — survive or be eliminated.",
    rulesWinning         = "The last player standing wins. A new game starts automatically.",

    -- Chat
    chatPlaceholder      = "Type a message...",
    chatSend             = "Send",
}

```

{% endtab %}

{% tab title="ESX" %}

```lua
-- ============================================================
-- config.lua  —  Liar's Deck
-- All settings are configured here. Lua and React NUI read
-- this file via shared_scripts.
-- ============================================================

Config = {}

-- -------------------------------------------------------
-- FRAMEWORK
-- "newqb"  → Modern QBCore (exports["qb-core"])
-- "oldqb"  → Legacy QBCore (TriggerEvent based)
-- "esx"    → ESX (exports["es_extended"])
-- -------------------------------------------------------
Config.Framework = "esx"

-- -------------------------------------------------------
-- CLIENT NOTIFY
-- Customize this to use your own notification system.
-- Default uses QBCore/ESX built-in notifications.
-- -------------------------------------------------------
Config.Notify = function(text, notifType)
    QBCore.Functions.Notify(text, notifType)
end

-- -------------------------------------------------------
-- INTERACT KEY
-- 38 = E | 47 = G | 74 = H
-- -------------------------------------------------------
Config.InteractKey = 38

-- -------------------------------------------------------
-- TABLE SETTINGS
-- -------------------------------------------------------
Config.MaxPlayersPerTable = 4   -- Max players per table (2-4)
Config.MinPlayersToStart  = 1   -- Min players to start (set to 2 for production)

-- -------------------------------------------------------
-- ROULETTE / CHAMBER SETTINGS
-- -------------------------------------------------------
Config.ChamberSize  = 6   -- Chamber slots (standard revolver: 6)
Config.BulletCount  = 1   -- Loaded bullets (1 = classic Russian Roulette)

-- -------------------------------------------------------
-- GAME RULES
-- -------------------------------------------------------
Config.CardsPerHand    = 5    -- Cards dealt per player per round
Config.TurnTimerSec    = 60   -- Seconds per turn before auto-play
Config.AutoRetryDelay  = 10   -- Seconds before auto-starting new game after game over (0 = disabled)

-- Deck composition (how many of each card type)
Config.Deck = {
    ace   = 6,
    king  = 6,
    queen = 6,
    joker = 2,
}
Config.TableCardOptions = { "ace", "king", "queen" }  -- Possible table cards each round

-- Allowed values for host game settings (lobby)
Config.SettingOptions = {
    cardsPerHand = { 3, 4, 5 },
    turnTimerSec = { 30, 45, 60, 90 },
    chamberSize  = { 4, 5, 6 },
}

-- -------------------------------------------------------
-- TIMING (milliseconds)
-- -------------------------------------------------------
Config.Timing = {
    -- Round / game flow
    RoundStartDelay     = 3500,  -- Wait after round intro before dealing cards
    PostEliminationDelay = 1000, -- Wait after elimination before new round
    AllCardsPlayedDelay = 1500,  -- Wait when all cards played before new round
    GameOverResetDelay  = 5000,  -- Wait before resetting table after game over
    BotNuiNotifyDelay   = 500,   -- Wait for NUI card notification before bot acts

    -- Sit / stand
    SitDuration         = 2000,  -- Wait during sit animation
    StandDuration       = 3000,  -- Wait during stand animation
    WalkTimeout         = 5000,  -- Max walk time to chair

    -- Roulette animations
    RoulettePreDelay    = 3500,  -- Wait before roulette starts client-side
    RouletteRaise       = 700,   -- Gun raising to head
    RouletteTension     = 1500,  -- Tension pause before shot
    RouletteDeathFreeze = 1500,  -- After bang, freeze death pose
    RouletteClickWait   = 500,   -- After click sound
    RouletteGunLower    = 800,   -- Lowering gun after survival
    RouletteAnimSpeed   = 0.15,  -- Slow-mo gun raise speed (0.0-1.0)

    -- Card play / liar call
    CardThrowDuration   = 1200,  -- Card throw animation
    TableSlamDuration   = 2000,  -- Table slam animation (liar call)
    TableSlamRecovery   = 500,   -- Recovery after slam

    -- Server-side roulette result waits
    DeathAnimWait       = 5000,  -- Server wait for death animation
    SurviveAnimWait     = 4000,  -- Server wait for survival animation
}

-- -------------------------------------------------------
-- BOT SETTINGS
-- -------------------------------------------------------
Config.Bot = {
    Models       = { "a_m_y_business_01", "a_m_y_hipster_01", "s_m_y_dealer_01", "a_m_y_stwhi_02" },
    NamePrefix   = "Bot #",           -- Bot names: "Bot #1", "Bot #2", etc.
    LiarChance   = 30,                -- Percent chance bot calls liar (0-100)
    TurnDelay    = 2000,              -- ms before bot plays its turn
    RouletteDelay = 3500,             -- ms before bot pulls trigger
    MaxCardsPerPlay = 2,              -- Max cards bot plays at once
    CooldownSec  = 1,                 -- Rate limit for add/remove bot (seconds)
}

-- -------------------------------------------------------
-- PROP MODELS
-- -------------------------------------------------------
Config.TableModel = "ch_prop_table_casino_tall_01a"
Config.ChairModel = "vw_prop_casino_chair_01a"

-- Chair offsets relative to table center (rotated by table heading)
-- x, y = offset in metres from table center
-- heading = character facing direction
Config.ChairOffsets = {
    { x =  0.0,  y =  0.85, heading = 180.0 },   -- Seat 1: North
    { x = -0.85, y =  0.0,  heading = 270.0 },   -- Seat 2: West
    { x =  0.0,  y = -0.85, heading =   0.0 },   -- Seat 3: South
    { x =  0.85, y =  0.0,  heading =  90.0 },   -- Seat 4: East
}

-- Card props (placed on table when cards are played)
Config.CardPropClosed = "vw_prop_vw_lux_card_01a"
Config.CardPropOpen   = "vw_prop_casino_cards_single"

-- Card prop placement on table
Config.CardSurfaceZ    = 1.05   -- Table surface height offset from prop origin
Config.CardSpread      = 0.06   -- Distance between card props (metres)
Config.CardRandomRot   = 15     -- Random rotation range for placed cards (degrees)

-- Weapon prop (roulette revolver)
Config.WeaponModel  = "w_pi_pistol"
Config.WeaponBone   = 57005   -- Right hand bone ID
Config.WeaponOffset = { x = 0.1, y = 0.02, z = -0.02, rx = -80.0, ry = 0.0, rz = 0.0 }

-- -------------------------------------------------------
-- PROXIMITY / 3D TEXT
-- -------------------------------------------------------
Config.Proximity = {
    RenderDist   = 8.0,    -- Distance to show table label (metres)
    InteractDist = 3.0,    -- Distance to show sit prompt (metres)
    IdleWait     = 500,    -- ms wait when player is far from all tables
    LabelHeight  = 1.5,    -- Table label Z offset above table
    PromptHeight = 1.2,    -- Sit prompt Z offset above table
    NameTagHeight = 1.1,   -- Player/bot name tag Z offset above head
}

-- 3D Text rendering style
Config.Text3D = {
    Scale = 0.35,
    Font  = 4,
    Color = { r = 255, g = 255, b = 255, a = 215 },
}

-- -------------------------------------------------------
-- CAMERA SETTINGS
-- -------------------------------------------------------
Config.Camera = {
    InterpMs        = 800,    -- Transition time between cameras (ms)
    DefaultFov      = 50.0,   -- Default field of view
    OrbitSpeed      = 8.0,    -- Orbit rotation speed (degrees/second)
    OrbitRadius     = 2.0,    -- Orbit camera distance from table (metres)
    OrbitHeight     = 1.8,    -- Orbit camera height above table surface
    OrbitLookOffZ   = 0.2,    -- Look-at point Z offset
    EnterTransition = 1000,   -- Gameplay-to-camera transition (ms)
    ExitTransition  = 800,    -- Camera-to-gameplay transition (ms)
}

-- Camera presets (Q/Z to cycle)
-- offsetX/Y = distance from table center (rotated by table heading)
-- offsetZ = height above table surface
Config.CameraPresets = {
    { label = "Overhead",   offsetX =  0.0, offsetY = -0.2, offsetZ = 2.0, fov = 60.0, lookOffZ = 0.5 },
    { label = "Seat 1",     offsetX =  0.0, offsetY =  1.4, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 2",     offsetX = -1.4, offsetY =  0.0, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 3",     offsetX =  0.0, offsetY = -1.4, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
    { label = "Seat 4",     offsetX =  1.4, offsetY =  0.0, offsetZ = 0.8, fov = 55.0, lookOffZ = 0.4 },
}

-- -------------------------------------------------------
-- TABLE LOCATIONS (set by server admin)
-- coords  : vector3 — world coordinates
-- heading : float   — table rotation (0-360)
-- label   : string  — shown on minimap blip and proximity text
-- -------------------------------------------------------
Config.Tables = {
    {
        id      = 1,
        label   = "Liar's Table #1",
        coords  = vector3(-554.9, 287.46, 82.18),
        heading = 0.0,
    },
    {
        id      = 2,
        label   = "Liar's Table #2",
        coords  = vector3(-555.72, 282.96, 82.18),
        heading = 0.0,
    },
    -- Add more tables by copying this block:
    -- { id = 3, label = "Casino Table #3",
    --   coords = vector3(935.0, 45.0, 81.0), heading = 270.0 },
}

-- -------------------------------------------------------
-- HUD POSITIONS (adjust if overlapping with your HUD)
-- Values: CSS position strings (top/bottom/left/right)
-- -------------------------------------------------------
Config.HudPositions = {
    playersPanel  = { top = "20px", left = "20px" },         -- Players list (game)
    controlsPanel = { top = "20px", right = "20px" },        -- Controls guide (game)
    statusPanel   = { bottom = "20px", left = "260px" },     -- Chamber status (game)
}

-- -------------------------------------------------------
-- BLIP SETTINGS (minimap marker)
-- Single area blip instead of per-table blips.
-- Set enabled = false to disable, or set your own coords.
-- sprite: https://docs.fivem.net/game-references/blips/
-- color : https://docs.fivem.net/game-references/blips/#blip-colors
-- -------------------------------------------------------
Config.Blip = {
    enabled = true,
    coords  = vector3(-564.09, 268.43, 82.47),
    label   = "Liar's Bar",
    sprite  = 680,   -- Casino Table Games
    color   = 5,
    scale   = 0.7,
}

-- -------------------------------------------------------
-- TRANSLATIONS / LOCALIZATION
-- All in-game text strings. Change these to translate.
-- -------------------------------------------------------
Config.Translate = {
    -- Proximity / 3D text
    sitDown              = "Press ~y~E~w~ to sit",

    -- Turn indicators (above player heads)
    turnIndicator        = ">> TURN <<",
    deadIndicator        = "DEAD",

    -- Notifications
    tableFull            = "This table is full.",
    gameInProgress       = "A game is already in progress.",
    notEnoughPlayers     = "Need at least %s players to start.",
    kicked               = "You were kicked from the table by the host.",
    hostLeft             = "Host left. New host: %s",
    playerEliminated     = "%s has been eliminated!",
    playerWon            = "%s wins the round!",

    -- Gameplay
    yourTurn             = "Your turn!",
    waitTurn             = "Wait for your turn...",
    bluffCalled          = "%s called LIAR on %s!",
    cardsRevealed        = "%s played %s — claim was %s",
    rouletteTime         = "Pull the trigger...",
    blank                = "BLANK — You survive!",
    bang                 = "BANG! — You are eliminated.",

    -- Server callback reasons
    invalidTable         = "Invalid table.",
    alreadySeated        = "You are already seated.",
    cannotLeaveDuringGame = "Cannot leave during a game.",
    notHost              = "You are not the host.",
    targetNotFound       = "Target player not found.",
    cannotKickDuringGame = "Cannot kick during a game.",
    playerNotFound       = "Player not found.",
    useRemoveBot         = "Use remove bot instead.",
    onlyHostCanStart     = "Only the host can start the game.",
    gameAlreadyStarted   = "Game already started.",
    notYourTurn          = "Not your turn.",
    noCardsSelected      = "No cards selected.",
    noPlayToChallenge    = "No play to challenge.",
    notYourRouletteTurn  = "Not your roulette turn.",
    tooFast              = "Too fast.",
    notAtTable           = "Not at a table.",
    onlyInLobby          = "Only in lobby.",
    tableIsFull          = "Table is full.",
    noBotsToRemove       = "No bots to remove.",
    cannotLeaveNow       = "Cannot leave now.",

    -- Ready system
    notAllReady          = "Not all players are ready.",
    ready                = "READY",
    notReady             = "NOT READY",

    -- Session stats
    statsWins            = "W",
    statsRounds          = "R",
    statsEliminations    = "E",

    -- Host game settings
    settingsTitle        = "GAME SETTINGS",
    settingCardsPerHand  = "Cards",
    settingTurnTimer     = "Timer",
    settingChamberSize   = "Chamber",
    seconds              = "s",

    -- How to play
    howToPlay            = "How to Play",
    hideRules            = "Hide Rules",
    rulesTitle           = "HOW TO PLAY",
    rulesCardSystem      = "Each round, a table card is chosen (Ace, King, or Queen). You receive cards and must play 1 or more face-down, claiming they match the table card.",
    rulesClaiming        = "You may lie about your cards. Play any cards and claim they are the table card.",
    rulesLiarCall        = "The next player can call LIAR. Cards are revealed — if the player lied, they face the revolver. If honest, the caller does.",
    rulesRoulette        = "The revolver has one bullet in a random chamber. Pull the trigger — survive or be eliminated.",
    rulesWinning         = "The last player standing wins. A new game starts automatically.",

    -- Chat
    chatPlaceholder      = "Type a message...",
    chatSend             = "Send",
}

```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://feron-scripts.gitbook.io/welcome/scripts/liars-deck/config.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
