[ESX/QB-Core] Tic-Tac-Toe

[ESX/QB-Core] Tic-Tac-Toe

$4.00

Add to Basket


TIC-TAC-TOE — 3D INTERACTIVE BOARD GAME | Mole Resources

Bring classic Tic-Tac-Toe into the world as a physical, placeable object. Players carry the board as an inventory item, place it anywhere with a live preview, and play against another player or a built-in AI opponent — with everyone nearby watching the board update in real time.

Trailer: Youtube

Documentation: https://mole-resource.gitbook.io/mole-resource-docs/

Support:  Discord

━━━━━━━━━━━━━━━━━━━━━━━━━━

KEY FEATURES

Player vs Player — two seats, turn-based, works for any two players standing at the same board

Player vs AI — minimax-based bot with three difficulty levels; on hard it plays perfectly, best case is a draw. Players pick the difficulty themselves at the start of a solo match, directly from the same on-screen button bar used for camera controls — no extra menu

Placeable item — put the board anywhere with a live translucent preview; scroll to rotate, click to confirm, pick it back up anytime

Full persistence — board position and grid state are stored in the database and survive restarts

Real multiplayer sync — seated players always see moves instantly; optional live mode streams every move to nearby spectators too

Live score tracking with a proper rematch flow — both players have to agree before a new round starts; a mid-game reset is instant

Smart anti-AFK turn timer — only counts down while a player actually has the ability to move (camera locked on the board), not while they're simply looking around

Housing support — instance system with a two-export integration for instance and coordsbased housing script

Server-owned boards — define permanent public boards in the config that can't be picked up

━━━━━━━━━━━━━━━━━━━━━━━━━━

BUILT SERVER-FIRST

  • Every move validated server-side — turn order, cell ownership, and board state, no client-side trust

  • Distance validation on every interaction — remote exploit attempts are rejected

  • Event throttling and an entry-timeout watchdog — a seat can never get permanently stuck if a client fails to load

  • Distance-based object streaming — boards outside a configurable radius are never spawned as objects at all, so a server with hundreds of placed boards doesn't choke the client's object pool; hysteresis prevents flicker at the render distance edge, spawning is budget-limited per frame

  • Clean resource lifecycle — no leftover entities after restarts

━━━━━━━━━━━━━━━━━━━━━━━━━━

INTERACTION & TARGETING

  • Built-in proximity prompts with configurable keys, or

  • ox_target / qtarget integration — Play, Play vs AI, and Pick up options directly on the board object

━━━━━━━━━━━━━━━━━━━━━━━━━━

CONFIGURATION & COMPATIBILITY

Inventory: ox_inventory, QBCore, or ESX — one config option

Notifications: ox_lib, ESX, mythic_notify, or QB-Core

Fully translatable — every player-facing string lives in one locale table

Discord logging — board placement, pickup, and admin actions via webhook, including the player's license and in-character name

Admin commands — list all boards, force-remove a board

━━━━━━━━━━━━━━━━━━━━━━━━━━

REQUIREMENTS

  • oxmysql (required)

  • One inventory: ox_inventory / QBCore / ESX (required)

  • ox_lib / mythic_notify / QB-Core — optional (notifications)

  • ox_target / qtarget — optional (target interaction)

  • Custom board & mark props included — no extra prop pack needed

━━━━━━━━━━━━━━━━━━━━━━━━━━

WHAT YOU GET

  • Complete resource with custom 3D props

  • SQL file included — one-step database setup

  • Documentation — installation, configuration, housing integration, FAQ

━━━━━━━━━━━━━━━━━━━━━━━━━━

Questions before buying? Join the Discord — happy to help: \