SleepyCode
Home
AboutBlogSubscriptionDocs
Cart0
SleepyCode
Cart0
  • πŸ’£Documentation

Scripts

  • Multicharacter
    • Features
    • Installation
    • Framework Setup
    • Core Settings
    • Characters and Slots
    • Identity
    • Spawn Selector
    • Camera and Scene
    • Arrival and Welcome
    • Starting Items
    • Loading Screen
    • Discord
    • Logs
    • Theme and Branding
    • Translations
    • Commands and Permissions
    • Database
    • Integrations
    • Hooks
    • Exports and Events
    • Examples
    • Security
    • Troubleshooting
  • DevTool
  • Fishing
  • πŸ—ƒοΈGarages V2
  • 🚌Bus Job
  • πŸš—Vehicle Shop V1
  • πŸ—ƒοΈGarages V1
  • 🍁Selldrugs
  • πŸŽ…Advent Calendar
  1. Docs
  2. /Multicharacter
  3. /Loading Screen

Multicharacter

Loading Screen

Custom loading screen - config/loading.lua, web/dist/loadingscreen.json, backgrounds, and music.

On this page3 sections
  • loading.lua
  • loadingscreen.json
  • Music and sounds

The loading screen has two parts:

  • config/loading.lua for data that comes from the server, such as the staff list and player count.
  • web/dist/loadingscreen.json for all content: title, tagline, backgrounds, music, tips, and links.

loading.luaLink copied

Lua
Config.LoadingScreen = {    enabled = true,    adminList = {        enabled = true,        roles = {            ['Owner'] = '000000000000000000',            ['Admin'] = '000000000000000000',        },    },    playerCount = {        enabled = true,    },}
OptionDescription
enabledCustom loading screen instead of the default FiveM one.
adminList.enabledStaff list on the loading screen.
adminList.roles['Displayed rank'] = 'Discord role id'. Members of these roles are listed.
playerCount.enabledLive online player count.

The staff list needs a Discord bot token in config/discord-secrets.lua. See Discord.

loadingscreen.jsonLink copied

After editing, run refresh and restart sc_multicharacter. No build is needed.

JSON has no comments and is strict about commas. A missing comma, or a comma after the last item, breaks the whole file.

Check the file in a JSON validator such as jsonlint.com before saving.

Example

JSON
{  "welcomeEnabled": true,  "welcomeTitle": "Welcome",  "welcomeSubtitle": "Glad you are here. Hang on, we are getting everything ready.",  "serverName": "My RP Server",  "serverTagline": "The best RP in Los Santos.",  "infoTiles": [    { "label": "City", "value": "Los Santos" },    { "label": "Whitelist", "value": "Open" }  ],  "musicPlaylist": [    { "url": "audio/theme.mp3", "title": "Track title", "artist": "Artist" }  ],  "musicShuffle": true,  "musicVolume": 0.35,  "backgroundMode": "images",  "backgroundImages": ["loadingbg/1.jpg", "loadingbg/2.jpg"],  "backgroundImageIntervalMs": 6000,  "backgroundShuffle": true,  "backgroundVideo": "",  "backgroundOverlayOpacity": 0.55,  "tips": [    "Tip: /relog returns to character select without disconnecting."  ],  "tipsIntervalMs": 5000,  "disclaimerText": "This is an independent fan modification. It is not affiliated with Rockstar Games or Take-Two Interactive.",  "loadingPhrases": ["Bribing the NPCs...", "Polishing the sun..."],  "loadingPhrasesIntervalMs": 3000,  "socialLinks": [    { "icon": "discord", "label": "Join Discord", "url": "https://discord.gg/your-link", "handle": "myserver" },    { "icon": "globe", "label": "Website", "url": "https://your-server.com" },    { "icon": "cart", "label": "Store", "url": "https://store.your-server.com" }  ],  "clockEnabled": true,  "clockFormat24h": true,  "keybindHintsEnabled": true,  "keybindHints": [    { "key": "E", "hint": "Select / Play", "color": "accent" },    { "key": "Esc", "hint": "Close menu", "color": "warning" }  ],  "versionFooterEnabled": true}

Header

FieldDescription
welcomeEnabledShows the title block on the left. false hides it.
welcomeTitleHeading when serverName is empty.
welcomeSubtitleText under the heading when serverTagline is empty.
serverNameLarge heading. Takes priority over welcomeTitle.
serverTaglineText under the name. Takes priority over welcomeSubtitle.
infoTilesRow of server facts, up to four per line. An empty list hides it. The player count is added automatically.

Music

FieldDescription
musicPlaylistTracks as a path ("audio/theme.mp3"), a full https:// URL, or { "url", "title", "artist" }. Empty hides the player.
musicShuffleRandom order.
musicVolumeStarting volume from 0 to 1.

Background

FieldDescription
backgroundMode"none", "images", or "video".
backgroundImagesPaths from web/dist/loadingbg/ or full https:// URLs.
backgroundImageIntervalMsTime per image in ms. Images crossfade and drift slowly, so give them a few seconds.
backgroundShuffleRandom image order.
backgroundVideo"loadingbg/trailer.mp4" or a YouTube link. YouTube plays muted and looped.
backgroundOverlayOpacityDarkening from 0 (none) to 1 (black) for readable text.

Texts

FieldDescription
tipsRotating tips under the progress bar.
tipsIntervalMsTime per tip in ms.
loadingPhrasesShort funny phrases next to the loading status.
loadingPhrasesIntervalMsTime per phrase in ms.
disclaimerTextRockstar and Take-Two notice. Empty hides it.

Links and extras

FieldDescription
socialLinksSocials card: { "icon": "discord" | "globe" | "cart", "label", "url", "handle" }. Empty hides the card.
clockEnabledClock in the top right corner.
clockFormat24h24-hour format.
keybindHintsEnabledButton that opens the keybind window.
keybindHintsHighlighted keys: { "key": "E", "hint": "text", "color": "accent" | "warning" | "danger" | "info" }.
versionFooterEnabledVersion number in the bottom right corner.

Music and soundsLink copied

The resource includes no music, because we do not ship copyrighted tracks. Put your own licensed MP3 files in web/dist/audio/.

FileWhere it playsHow to enable
menu-theme.mp3Character selectPlayers enable background music in the settings. Starts after the first click.
airplane-intro.mp3 or your fileAirplane introConfig.AirplaneIntro.music in config/arrival.lua
Any filesLoading screenmusicPlaylist in web/dist/loadingscreen.json

Only .mp3 files from web/dist/audio/ are loaded.

UI hover, click, confirm, and error sounds are generated in the game browser and need no files. See Camera and Scene.

← PreviousStarting ItemsMulticharacterNext β†’DiscordMulticharacter

On this page

  • loading.lua
  • loadingscreen.json
  • Music and sounds
↑ Back to top
Ready when you are

Put your server on something that holds up

150+ servers run our resources - ESX, QBCore and standalone. Once the payment clears, the package is waiting in Keymaster.

Browse the catalogueAsk on Discord β†—
  • Delivered instantly
  • Support with no expiry
  • 100+ reviews
  • Payment via Tebex

SleepyCode

FiveM Scripts

Checkout is run by Tebex Limited- they handle payment, invoicing and refunds. Β© 2026

Community

  • Discord
  • YouTube
  • X (Twitter)

Navigation

  • Home
  • All Scripts
  • ESX Scripts
  • QBCore Scripts
  • Free Scripts
  • About
  • Blog
  • Documentation
  • Support

Legal

  • Privacy Policy
  • Tebex Privacy Policy
  • Terms of Service
  • Impressum

Β© 2026 SleepyCode. Not affiliated with Rockstar Games or Take-Two Interactive.

Powered byTebex