Commands#
Loading Screen Creator registers a single in-game command. It respects permissions, and running it a second time closes the window.
Command | Where | Description |
|---|---|---|
| In game | Opens the creator for admins: the ACE |
A player without access gets a notification instead. The permission is checked once per session, so a player granted access after trying has to reconnect.
Client Exports#
For closing the loading screen from a multicharacter or spawn selector, and for opening the creator from your own admin menu.
Closing the loading screen
-- Close it now, from the point where your own interface is ready
exports['qs-loadingscreen']:CloseLoadingScreen()
-- true while the loading screen is still up
local open = exports['qs-loadingscreen']:IsLoadingScreenOpen()Safe to call more than once, and after the screen has already gone. The handover is instant: there is no fade to wait for.
Opening the creator
-- Same as /loadingcreator, permission check included. A second call closes it.
exports['qs-loadingscreen']:OpenCreator()Client Events#
Both are local client events, triggered and handled on the player's own machine.
Asking the screen to close
TriggerEvent('qs-loadingscreen:fadeOut')The same as CloseLoadingScreen without a hard dependency: if the resource is not running, nothing happens and nothing errors.
Knowing when it closed
AddEventHandler('qs-loadingscreen:client:closed', function()
-- the loading screen has just closed: show your HUD, start your intro…
end)Fired when the screen is closed through the export, the event or the safety ceiling — not when another resource shuts the loading screen down on its own.
Server Exports#
How another resource reads or switches the live theme — a seasonal design for the holidays, a different screen for an event night.
GetActiveTheme
local id = exports['qs-loadingscreen']:GetActiveTheme()
-- 'cinematic', 'theme_k3x9…', or nil when players get the defaultGetThemes
local themes = exports['qs-loadingscreen']:GetThemes()
for _, theme in ipairs(themes) do
print(theme.id, theme.name)
endEvery theme saved in data/themes.json, sorted by name, each one complete: id, name, description, background, soundtrack, identity and modules. A built-in theme appears only once you have saved it.
SetActiveTheme
-- An event-night screen, switched from the server console
RegisterCommand('eventscreen', function(source)
if source ~= 0 then return end
local ok = exports['qs-loadingscreen']:SetActiveTheme('overdrive')
print(ok and 'event screen is live' or 'could not switch')
end, true)Makes a theme live, saves the choice and sends it to everyone still loading — exactly like Set live in the creator. It takes a built-in id — cinematic, midnight, neon, welcome, cyberpunk, aurora, overdrive — or the id of one of yours, shown in the creator's Settings tab.
Returns false if the id is empty or the file could not be written. The id is not checked against the list, so a typo leaves players on the default theme.
About the Errors#
Saving, deleting and activating a theme answer { ok = true } or { ok = false, error = 'code' }. The creator turns that into a short message; what each code means is listed in Common Errors.



