HZ-Loading
HZ-Loading is a loading screen creator for FiveM. The loading screen itself is a React app served by your server — and it is edited in-game, from the HZ-Bridge admin panel, in a split-pane editor showing a live preview of the real screen.
No config file, no restart. Everything is edited in
/hzpanel and published in one click. The new screen is live for everyone connecting from that moment.What it does
- The Loading Creator — a WYSIWYG builder inside your admin panel. Free drag-and-drop placement with grid snap, and the right-hand pane runs the actual loading screen, not a mockup.
- Real progress — bound to FXServer's streaming events (init / map / run phases, current file, true percentage), not a CSS animation on a timer.
- Live server data — player count, slots and uptime pushed by your own server, delivered through the connection handshake so they are correct for a player who is still connecting.
- Scene scheduler — cron-scheduled config overlays: a Halloween skin every 25–31 October, a maintenance banner on Tuesdays, a promo weekend.
- Backgrounds — image playlist with crossfade, video file, YouTube, or a generative animated background, with darkness / grayscale / saturation / contrast / scanline effects.
- Music player — playlist, shuffle, skip, volume, mute, with per-player preferences that persist between connections.
- Content panels — Updates and Rules in Markdown (Rules gets full-text search), a team grid, and a rotating tips ticker.
- Keybinds board — the physical keyboard drawn with your bound keys lit, with a QWERTY / AZERTY toggle.
- 7 languages — English, French, Spanish, German, Portuguese, Turkish, Italian, including translated built-in example content.
How it fits together
/hzpanel → Loading Creator (admin edits, live preview in an iframe)
↓ Publish
data/HZ-Loading.json (the Creator document, server-side)
↓ overlaid on the panel config + the active scene
getConfig()
↓
deferrals.handover → the connecting player's loading screen
data/effective.json → fallback snapshot, read over nui://
The loading screen receives its configuration through the connection handshake — it never asks for it. During the loading window HZ-Loading is the only resource running on the client and network events are not routed yet, so a request/response round-trip would often go unanswered.
Requirements
- HZ-Bridge — required. Provides the admin panel, role permissions and the appearance cascade.
- Standalone — no framework needed. Runs alongside ESX, QBCore, QBox or anything else.
- Any recent FXServer build.
Where to go next
- Installation — drop it in and reconnect.
- The Loading Creator — the editor, publishing, and who is allowed to.
- Configuration — where each setting lives.
- Assets — backgrounds, music, logo, keybind icons.
- Scene scheduler — cron-driven variations.
- Commands — admin commands and diagnostics.
- FAQ
