Advanced NPC Dialogs [Standalone] [PAID]

This script is a powerful tool that allows to create dynamic and engaging conversations between players and NPCs. With this script, you can easily design interactive dialogue with customizable buttons and multiple options.

  • No dependency on frameworks
  • Easy to add new dialogs with many options available.
  • Possibility to add infinity dialogs and ansewers
  • Nice and clean UI with animations and writing effect
  • Complete documentation and support

Video Showcase: [Standalone] Advanced NPC Dialogs | FiveM Script
Documentation: NPC Dialog Docs

Config file
Config = {} -- <- Don't touch this

Config.Key = 38 -- (E) Key to interact with the ped. You can see all the keys here: https://docs.fivem.net/docs/game-references/controls/
Config.MinusOneZ = true -- Create peds with -1 Z axis
Config.ShowName = false -- Show the ped's name above his head
Config.ShowCircle = false -- Show a circle around the ped
Config.ShowInteractUI = true -- Show the UI to interact when you are close to the ped
Config.CreateVector4Command = true -- Create command /vector4 to copy your actual position in vector4 to clipboard
Config.AlertAvailableUpdate = true -- Show an alert in console if a new version of npc dialog is available

Config.Default = { -- Default values to use if not defined in the ped
   model = 'ig_lestercrest',
   interactDistance = 2.0,
   name = 'John',
   title = 'Hello!',
   description = 'Welcome, what do you want?',
}

Config.NPCs = {
   --[[ This is the template to create new NPCs, check all options available here: https://fivecore.gitbook.io/home/scripts/npc-dialog/usage
   [''] = {
       name = '',
       title = '',
       description = '',
       model = '',
       coords = vector4(0.0, 0.0, 0.0),
       buttons = {
           {
               text = '',
               event = '',
               type = '',
           },
           {
               text = 'Goodbye!',
           }
       }
   },
   --]]
  -- example NPC with all available options
   ['lester-ls'] = { -- unique name
       name = 'Lester', -- ped name
       title = 'Hey!', -- interface title
       description = 'I need a service, are you available?', -- interface description
       model = 'ig_lestercrest', -- ped model ( optional, You can see all of the here: https://docs.fivem.net/docs/game-references/ped-models/
       coords = vector4(440.99, -982.74, 30.69, 204.69), -- ped coords ( required )
       interactDistance = 2.0, -- the max distance to interact with ped ( optional, if not defined will use the default )
       blip = { -- create a blip for the ped ( optional )
           name = "Lester Missions", -- blip name to show on map
           sprite = 458, -- blip icon, you can see all of them here: https://docs.fivem.net/docs/game-references/blips/
           color = 44, -- blip color, you can see the colors in the same website of sprites.
       },
       -- anim = {  -- You can use anim or scenario, not both ( optional )
       --     dict = 'amb@world_human_bum_slumped@male@laying_on_right_side@idle_b', -- anim dict
       --     name = 'idle_d', -- anim name
       --     flag = 46 -- anim flag
       -- },
       -- scenario = 'WORLD_HUMAN_GUARD_STAND_FACILITY', -- You can use anim or scenario, not both ( optional )
       buttons = {
           {
               text = 'I love misterous things, I will do it!', -- ( required )
               event = 'example:server:acceptMission', -- event name if you want to trigger a event ( optional )
               type = 'server', -- client, server or command ( optional )
               args = {'lester-ls'}, -- event args if needed
               confirm = 'Are you sure? You need to pay $10,000 for this!', -- shows a confirm dialog after click ( optional )
           },
           {
               text = 'It is not dangerous?', -- text of the button ( required )
               action = function () -- this is a function, you can do anything here ( client side )
                   print('You clicked on the button')
               end,
               canInteract = function()  -- with this function you can check if the button will appear or not by returning true or false
                   -- You can check if the player has a weapon for example
                   return true
               end
           },
           {
               text = 'What do you need?', -- text of the button ( required )
               open = { -- create a secondary dialogue ( optional )
                   title = 'Its a secret!', -- new interface title
                   description = 'You will receive a good amount of money for this!', -- new interface description
                   buttons = {
                       {
                           text = 'I will do it!', -- text of the button ( required )
                           event = 'questsmenu lester', -- event name if you want to trigger a event or a command ( optional )
                           type = 'command', -- client, server or command ( optional )
                       },
                       {
                           text = 'Let me think about it...', -- text of the button ( required )
                           open = 'back' -- back to main interface
                       }
                   }
               }
           },
           {
               text = 'Goodbye!', -- do nothing, only for close interaction
           }
       }
   },
}

Buy now at Fivecore Tebex Store for $10,00

Code is accessible No
Subscription-based No
Lines (approximately) 800
Requirements N/A
Support Yes
3 Likes

Use code fivecore20 for 20% off in celebration of store launch, limited time!

i like this
Support Chinese content?
Is it possible to display labels on NPC heads?
Sorry for my bad English

Yes, it is possible to show text on the NPC’s head just by activating the option, and yes, it supports Chinese content