
Documentation
Eight exports to open, close and switch themes from your own resources, plus the framework layer where you add a custom core.
Returns
booleanHands the screen to the game's own frontend, on its settings page.
exports['qs-pausemenu']:OpenGameSettings()This menu closes and the ESC hook stands down until the player leaves GTA's settings. It is the same action the Open GTA's settings button runs.
exports['qs-pausemenu']:OpenCreator()The permission check still applies — this is not a way to grant access.
local theme = exports['qs-pausemenu']:GetActiveTheme()Returns
string | nilReturns the live theme id, or nil if nothing has been set live.
local themes = exports['qs-pausemenu']:GetThemes()Returns
tableThe list of saved themes. The eight bundled themes are not in here — they ship inside the interface, so this returns what you made in the creator.
local ok = exports['qs-pausemenu']:SetActiveTheme(id)Parameters
Parameter | Type | Description |
|---|---|---|
| string | Theme id to set live |
Returns
booleanReturns true on success. Every player gets the new theme immediately — nobody reconnects.
Config.Framework is 'auto' by default and looks for qs-core, es_extended, qbx_core and qb-core, in that order. Set it explicitly to pin one, or to 'standalone' to switch the whole layer off.
custom/
client.lua picks the adapter, and owns Notify()
server.lua picks the adapter, and owns the group check
esx/{client,server}.lua
qb/{client,server}.lua
qs/{client,server}.lua
standalone/{client,server}.luaEach adapter is a plain table of methods that returns itself, so adding a framework is copying a folder and renaming it.
Side | Must answer |
|---|---|
Client |
|
Server |
|
getPlayer returns the one shape the menu understands:
name · job · grade · cash · bank · black · citizenId
phone · dob · sex · height · hunger · thirst · stress
Any field you cannot fill is left
nilrather than zero. That is what makes the modules hide that row instead of printing a confident$0.
File | What it owns |
|---|---|
| Adapter selection and |
| Adapter selection and the group check for the creator |
Nothing here needs ox_lib.
RegisterCommand('mymenu', function()
exports['qs-pausemenu']:Open()
end)if not exports['qs-pausemenu']:IsOpen() then
exports['qs-pausemenu']:Open()
endexports['qs-pausemenu']:SetActiveTheme('halloween')Then put it back when the event ends:
exports['qs-pausemenu']:SetActiveTheme('onyx')for _, theme in ipairs(exports['qs-pausemenu']:GetThemes()) do
print(theme.id, theme.name)
endexports['qs-pausemenu']:OpenGameSettings()