Interactive loading screens: cursor, buttons and opening links
Add loadscreen_cursor 'yes' to the loading screen’s manifest to show the mouse. Normal HTML buttons then work. Links do not navigate the loading screen — open them in the player’s browser with window.invokeNative('openUrl', 'https://…'), which only accepts http and https URLs.
A long load is a captive audience. With the mouse enabled, a loading screen can let players read the rules in tabs, pause the music, browse staff or click through to your Discord — turning waiting time into onboarding. It takes one manifest line and a little JavaScript.

#Enabling the cursor
fx_version 'cerulean'
game 'gta5'
loadscreen 'index.html'
loadscreen_cursor 'yes'
files { 'index.html', 'style.css', 'script.js' }#Opening links in the player’s browser
function openExternal(url) {
if (window.invokeNative) {
window.invokeNative('openUrl', url); // opens the default browser
} else {
window.open(url, '_blank'); // when testing in a normal browser
}
}
document.querySelector('#discord').addEventListener('click', () => {
openExternal('https://discord.gg/yourinvite');
});invokeNative('openUrl') hands the URL to the operating system, which opens it in the default browser. FiveM only accepts addresses starting with http:// or https://.
#Interactive elements worth adding
| Element | Why |
|---|---|
| Music play/pause and volume | The most requested control — see audio and volume controls |
| Rules tabs | New players actually read them while waiting — see rules and info |
| Discord / website / store buttons | Converts waiting time into community joins |
| Staff and team | Makes the server feel run by people — see staff and team |
| Keybind cheat sheet | Answers the questions players ask in the first five minutes |
#Keeping it usable
- Large click targets — players are on a gaming mouse, often on a large screen.
- Nothing essential behind interaction: the screen must also work if nobody touches it.
- Remember choices (like muted music) with
localStorageso the next join respects them. - Do not trap focus or disable scrolling in text panels.
Questions
How do I show the mouse on my FiveM loading screen?
loadscreen_cursor 'yes' to the loading screen resource’s fxmanifest.lua.How do I open a Discord link from the loading screen?
window.invokeNative('openUrl', 'https://discord.gg/yourinvite') from a click handler. It opens the player’s default browser.Why does clicking a link break my loading screen?
openUrl instead of an <a href>.Can openUrl open any address?
http:// or https://.Ready to pick a map?
Twelve themes on three base map styles, $8 each, instant download.
Relevant to what you just read
The tool for this
A drag-and-drop loading screen, hosted for you From Free, built in the browser, exported as a drop-in resource.