Lumo Cards — installation guide
1. Dependencies
| Resource | Required | Notes |
|---|---|---|
| oxmysql | yes | Any recent version |
| qb-core / qbx_core / es_extended | no | Detected at start. None = standalone mode |
| ox_target / qb-target | no | Without one, a built-in [E] Play cards prompt is used |
| object_gizmo + ox_lib | admins | Moves/rotates the table and chairs in /callbreaktables |
| ox_lib or qb-menu | no | Leaderboard menu (otherwise it prints to chat) |
| lumo-interact | no | Used for prompts if present |
2. Install
- Drop the
lumo-cardsfolder intoresources/(any folder name works, e.g.lumo-cards-opensource). - Add the resource to
server.cfgafter the resources it detects:If you ensure whole folders (ensure oxmysql ensure ox_lib ensure qb-core # or qbx_core / es_extended ensure ox_target # or qb-target ensure object_gizmo ensure lumo-cardsensure [standalone]), make sure the folder holding your framework comes before the one holding lumo-cards. - Start the server. The console prints
[lumo-cards] framework: qb(orqbx,esx,standalone). If it shows the wrong one, setConfig.Frameworkinconfig.lua. - The
lumo_cards_tablesandlumo_game_statstables are created on first start.lumo-cards.sqlis only needed if your database user can't create tables.
3. Give yourself admin
Admins are the framework groups in Config.Admin.permissions, or anyone with the ACE in Config.Admin.ace (default command, which txAdmin admins already have).
- QBCore / Qbox:
adminandgodwork out of the box. - ESX: add
'superadmin'toConfig.Admin.permissionsif you use it. - Standalone:
add_ace group.admin command allow+add_principal identifier.license:xxxx group.admin.
4. Place a table
- Go where the table should stand and run
/callbreaktables. - + New table here spawns a ghost table with four chairs in front of you.
- Pick the game: Any game (the host picks Callbreak, Teen Patti, Rummy or Blackjack in the lobby) or one game only. Then pick a table model and a chair model (or None to use a table that is already in the map or MLO).
- Fly camera lets you fly around and aim, then press E to drop the table there. Move / rotate table opens the gizmo (
Wmove,Rrotate,Enterdone). Chairs follow the table. Chair 1–4 fine-tune a single chair. Auto-arrange chairs puts them evenly round the table. - Save table. It spawns for every player within
spawnDistance.
Edit, teleport to, or delete tables from the same panel. A table can't be edited while a game is running on it.
5. Play
Walk up to the table, target it (or press E) → Play cards (or Play <game> on a table locked to one game). At an any game table, pick the game, then Host or Solo vs bots. Other players Join from the list, or Watch. Everyone is sat down and the camera moves over the table. The host presses Start (or Fill with bots) on the table mat. Backspace twice leaves.
6. Tuning
- Seat height per chair model:
Config.Admin.chairModels[n].sitZ. - Camera:
Config.Table3D.camHeight,camBack,camFovandoverview. - Card size:
trickScale,handScale,pileScale(1.0 = real size). - Felt colour:
feltColour(RGBA), ornilfor the bare table.
7. Updating
Replace every file except config.lua (compare it with the new one for new options), then restart the resource. Placed tables and stats live in the database and are kept.
From 1.0.x to 1.1.0: add the new Config.Games, Config.TurnSeconds and Config.Challenge.game blocks to your config.lua. Tables placed before 1.1.0 play any game; edit one in /callbreaktables to lock it to a single game.