
Hey everyone!
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


Youtube Preview
v2 UPDATE
#V1 PREVIEW (V2 includes all these features)
Discord
At a glance
| Full toast engine + 48 UI surfaces + 5 interactive minigames | |
| ESX / QBCore / QBox / Standalone — auto-detected, never required | |
| None. No ox_lib, no npm build, no sound packs | |
| Drop-in stubs for okokNotify, mythic_notify, t-notify, pNotify + event bridges | |
| 21 sounds synthesized live via Web Audio — zero audio files shipped | |
| English, Hungarian, German — add your own with one file | |
| Fully open source code — no escrow, no obfuscation | |
The notify part
- 8 toast types —
success,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
×Ncounter 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.
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.
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).
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.
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:notifyand the legacy notify events — each individually toggleable, with the double-render caveats honestly documented. - Running ox_lib? One documented line and every
lib.notifyon 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.
Frameworks, config & languages
ESX / QBCore / QBox / Standalone. Automatic detection (qbx_core → qb-core → es_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.
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.
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.
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.
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.
Launch price
€30.75€12.60Early-bird price for the debut of the SimpleASF series — it won’t stay there.
➤ Get it on Tebex
Support: through the store’s ticket / Discord channel — please include your framework, the resource version and your config.lua.
| Code is accessible | Yes |
| Subscription-based | No |
| Lines (approximately) | 5000+ |
| Requirements & dependencies | None — standalone (ESX / QBCore / QBox auto-detected) |
| Support | Yes |


