Lumo Jhandi Munda
Jhandi Munda and Kauda betting tables for up to four players.
Version 1.0.0 · Frameworks QBCore · Qbox · ESX · standalone
Config files · Exports & events · Changelog
House betting tables on the streamed Jhandi mat or Kauda mat. Opening a table starts repeating betting, throw and payout rounds; up to four players can join. Jhandi uses six symbol dice. Kauda bets on the exact mouth-up count of sixteen shells.
Setup
- Start
oxmysqland your framework before this resource. QBCore, Qbox, ESX and standalone are auto-detected.object_gizmoenables precise table/chair placement; ox_target or qb-target enables table targeting. The nearby command also opens the lobby. - Add
ensure lumo-jhandimundatoserver.cfgafter oxmysql and your framework. On a running server, runrefresh, thenensure lumo-jhandimundain the console. - Tables and the shared leaderboard schema are created automatically; no SQL import is needed.
sql/install.sqlis supplied for manual installs. - As an admin, run
/jhanditables, choose New table here, place the furniture/chairs, choose the game where offered, and save. There are no fixed tables by default. Saved placements survive resource/server restarts. - Stand near the board and use the target or
/jhandi./jhandiboarddisplays the leaderboard.
Set options in config.lua. Admin access follows the framework permissions in Config.Admin, with the configured ACE fallback. No source build is required to test: the compiled NUI ships in html/dist.
Controls
Click a symbol/number to add a chip. Q/E changes the chip value. The mouse wheel zooms between close and overview views. Right-click removes your bet on that spot; R repeats the previous round and X clears your bets. V changes the camera; press Backspace twice to stand up.
In-game test checklist
- Place, edit and delete a table; restart the resource and confirm saved furniture returns.
- Test both Jhandi and Kauda: chip values, remove/clear/repeat, insufficient funds, round limits, payouts, joining during a round and standing up after stakes lock. Config.FreePlay = true uses practice chips; the default charges framework cash when betting closes.
- Verify the board/pieces align at different headings, both camera views work, and leaving restores controls and the camera.
The automated suite checks Lua syntax, rules and server sessions without a FiveM client. Model rendering, CEF textures, seating, targeting and live multiplayer still require in-game testing.
Source and verification
client/,server/,shared/: game, table editor, rendering and rules.framework/: per-resource framework adapter.nui/src/: React lobby/admin UI;html/dui/: in-world board face.shared/props.luaanddocs/ASSETS.md: streamed model geometry contract.blender/: original model/texture build scripts;stream/: exported props.
From the repository root: ./tests/lumo/run.sh. Rebuild UI changes with npm run typecheck && npm run build from this resource's nui/ folder.
Rebuild
Needs Blender 5.2 LTS, Sollumz 2.9 and texconv.exe (Microsoft DirectXTex) on PATH or in %USERPROFILE%\.local\bin (the lumo-ludo pipeline).
- Only if the art changed:
python blender/make_textures.py(Python 3 + Pillow + numpy). - Blender → Scripting → Text → Open
blender/build_all.py→ Run Script (orblender --background --python blender/build_all.py). It empties the open scene, rebuilds every prop, exports tostream/and savesblender/lumo_jhandimunda.blend. - Never hand-edit the files in
stream/; change the scripts and run again.
Blender MCP prompt: "Run blender/build_all.py in Blender with __file__ set to its path, show me the report and the files it wrote, then screenshot the props in Material Preview."
Credits
Models, textures and scripts are original work for lumo-jhandimunda. Exported with Sollumz; DDS conversion with Microsoft DirectXTex texconv.