Jhandi Munda: config files
These files stay readable in every build (escrow too), so you can change them. Shown as shipped in version 1.0.0.
config.lua
lua
Config = {}
-- ════════════════════════════════════════════════════════════════════════════
-- Lumo Jhandi Munda + Kauda — configuration
-- A house betting table: open it at a table and anyone sits down and bets.
-- ════════════════════════════════════════════════════════════════════════════
-- Framework: 'auto' | 'qbx' | 'qb' | 'esx' | 'standalone'. Target: 'auto' | 'ox' | 'qb' | 'none'.
Config.Framework = 'auto'
Config.Target = 'auto'
-- Developer commands and console output. Keep false on a live server.
Config.Debug = false
-- ── Players ─────────────────────────────────────────────────────────────────
Config.Command = 'jhandi' -- opens the table menu while standing at a mat
Config.LeaderboardCommand = 'jhandiboard'
Config.TableDistance = 1.8
Config.AllowSolo = false -- (no AI: the house plays every round)
Config.AllowSpectators = true
Config.JoinDistance = 0.0
-- ── Games ───────────────────────────────────────────────────────────────────
-- Every table plays 'jhandi', 'kauda' or 'both' (the player who opens it picks).
Config.DefaultTableGames = 'both'
Config.BothIdleBoard = 'jhandi'
-- ── Money ───────────────────────────────────────────────────────────────────
-- Real money from the framework account. Without a money framework (standalone)
-- or with FreePlay on, everyone plays with free chips (FreeChips each).
Config.Money = { account = 'cash' }
Config.FreePlay = false
Config.FreeChips = 1000
Config.Chips = { 10, 50, 100, 500, 1000 } -- chip values (wheel / Q / E)
Config.MaxBetPerRound = 5000 -- one player's total per round
Config.Rounds = {
betSeconds = 15, -- betting window
shakeMs = 3800, -- Jhandi Munda: cup over the dice, shake, reveal
throwMs = 2200, -- Kauda: the shells fly and settle
resultMs = 5500, -- winners shown before the next round
}
-- Jhandi Munda: six dice with Paan, Hukum, Itta, Chidi, Munda, Jhandi. A bet
-- wins when its symbol shows at least minMatch times and pays stake x pays[n]
-- on top of the stake (n = how many dice show it). Default ~86% return.
Config.Jhandi = {
minMatch = 2,
pays = { [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6 },
maxPayout = 250000,
}
-- Kauda: 16 cowries; bet on how many land mouth up (0-16). A hit pays stake x
-- pays[count] on top of the stake. Default ~86% return.
Config.Kauda = {
pays = {
[0] = 50000, [1] = 3500, [2] = 450, [3] = 100, [4] = 30, [5] = 12, [6] = 6, [7] = 4, [8] = 3.5,
[9] = 4, [10] = 6, [11] = 12, [12] = 30, [13] = 100, [14] = 450, [15] = 3500, [16] = 50000,
},
maxPayout = 250000,
}
-- Invite another player to the table through the target eye.
Config.Challenge = {
enabled = true,
tableDistance = 2.8,
playerDistance = 3.0,
timeoutSeconds = 15,
}
-- (Per-game stakes are not used here: every bet is its own stake.)
Config.Bet = { enabled = false, amount = 0, account = 'cash' }
Config.WinReward = { enabled = false, chance = 0, items = {} }
-- ── Admin table placement ───────────────────────────────────────────────────
-- /jhanditables: place a table + 4 chairs with the fly camera and the gizmo.
-- The Jhandi mat is 0.60 x 0.40 m and the dice + cup sit 0.3 m beyond its far
-- edge: pick a table at least ~1.0 m across. The Kauda mat is 0.50 m round.
Config.Admin = {
command = 'jhanditables',
permissions = { 'admin', 'god' },
ace = 'command',
maxPlaceDistance = 40.0,
spawnDistance = 80.0,
tableModels = {
{ model = 'apa_mp_h_din_table_04', label = 'Round dining table' },
{ model = 'prop_chateau_table_01', label = 'Chateau table' },
{ model = 'prop_table_03', label = 'Café table' },
{ model = 'none', label = 'None (use a world table)' },
},
chairModels = {
{ model = 'apa_mp_h_din_chair_08', label = 'Dining chair', yaw = 180.0, sitZ = 0.47 },
{ model = 'ch_prop_casino_chair_01a', label = 'Casino chair', yaw = 180.0, sitZ = 0.08 },
{ model = 'bkr_prop_clubhouse_chair_01', label = 'Clubhouse chair', yaw = 180.0, sitZ = 0.08 },
{ model = 'prop_chair_01a', label = 'Plastic chair', yaw = 180.0, sitZ = 0.05 },
{ model = 'none', label = 'None (use world chairs)', yaw = 0.0 },
},
chairGap = 0.42,
}
Config.BotPeds = {}
Config.BotNames = {}
Config.BotSitZ = 0.0
Config.Bot = { thinkMs = 0 }
Config.FillEmptyWithAI = false
Config.AutoStartWhenFull = false
Config.TurnSeconds = 30
Config.AfkLimit = 0
Config.SeatPlayers = true
Config.SeatZOffset = 0.0
-- ── 3D table ────────────────────────────────────────────────────────────────
-- Click a spot to bet, right-click to take it back, Q / E: chip value; wheel: zoom,
-- R: repeat last bets, X: clear. V: close or whole-table view. Backspace twice stands up.
Config.Table3D = {
camHeight = 0.78,
camBack = 0.55,
camSway = false,
lightIntensity = 0.0, -- no added lamp/glare; raise slightly only for dark interiors
camFov = 50.0,
aim = 0.08,
overview = { height = 1.4, back = 1.3, aim = 0.1, fov = 52.0 },
startView = 'focus',
surfaceOffset = 0.0,
fallbackHeight = 0.45,
boardYawOffset = 0.0,
leaveKey = 194,
faceFlipU = false,
faceFlipV = false,
debugCommand = 'jhandi3dtest',
}
Config.CamHideHud = true
-- ── Fixed tables (optional) ─────────────────────────────────────────────────
-- chairs: vector4 with the sit heading, clockwise: 1 (-Y edge), 2 (-X), 3 (+Y), 4 (+X).
Config.UseConfigTables = false
Config.Tables = {}
if not Config.UseConfigTables then Config.Tables = {} end
Config.ShowBlips = false
Config.ShowMarkers = false
Config.BlipSprite = 680
Config.BlipColour = 25
Config.BlipName = 'Jhandi Munda'
Config.DevPlaceCommand = 'jhanditablehere'