X3D Main Menu

Description

A main menu with systems, announcements, events, a guide and player settings — free, no database required

Every server needs a main menu — a single grid of cards players can click instead of memorizing commands, timed announcements and events on the home tab, a categorized rules/guide tab, and a settings tab other scripts can add switches to. x3d_menu does all of it in one resource, through a ready-made Nuxt 4 panel.


Features

  • [+] Easy setup: tune everything in config, or set it through the web builder
  • [+] System cards that open other scripts' commands, hidden if the resource is not running
  • [+] Pin favorites and search systems, with a separate quick-shortcut grid
  • [+] Home-tab announcements with your own image, color and order
  • [+] Events with a start and end time that disappear on their own
  • [+] A categorized city guide with a search box
  • [+] Admins edit announcements, events and the guide in-game, no restart
  • [+] Other scripts can add switches to the player settings tab
  • [+] Players pick the peach / jade theme, their own color and Thai/English
  • [+] Discord, YouTube and Facebook links on the home tab
  • [+] No database and no framework needed, with an optional MySQL switch
  • [+] Hook into other scripts through addons/

System cards split into "systems" and "convenience", auto-hidden when their resource isn't installed

Add cards through Config.Systems or the runtime export RegisterSystem. Each card can bind to its own resource — if that resource isn't started, the card hides itself automatically, no manual cleanup needed. category splits full-feature cards ('system') from pin/quick-toggle style shortcuts ('qol') into their own grid. The command a card fires comes from a server-side cache only — it never trusts a command string sent by the panel itself.

Announcements, time-windowed events, a categorized guide — edited from admin commands, no restart

Events take start_at/end_at; once outside that window they disappear from the panel even with is_active on. The home-tab banner tells you itself whether an event is "starting soon", "N days left", or "live". Everything (systems/announcements/events/guide) seeds from config.lua only the first time the resource starts — after that, edit it through the admin commands /menusystem /menuevent /menuannouncement /menuguide: add/edit/remove/list, no server restart needed.

Player settings: peach/jade theme, a custom color, and switches any script can add

RegisterSetting adds a toggle/select/slider switch to the settings tab from any resource. The player's actual value lives client-side in KVP, then replicates up to LocalPlayer.state so another resource can read it instantly through the GetSetting export or the state bag directly, plus an x3d_menu:onSetting hook that fires whenever a player changes anything.

No database required

Admin-managed content (systems/announcements/events/guide) is stored as a JSON file inside the resource itself, flushed every 30 seconds and on player drop / a graceful stop. Need MySQL for a busier server? Swap four functions in one file for the commented oxmysql block, and run the included install.sql.

Requirements

None. No database, no framework, no license. Drop it in and ensure it.

Free · modify it as you like · just don't resell it or re-upload it under another name.

Version history

  • 1.1.4 — Released 13/10/2026 00:21
  • 1.1.1 — Released 12/10/2026 10:26
  • 1.0.0 — Released 21/09/2026 11:20
Same category

Related scripts

View all products
Read more

Posts that cover this script