Commands#
Chess registers three everyday commands and four calibration tools. All of them are typed in the in-game chat, and each one appears as a chat suggestion.
Command | Who | Description |
|---|---|---|
| Creator permission | Opens the table creator: place, edit, price, delete and teleport to tables. |
| Anyone in a match | Resigns the current game; the opponent wins. The same as |
| Anyone in a player vs player match | Offers a draw. If your opponent offered one in the last 30 seconds, accepts it instead: the game ends drawn and stakes are refunded. |
| Creator permission, debug on | Calibrates the board on the nearest table: position, height and square size. |
| Creator permission, debug on | Calibrates the rotation and centring of the knights. |
| Creator permission, debug on | Calibrates the distance, rotation and height of the chairs. |
| Creator permission, debug on | Seats two test peds and calibrates where a seated player ends up. |
The four calibration tools exist only while Config.Debug = true, work on the table nearest to you within 10 m, and close when you type the same command again or press Backspace. Only one can be open at a time. How to use them together is in Usage.
Controls#
At a table#
Key | Does |
|---|---|
| At a free table, within 2.2 m: opens the menu with Player vs Player and Player vs AI. The key is |
During a match#
Key | Does |
|---|---|
| Pick up one of your pieces and drag it. The cursor turns into a hand over a piece you can move. |
| Drop it. On a green or blue square, the move is played. |
| Put the piece you are dragging back. |
| Zoom the camera in and out, within |
| Leave the game. Asks first; confirming resigns. The key is |
| Push-to-talk, the chat and the pause menu still work. Every other control is locked while you play. |
Placing a table#
Key | Does |
|---|---|
| Aim the table at a surface, up to 50 m away. |
| Rotate. |
| Raise or lower in 5 cm steps. |
| Confirm. |
| Cancel. |
Calibration tools#
These keys are the same in all four tools:
Key | Does |
|---|---|
| Next camera angle: top, white side, right, black side, left, isometric. |
| Fine steps, five times smaller. |
| Copy the values to the clipboard and print them in F8. |
| Close the tool. The values are printed in F8 on the way out. |
/chessdebug — the board
A translucent checkerboard is drawn over the board, outlined in green. Move it until it covers the real squares exactly.
Key | Changes |
|---|---|
| Sideways — |
| Forwards and back — |
| Size of a square — |
| Height of the board surface — |
/chessknights — the knights
Each knight gets a line showing which way it faces. Knights should look straight at the opponent.
Key | Changes |
|---|---|
| Rotate the white knights by 5° — |
| Rotate the black knights by 5° — |
| Re-centre both on their squares — |
/chesschairs — the chairs
Moves the table's own chairs if it spawned them, or shows two see-through chairs if it did not. A blue line shows which way each chair faces.
Key | Changes |
|---|---|
| Distance from the table — |
| Rotation, by 5° — |
| Height — |
/chesspeds — the seated players
Two peds sit down at the table using the real sitting code. The panel reads 2/2 in green when both are seated.
Key | Changes |
|---|---|
| Raise or lower the peds — |
| Move them closer to or further from the board — |
For Developers#
Chess has no exports. Everything another resource needs comes from a replicated state bag and from the bridge files.
Is this player at a chess table?#
While a player is seated in a match, their ped carries qchess_playing = true. It is replicated, so the server and every client can read it — useful to keep a phone call, a robbery, an emote menu or an arrest from interrupting a game.
-- server
local ped = GetPlayerPed(source)
if Entity(ped).state.qchess_playing then
return -- busy at a chess table
end
-- client
if Entity(PlayerPedId()).state.qchess_playing then
return
endChess reads it too: a player whose ped carries it cannot be challenged.
The bridge functions#
Function | Side | Decides |
|---|---|---|
| Server | Entry fees and stakes. Overridable from the config with |
| Server | Who may use the creator and the calibration tools. |
| Server | The name shown in the opponent list and on a challenge. |
| Client | Messages, hiding the HUD during a match, and the table prompt. |
Examples for each are in Integrations.



