Customizable RedM Loading Screen - Music, Progress, and Immersion in One.
β If you find this resource helpful, please consider starring it to show your support! β
- π΅ Music support (playlist, shuffle, volume control)
- π¦ AI generated Western Music included and ready to use
- πΌοΈ Background video, youtube video, image slideshow or image with full customization
- πΆ Dynamic progress bar synced with client load status
- π§ Player Personalization: Welcome message with player's name
- βοΈ Modular config via
config.js
- π§± Easy to style and integrate with your RP server branding
- π¨βπΎ Tips: Engaging typewriter animation for tips
- π§ͺ Tested with RedM Release latest builds
Platform | Compatible |
---|---|
RedM | β Yes |
FiveM | β Yes (change fxmanifest game) |
Frameworks | Compatible |
---|---|
VORP | β Compatible |
RSG | β Compatible |
QBX | β Compatible |
QBCore | β Compatible |
ESX | β Compatible |
Standalone | β Compatible |
cd resources
git clone https://github.com/Blaze-Scripts/bs-loadingscreen.git
- Add the resource to your server's resources folder
- Add
ensure bs-loadingscreen
to your server.cfg - Configure the
loadingscreen:externalShutdown
convar in yourserver.cfg
:setr loadingscreen:externalShutdown false # For automatic shutdown setr loadingscreen:externalShutdown true # For manual/external shutdown
- Customize
config.js
to match your needs - Done β
All configuration options are available in html/assets/js/config.js
:
Example from config.js
:
const config = {
// General Settings
serverName: "Blaze Scripts",
logo: "assets/img/logo.png",
// Background Settings
backgroundType: "video", // Options: "video", "youtube", "image", "slideshow"
background: "assets/video/background-video.mp4",
backgroundImage: "assets/img/background_1.png",
// Slideshow Settings
backgroundImages: [
"assets/img/background_1.png",
"assets/img/background_2.jpg",
"assets/img/background_3.jpg",
"assets/img/background_4.jpg"
// Add more images here
],
slideshowEnabled: false, // Set to true to enable slideshow mode
slideshowDuration: 5000, // Duration in milliseconds (5 seconds)
// YouTube-specific Configuration
YouTubeID: "u5IuKGp2LWY",
YouTubeStartTime: 0,
YouTubeVolume: 0,
YouTubeLoop: true,
// Music Configuration
enableMusic: true,
defaultVolume: 0.1,
musicList: [
{name: "Western 1", path: "assets/music/western_1.mp3"},
{name: "Western 2", path: "assets/music/western_2.mp3"},
{name: "Western 3", path: "assets/music/western_3.mp3"},
{name: "Western 4", path: "assets/music/western_4.mp3"},
{name: "Western 5", path: "assets/music/western_5.mp3"},
{name: "Western Main 1", path: "assets/music/western_main_1.mp3"},
{name: "Western Main 2", path: "assets/music/western_main_2.mp3"},
{name: "Western Native 1", path: "assets/music/western_native_1.mp3"},
{name: "Western Native 2", path: "assets/music/western_native_2.mp3"},
{name: "Western Native 3", path: "assets/music/western_native_3.mp3"},
{name: "Main 1", path: "assets/music/main_1.mp3"}
],
randomizeMusic: true,
// Text Configuration
loadingText: "Loading Server...",
welcomeText: "Welcome, %s",
tips: [
"Press I to open your inventory.",
"Use T to open the chat.",
"Visit our Discord for help and updates.",
"Respect other players and follow server rules.",
"Find work in towns to earn money.",
"Explore the world and discover hidden secrets.",
"Horses are your most loyal companions in the Wild West."
],
tipInterval: 4000,
// Colors
colors: {
primary: "#B12A2A",
text: "#FFFFFF",
background: "#000000",
overlay: "rgba(0, 0, 0, 0.1)"
}
};
You can customize layout in index.html
and styles in style.css
.
The loading screen can be shut down automatically or manually from another resource:
Set in your server.cfg:
setr loadingscreen:externalShutdown false
With this setting, the loading screen will automatically shut down after loading is complete.
Set in your server.cfg:
setr loadingscreen:externalShutdown true
With this setting, you need to trigger the shutdown from another resource. The resource provides a simple export to do this:
-- In your character selection or spawn script
exports['bs-loadingscreen']:shutdownLoadingScreen()
Use this in client-side scripts to manually hide the loading screen if needed.
This approach gives you precise control over when the loading screen disappears, making it perfect for character selection screens or other custom spawn systems.
-- In your character selection script
CharacterSelect = function()
DoScreenFadeOut(300)
-- Shutdown the loading screen before showing character selection
exports['bs-loadingscreen']:shutdownLoadingScreen()
-- Continue with character selection setup
-- ...
end
- Large video files may delay screen load β optimize or compress video
- Use
.ogg
or.mp3
audio formats for best browser compatibility - The script doesnβt block connection β itβs purely visual
- YouTube overlay (Title) may be visible for a short time during loading
- For video: Place MP4 files in
html/assets/video/
and update config - For image: Place image files in
html/assets/img/
and update config - For YouTube: Set
backgroundType
to "youtube" and provide aYouTubeID
- For Slideshow: Set
backgroundType
to "slideshow" and provide abackgroundImages
array
- Place MP3 files in
html/assets/music/
- Add entries to the
musicList
in config.js
- π§Ύ GitHub: Blaze-Scripts/bs-loadingscreen
- π¬ Support & Feedback: Join our Discord
- π More Scripts: Blaze Scripts
This project is licensed under the MIT License - see the LICENSE file for details. Attribution appreciated. Donβt resell without consent.
- Code: MIT License, free to use, modify and redistribute
- Music: Created with SUNO AI, commercial rights owned by Blaze Scripts. Only usage rights are granted.
- Created by Blaze Scripts
- Music created with SUNO AI (Commercial rights owned by Blaze Scripts, usage rights granted to users)
- Background video credits: Milky Way, Inc. (https://www.youtube.com/watch?v=u5IuKGp2LWY)
- Special thanks to QBOX Team for their loading screen implementation which helped understand loading processes