Intel NPC Chat - Talk to NPC with a Chat-Style Dialogue UI | No Escrow, Lifetime Updates

Hey. This is something I built for my own server and figured other people might want it too.

Intel NPC Chat is a static NPC + 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 our bigger lrr_intel_npc resource, just stripped down to the chat-and-NPC core so you can build whatever you want on top.

€18.45 launch sale (normally €36.90) — that is €15 / €30 excl. VAT. Source is fully open. I don’t sell escrowed code to other devs — feels wrong. Every update from here on is free for everyone who bought it.

:shopping_cart: Buy on Tebex — €18.45 :shopping_cart:


:puzzle_piece: Part of the LastResort suite


:bell: LastResort Notify · NOTIFY + HUD

8 toast types plus a complete game HUD: status band, driving cluster, weapon panel, vehicle control menu and 51 gameplay surfaces including 5 minigames. Zero dependencies.
↳ Together: 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.


:mobile_phone: LastResort Chat · CHAT

iMessage-style immersive chat, a drop-in replacement for the stock chat resource, with staff reports, mutes and a held MOTD.
↳ Together: what an NPC says to you renders through the chat’s own bubbles and channels, in the same look as every other line on screen.


:sports_medal: Account Levels · PROGRESSION

Playtime-based account tiers. Gate any feature, mine or yours, behind a level with one server-side call.
↳ Together: the level_required field 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.


:desktop_computer: LastResort Loading Screen · FREE

Video, image and music backgrounds, live player count, news, rules and staff tabs, 10 languages, no dependencies.
↳ Together: runs alongside with no conflicts — it only occupies the loadscreen slot.


:magnifying_glass_tilted_right: Game Data · COMING SOON

Search any ped model, vehicle, prop, animation or scenario in game, preview it in the world, copy a ready-to-paste config snippet.
↳ Together: built to find the exact model, prop and animation names you put into config/characters/.


:wrench: Vehicle Inspection · COMING SOON

Walk-around damage check, OBD scan and roadside inspection, with police / mechanic / civil role kits.


:warning: 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.


##discord
DISCORD LINK

What it actually does

NPCs spawn server-side, OneSync-synced. Two players standing fifty meters apart see the same ped at the same spot. They don’t despawn on resource restart, they don’t duplicate, they don’t 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:

lua

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’s 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 to be richer — there’s a lot more. Every topic can have a tone (bribe, threaten, flirt, tip, mug, pickpocket, beg, investigate, friendly…), which styles the player’s line and shifts the vibe. Choices can have costs, skill chips, locked states, preview tooltips (“+1 Beer”, “-$50”). 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.”). Topics can have nested followups, terminal flags, item-gated visibility.

For anything truly custom there are server and client hooks per topic. 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. Client hook is for anims, ptfx, custom notifies — whatever.


Bundled examples

I ship 7 working characters scattered across the map. You learn way more from reading these than from docs:

  • Mike, the bartender at Pitchers — random greeting pool, nested buy menus, tipping
  • Anya, a fence in a Vespucci alley — item-gated topics, hook-unlocked discount menu
  • Jenkins, a mechanic — job-aware discounts, multi-tier upgrade tree, client anim
  • Lola, a Vanilla Unicorn hostess — VIP pass + dance voucher chain, flirt tone
  • Eli, an old man on a Mirror Park bench — long war-story response pool, mug-and-guilt
  • Carlos, a sicario in El Burro — bulk-buy, hostile close, respect-bribe unlock
  • Hank, a 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/notify go through a Bridge shim that you can override if you need to.

  • ox_inventory / qb-inventory / esx_inventory — all supported
  • ox_lib required, ox_target recommended (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 don’t lose an hour debugging.
  • No hard FiveM artifact minimum — anything reasonably recent with lua54 and state bag replication works.

Preview video

:movie_camera: Coming this week — will edit it in when it’s up.

Show Image Show Image


Install

cfg

set onesync on
ensure ox_lib
ensure ox_target
ensure lrr_npc_chat

Six demo characters spawn around the map on first start. Open config/characters/ and start writing your own.


Pricing & support

  • €18.45 during the launch sale, €36.90 after — €15 / €30 excl. VAT
  • Per-customer license, deploy on any number of servers you own, no redistribution
  • Lifetime updates — every future version is free
  • Support via Tebex / DM today. GitHub issues and Discord opening shortly.

:shopping_cart: Buy on Tebex — €18.45 :shopping_cart:


Code is accessible Yes (full source, no escrow)
Subscription-based No
Lines (approximately) 5,500+
Requirements ox_lib. Optional: ox_target
Support Yes — lifetime
1 Like

This sounds interesting, as does the larger project on your tebex. However, a video of it in action would do wonders for it’s credibility. Hope to see one soon. :slight_smile:

1 Like

Thank you, I really appreciate the positive feedback. Sure, the video is on the way. Thanks!

1 Like

UPDATED - with discord link

DISCORD LINK

Script Update

v2.0

  • Added voice lines, persistent NPC memory, returning greetings, topic requirements, and an optional trust system.
  • Added language packs, admin tools, automatic NPC respawning, new exports, and three new characters.
  • Improved framework compatibility, configuration handling, keybinds, and network ownership.
  • Fixed security vulnerabilities, duplicate rewards, inventory checks, camera, UI, and respawn issues.
  • Removed the hard ox_lib dependency and all external UI requests.
  • General security, stability, and code-quality improvements.