Advanced notification and HUD components system (Standalone, ESX, QBUS, QBOX )

23d9d8ceb27347abb50605b603798f5e

Hey everyone! :waving_hand: I’d like to introduce the debut script of my SimpleASF series — the one that covers HUD communication and interaction with your players. Later on the series will grow with dedicated HUD elements, a full chat, and vehicle & interaction systems, all sharing the same design language, so your whole server ends up looking like one product.

It starts with the layer every single script on your server touches: notifications. And I’ll be honest — I didn’t want to ship yet another four-color toast. So SimpleASF Notify became a complete HUD dispatch suite in a neon Vice look: hairline panels, hot cyan & pink accents, mono eyebrow labels.

One resource. One config file. Zero dependencies. Zero sound files.

8 toast types · 48 UI surfaces · 5 minigames · 21 synthesized sounds · 7 animations · 3 languages

dc6571be0a054bb3b5c5a7c62e78bcf8
1aa52079d8304b9eb96ae947b74c9ec6


:clapper_board:Youtube Preview


:high_voltage: At a glance

:puzzle_piece: Content Full toast engine + 48 UI surfaces + 5 interactive minigames
:gear: Frameworks ESX / QBCore / QBox / Standalone — auto-detected, never required
:package: Dependencies None. No ox_lib, no npm build, no sound packs
:repeat_button: Migration Drop-in stubs for okokNotify, mythic_notify, t-notify, pNotify + event bridges
:speaker_high_volume: Audio 21 sounds synthesized live via Web Audio — zero audio files shipped
:globe_showing_europe_africa: Languages English, Hungarian, German — add your own with one file
:unlocked: Code Fully open source code — no escrow, no obfuscation
:label: Price €30.75 €6.15 launch price

:bell: The notify part

  • 8 toast typessuccess, error, warning, info, loading, money, item, custom — per-type colors, durations and sounds, overridable per call.
  • Money toasts that actually count up (+$2,500, negatives count down in red) and item toasts with thumbnails and quantity badges.
  • Action buttons with Lua callbacks — Accept / Deny right on the toast; keep-input cursor, so the player keeps moving while clicking.
  • Loading → result flows — start a spinner, patch it into a success or error later with one Update() call.
  • Pinned & critical toasts — persistent with a close button; critical ones pulse and punch through Do Not Disturb.
  • Grouping — repeated toasts merge into a single ×N counter instead of flooding the screen.
  • Queueing — max-visible cap per screen anchor with overflow queueing or oldest-out.
  • 6 screen anchors, 7 enter/exit animations (slide, fade, zoom, flip, bounce, drop, glitch), 40+ built-in icons.

:sleeping_face: The part you won’t find in a typical notify

/notifydnd — Do Not Disturb: non-critical toasts go straight to history, critical ones still break through.
/notifycenter — a full notification History Center with unread markers, mark all read and clear all. “I didn’t see it” stops being an excuse — the last 50 notifications are always one command away.

:puzzle_piece: The part that replaces five other scripts

Every visual beyond the toast is a “surface” sharing one uniform lifecycle (ShowSurface / UpdateSurface / HideSurface), each with a dedicated Lua wrapper and per-surface config defaults:

📢 Announcements & alerts (10)

announce (server-wide banner), alert (priority alert with an Acknowledge button + result callback), caption, title (big centered gradient headline), progresscard, location cards, achievement unlocks, wanted (0–5 neon stars), hints (keybind hint rows), rank (animated XP bar with level-up overflow)

📊 Progress family (5)

progress bar (cancelable, with completed/cancelled callback), circle, segments, ringtimer (danger zone + expire text), countdown (3-2-1-GO). Every one of them can also run controlled: you drive the percent yourself from Lua and finish or fail it whenever you want.

🎯 Mission trackers (8)

objectives (multi-step op tracker with elapsed timer and per-step states), checklist, stepper, resources (gather X/Y), delivery (stops + animated payout), process (staged quality), receipt (line items, tax, PAID/DUE stamp, row-by-row reveal), rally (checkpoints + split deltas)

🖥️ HUD widgets (11)

gps, race position board, compass, minimap frame, weather, serverbar, weapon loadout (mag/reserve/mode/slots), vitals, buffs/debuffs, killfeed, respect/reputation

🌆 World & RP panels (12)

police dispatch calls with Respond/Ignore buttons + callback, dispatch board, evidence panel with stamp animation, territory + zone capture, gang roster with live HP, radio channel widget, death screen (EMS call callback), scoreboard, catch card (fishing/hunting rarity reveal), fuel pump (auto liters/cost math + result), stash weight panel

🎮 5 interactive minigames with Lua callbacks

modal confirm dialog, skillcheck (timing zone), lockpick (pins & picks), hackgrid (Breach Protocol style sequence), lucky wheel (rig-able win index). All difficulty props are configurable, and the result comes back to your script as a simple callback — if res.success then ... end.

Single-key surfaces (skillcheck, lockpick, progress cancel…) never steal game input — the Lua side watches a GTA control and relays presses to the UI, so players keep moving. Full focus is reserved for the surfaces that genuinely need it (modal, hack grid, history center).

:speaker_high_volume: Sound, without sound files

21 sounds synthesized live via Web Audio, with reverb and a limiter on the bus. Nothing to download, nothing to license, nothing to stream. Want your own anyway? Drop an .ogg into web/sounds/ and reference it per toast or per surface.

:repeat_button: Switching takes minutes, not a weekend

This was a priority: you should not have to touch your existing scripts.

  • Drop-in stubs for okokNotify, mythic_notify, t-notify and pNotify — tiny forwarder resources with the exact same export signatures as the originals. Remove the old resource, drop the stub in under the same folder name, done.
  • Event bridges for esx:showNotification, QBCore:Notify, ox_lib:notify and the legacy notify events — each individually toggleable, with the double-render caveats honestly documented.
  • Running ox_lib? One documented line and every lib.notify on your server renders through SimpleASF — local calls included, types and positions mapped natively.
  • A full porting cheatsheet in the docs maps old calls to new ones line by line, for when you’re ready to go native.

:gear: Frameworks, config & languages

ESX / QBCore / QBox / Standalone. Automatic detection (qbx_coreqb-corees_extended → standalone), exposed via a GetFramework export. No framework is ever required.

Everything lives in one fully annotated config.lua: positions, per-type durations/colors/sounds, animations, stacking & queue behavior, UI scale with resolution-aware auto-scaling (1080p → 4K), commands, keybinds, minigame control keys, compat flags, demo permissions. Config.ToastDefaults restyles every toast of a given type server-wide, Config.SurfaceDefaults re-homes and re-tunes any of the 48 surfaces — all without touching the scripts that fire them.

Locales: English, Hungarian and German shipped; adding a language is one file, auto-loaded, no manifest edit.

:wrapped_gift: Bonus: the GTA V native pack

Prefer the stock GTA look for some messages? Every built-in game notification is wrapped behind the same export style — feed notify, picture/advanced notify, help text, subtitle, busy spinner and the MISSION PASSED shard banner — client and server side, GTA color codes supported.

:eyes: A taste of the API

exports.simpleasf_notify:Success('Mission complete', 'Package delivered to the pier.')

exports.simpleasf_notify:Notify({
    type = 'money', title = 'Payday', money = 2500,
    group = 'payday', sound = 'money', animation = 'glitch'
})

exports.simpleasf_notify:Progress({
    label = 'Cracking the safe', duration = 6000, cancelable = true
}, function(res)
    if res.completed then
        exports.simpleasf_notify:Success('Safe opened')
    end
end)

exports.simpleasf_notify:Lockpick({ pins = 4, picks = 3 }, function(res)
    if res.success then TriggerServerEvent('mycar:unlock') end
end)

Server-side variants of everything take src first (-1 = everyone). The NUI is plain HTML/JS — no build step, no framework payload.

:test_tube: Try everything in two minutes

Install, join, run /runnotifydemo — a guided tour through every toast type, the queue/grouping behavior, DND, the history center, all surfaces and all five minigames. Lockable behind an ace permission (or disabled) for production.

:books: Documentation

The docs/ folder ships five full guides: INSTALL (step-by-step per framework, incl. the compat stub setup), CONFIG (every key explained), API (every export, every surface prop, every result payload), COMPATIBILITY (bridges, stubs, porting cheatsheet) and DEMO. The config.lua itself is annotated line by line.


:label: Launch price

€30.75 €6.15

Early-bird price for the debut of the SimpleASF series — it won’t stay there.

:shopping_cart: ➤ Get it on Tebex

:speech_balloon: Support: through the store’s ticket / Discord channel — please include your framework, the resource version and your config.lua.

Discord link: Discord


Code is accessible Yes
Subscription-based No
Lines (approximately) 5000+
Requirements & dependencies None — standalone (ESX / QBCore / QBox auto-detected)
Support Yes