LastResort
Member
INTEL NPC CHAT
Static, OneSync-synced NPCs with a branching chat-style dialogue UI
QBX · QB-Core · ESX · Standalone
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Launch sale.
Hidden link for visitors, to see
Log in or register now.
Source is fully open. I do not sell escrowed code to other devs — it feels wrong.
Every update from here on is free for everyone who bought it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What it is
This is something I built for my own server and figured other people might want it too.
Intel NPC Chat is a static NPC and dialogue system for FiveM. You drop one Lua file per character into
config/characters/, and you get a persistent, OneSync-synced NPC that players can walk up to and have an actual conversation with — branching choices, bribes, threats, tips, item-gated options, the works.Same UI we ship in the bigger
lrr_intel_npc resource, stripped down to the chat-and-NPC core so you can build whatever you want on top.What it actually does
NPCs spawn server-side, OneSync-synced. Two players standing fifty metres apart see the same ped at the same spot. They do not despawn on resource restart, they do not duplicate, they do not fall through the floor.
The dialogue UI: typewriter responses, numbered choice buttons (1-9 hotkeys), a topic bar of always-available small talk, a mood / body-language / witness HUD on the side, and a cinematic over-the-shoulder camera while talking. Players actually pay attention to NPC conversations again instead of mashing E.
Adding a character looks like this
Code:
RegisterNpc({
id = 'dani_taxi',
model = 'a_m_m_business_01',
coords = vec4(900.5, -178.2, 73.1, 200.0),
speaker = 'Dani', tag = 'Taxi Dispatcher', mood = 'casual',
dialogue = {
greeting = { "Need a ride?", "Where to, friend?" },
topics = {
{ id='ride', label='Quick ride ($50)', cost=50,
response="Hop in. Five minutes." },
{ id='bye', label="Not right now.",
response="Catch you later.", terminal=true },
},
},
})
That is a complete, working NPC. Drop the file, restart, done. No SQL, no admin panel, no registering it in three different places.
If you want it richer, there is a lot more
- Tones. Every topic can have a tone — bribe, threaten, flirt, tip, mug, pickpocket, beg, investigate, friendly — which styles the player line and shifts the vibe.
- Costs, skill chips, locked states, preview tooltips ("+1 Beer", "-$50") on any choice.
- Word highlighting. NPC replies can highlight specific words — names in one colour, threats in another, locations in another.
- System messages can slide in between lines ("Eli watched you steal from him.").
- Nested followups, terminal flags, item-gated visibility on every topic.
- Server and client hooks per topic. The server hook can return false to cancel, return a string for a custom failure reply, or return a full table to override the response and replace the next menu entirely. The client hook is for anims, ptfx, custom notifies — whatever.
Bundled examples
Seven working characters scattered across the map ship with it. You learn more from reading these than from docs:
| Character | Where | What it demonstrates |
|---|---|---|
| Mike | bartender at Pitchers | random greeting pool, nested buy menus, tipping |
| Anya | fence in a Vespucci alley | item-gated topics, hook-unlocked discount menu |
| Jenkins | mechanic | job-aware discounts, multi-tier upgrade tree, client anim |
| Lola | Vanilla Unicorn hostess | VIP pass + dance voucher chain, flirt tone |
| Eli | old man on a Mirror Park bench | long war-story response pool, mug-and-guilt |
| Carlos | sicario in El Burro | bulk-buy, hostile close, respect-bribe unlock |
| Hank | Vespucci boardwalk hot-dog vendor | minimal 4-topic vendor with a secret menu |
Steal whatever, gut whatever.
Frameworks and stack
Auto-detects framework and inventory on first call. Works with QBX, QB-Core, ESX, or standalone. Money, items, jobs and notify go through a Bridge shim that you can override if you need to.
- ox_inventory / qb-inventory / esx_inventory — all supported
ox_librequired,ox_targetrecommended (E-key prompt is the fallback)- OneSync on, legacy, or infinity — all fine. If onesync is off, the spawner refuses to run and logs a clear error so you do not lose an hour debugging.
- No hard FiveM artifact minimum — anything reasonably recent with lua54 and state bag replication works.
Install
Code:
set onesync on
ensure ox_lib
ensure ox_target
ensure lrr_npc_chat
Demo characters spawn around the map on first start. Open
config/characters/ and start writing your own.Read this before you buy both
Intel NPC ships this exact dialogue system and more. Two chat panels fighting over the same ped is a broken experience, so Intel NPC stops this resource automatically at boot and prints why to the console. They are mutually exclusive by design — buy this one for servers that do not run Intel NPC.
Part of the LastResort suite
- LastResort Notify — becomes the toast surface for dialogue and for the notify calls in your own hooks, ahead of ox_lib, QBCore and ESX. Re-probed if it starts after this resource.
- LastResort Chat — what an NPC says to you renders through the chat own bubbles and channels, in the same look as every other line on screen.
- Account Levels — the
level_requiredfield on any dialogue topic becomes a real gate. Without it the topic is simply open; a resource you do not own never locks content in this one. - LastResort Loading Screen (free) — runs alongside with no conflicts.
None of these are required.
Specs
| Code is accessible | Yes — full source, no escrow |
| Subscription-based | No |
| Lines (approx.) | 5,500+ |
| Requirements | ox_lib. Optional: ox_target |
| Licence | Per-customer, deploy on any number of servers you own, no redistribution |
| Support | Yes — lifetime updates, every future version free |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
€30 → €12
Discord:
Website:
Support: [email protected]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Hidden link for visitors, to see
Log in or register now.
Discord:
Hidden link for visitors, to see
Log in or register now.
Website:
Hidden link for visitors, to see
Log in or register now.
Support: [email protected]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━