REX SALOON GAMES

REX STUDIO – REX SALOON GAMES – Chess, checkers & dominoes for RedM (VORP / RSG / Standalone)

Pull up a chair, partner. REX SALOON GAMES turns any saloon into a real games room: chess, checkers and dominoes played with real 3D pieces on a real table, by players who actually sit down and reach for every piece. Challenge a friend, take on the house NPC, put money on the line, or just stand around and watch the big game.

The server holds the rules. The client only sends "this piece, that square". The server checks the turn, the distance and the legality in its own rules engine, deals and hides the domino hands, and handles the money. A move cannot be faked and nobody cheats their way to the pot.

Saloon board games for RedM: guided games with the full rules or a free tabletop mode, player vs player (dominoes 2 to 4), solo against a seated NPC in three levels, spectators, optional stakes held by the server, stats and a leaderboard. Custom REX checkers men included (streamed with the script). One resource, works with VORP, RSG or standalone without any framework (detected automatically), with a sober parchment UI and native RedM prompts.

New in 1.0.7: the custom checkers men (white, black and both crowned kings) are now built in (streamed with the script), nothing else to install.


Features

Chess

  • Every rule: castling, en passant, promotion with a choice of piece, check, checkmate, stalemate
  • Draws: fifty-move rule, threefold repetition, insufficient material (each one switchable)
  • Captured pieces are lined up beside the board, and the scoreboard shows the captured pieces and the move list

Checkers

  • English draughts on 8x8 by default (fits the vanilla board), or international draughts on 10x10 (max capture, flying kings)
  • Mandatory capture (configurable), multi-jumps played as one move, promotion; a player with no piece or no move loses
  • Custom REX checkers men (white, black and crowned kings, included): the man slides hop by hop, captured men leave once jumped, a man reaching the last row is crowned on its square

Dominoes

  • Double-six set, 2 to 4 players, block or draw game, played to a target score (50 / 100 / 150)
  • Hidden hands: your tiles stand in front of you, the others only see blank backs, and every hand is revealed at the end of a round
  • Tiles chained on the table with doubles across, boneyard face down, scoring on the pips left in the other hands; each tile of your hand shows which end it fits

Two modes

  • Guided: full rules, legal targets highlighted, check warning, results and stats
  • Free: tabletop sandbox. Move any piece anywhere, remove pieces, crown men; no stats and no stake

Solo vs NPC

  • An NPC sits in the free chair and plays at easy / medium / hard (chess, checkers and dominoes)
  • The search runs on the server and yields regularly, so the server never hitches

At the table

  • Synced seated animations: every seat has a real chair (the map's own chair, or a vanilla chair placed by the script), the player walks to his chair and sits down with the chair's own animation, the NPC sits the same way
  • The board is always centred on the table top; the hand reaches for the piece (arm IK onto the played square) and the piece moves when the hand touches it (players, NPC, captures and domino tiles), seen the same by every spectator
  • Mouse picking on the board with subtle highlights, promotion chooser, domino hand panel
  • Cameras: seat, top, side and overview (the whole table and both players), switched with V, zoom with the wheel
  • Spectators: anyone near the table sees the game live and can watch through the cameras
  • Optional turn timer (30 / 60 / 120 s, forfeit or random move); restart by player 1 or the table owner only; stop and leave

Bets (VORP / RSG)

  • Always off in standalone (every game is free)
  • Optional cash stakes with min / max limits, a house fee in % and, on RSG, an optional society credited with the fee (rsg-bossmenu)
  • Stakes are held by the server in a crash-safe ledger: the winner takes the pot, a draw refunds everybody, and offline players are paid or refunded on their next login
  • Optional stakes against the NPC with a configurable payout (off by default)

Security (server-authoritative)

  • Clients only send intents (sit, create, join, move)
  • The server checks the seat distance, the turn, the game id, the move rate and the legality of every move
  • Every event is rate limited, and suspicious events are logged (console + Discord)

Stats & leaderboard

  • Per game: games, wins, draws, losses, wins against the NPC, winnings
  • Top 10 in the game menu

Tables

  • /saloonadd [model] [label]: place a table and its chairs with a transparent ghost preview, saved in the database (or the resource KVP without oxmysql)
  • /saloonremove [id], /saloonlist, /salooncancel [id]
  • Usable rex_saloongames_table item: players place their own table and pick it up again (standalone: optional /saloontable command instead)
  • 2-seat and 4-seat saloon tables, config entries included (disabled by default), optional map blips

Item install (optional, VORP / RSG: Config.Items.tableEnabled, on by default)

  • VORP: run install/vorp_items.sql, then copy install/images/rex_saloongames_table.png to vorp_inventory/html/img/items/
  • RSG: paste the line of install/rsg_shared_items.txt into rsg-core/shared/items.lua, then copy the same image to rsg-inventory/html/images/
  • Set Config.Items.tableEnabled = false if you do not want player tables (no item to install then)

Other

  • Native RedM prompts only, sober NUI with the scoreboard top-left, bundled font
  • English and French locales
  • Notifications: framework, built-in toast, ox_lib or chat
  • /salooncalib: board dimensions, live calibration of the squares (per game: grid offset, square scale, checkers men size), overview camera to see every adjustment, saved on the server for every player
  • Exports (IsInGame, IsSeated, GetTables, GetGame, GetPlayerStats, CancelGame)
  • Optional Discord webhook logs
  • Database tables created automatically (SQL file included), oxmysql optional (resource KVP fallback)

Props

  • Custom checkers men included: rex_checker_white, rex_checker_black, rex_checker_white_king, rex_checker_black_king, 1880s boxwood / ebonised men made by REX STUDIO, streamed with the resource (nothing else to install)
  • Detected automatically (IsModelInCdimage); vanilla poker-chip fallback stays configurable (Config.Pieces.checkers.useCustom)
  • Every other prop (boards, chess pieces, domino tiles, tables, chairs) is vanilla RDR3. Every piece is frozen with no collision
  • Do not also start the old rex_saloongames_props resource: the checkers men are built in since 1.0.7

Commands

CommandWhoWhat it does
/saloonleaveeveryone (seated)Stand up / leave the current game (same as holding G)
/saloonadd [model] [label]admin (in game)Place a table and its chairs with a transparent ghost preview, saved in the database / KVP; the console prints a ready-made config.lua line
/saloonremove [id]admin / consoleRemove the nearest table (or by id); its game is cancelled and the stakes refunded
/saloonlistadmin / consoleList every table (id, label, model, position, running game)
/salooncancel [id]admin / consoleCancel the game on the nearest table (or by id), stakes refunded
/salooncalibadmin (or anyone with Config.Debug = true; saving: admin only)Board dimensions report (F8) + live calibration of the board, each game's grid (offset / square scale / checkers men size), with the overview camera
/saloontablestandalone only, off by default (Config.Items.standaloneCommand: true = everyone, 'ace' = ACE rex_saloongames.table or admins)Place a personal table, or pick it up when you stand next to one of yours
rex_saloongames_table (usable item)players (VORP / RSG, Config.Items.tableEnabled)Place your own table in front of you (ghost preview); pick it up again with hold G. Limit per player: Config.Items.maxTablesPerPlayer

Every command name is configurable (Config.Commands, Config.Items.command). Admin = framework admin group (Config.Admin.groups) or ACE rex_saloongames.admin (console where noted).

Controls (native RedM prompts)

WhereKeyAction
near a free chairhold ESit down (walks to the chair and sits)
near your own table (item / /saloontable)hold GPick up your table
seatedEGame menu: game, mode, opponent (player / NPC + level), players, variant, style, target, timer, stake, leaderboard (Esc closes it)
seated, game offeredhold EJoin the game
chess / checkers, your turnleft click / right clickPick a piece, then a square (guided: legal targets highlighted) / deselect
chess promotionarrows left / right, left clickChoose the piece, confirm
checkers (free mode)ShiftCrown / uncrown a man
free modehold HRemove a piece
dominoes, your turnarrows left / rightChoose a tile of your hand

Q / EPlay on the left / right end

SpaceDraw / pass
seated or spectatingVNext camera: seat → top → side → overview · mouse wheel: zoom
seatedhold RRestart (player 1, host, table owner or admin)

hold FStop: cancels a lobby; a guided or staked game counts as a resignation

hold GStand up (during a guided game: forfeit)
standing near a running gameV / BackspaceWatch it (spectator cameras) / stop watching
placing a tablearrows left / right (Shift = faster), arrows up / down (admin), E, BackspaceRotate, change the table model, place, cancel
/salooncalibarrows up / down, arrows left / right (Shift = ×0.1)Choose the value, change it

V, mouse wheelCameras (overview first), zoom

Space, Enter, R, BackspacePrint the config lines, save on the server (admin), reset, exit

Every key is set in Config.Controls and every hold time in Config.HoldMs.


Framework compatibility

  • VORP: vorp_core, vorp_inventory
  • RSG: rsg-core, rsg-inventory
  • Standalone (no framework, supported): players identified by their Rockstar license, names = player names, admin by ACE, free games only (no money, no inventory), built-in notifications, optional /saloontable command for personal tables. oxmysql optional: without it, tables and stats are saved in the resource KVP

Detection is automatic (VORP, then RSG, else standalone), or can be forced in the config. All framework calls are in an open bridge file, so you can adapt it if needed.

Escrow

The resource uses the Cfx.re Asset Escrow. config.lua, the locales, the client/server bridge, the SQL, the install files (item SQL / RSG line / image), the checkers men .ytyp and the README are open and editable. The core logic and the checkers men models / textures are escrowed.



Released by REX STUDIO. Requirements: OneSync. Optional: VORP or RSG, oxmysql, ox_lib, rsg-bossmenu.

Price: 30 € · Version: 1.0.7

30.00 EUR

Purchase