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!