FiveM addiction systemFiveM Addiction Script
FiveM Hawaii IslandHawaii Island

0R NPC Dialog

Original price was: 34.20 €.Current price is: 25.20 €.

26% Off

The Modern NPC Dialog Script allows players to interact dynamically with NPCs in your FiveM server, offering immersive and engaging experiences. Inspired by NoPixel 4.0, this script enables you to craft meaningful conversations that can lead to different outcomes based on player responses. Customize NPC positions, questions, and answers to suit your storyline or server theme.

Key Features:

  • Resource Efficiency: Uses only 0.03 resmon when active and 0.00 when idle, ensuring minimal impact on server performance.
  • Flexibility: Compatible with both target and interaction keys, offering flexibility in how players engage with NPCs.
  • Customization: Easily modify NPC placements, dialogue options, and responses to create unique scenarios and objectives tailored to your server’s needs.

Transform player interactions with this versatile and lightweight dialog system!

Direct Download
  • Satisfaction Guarantee
  • 100% No Leaks

  • Receive a Free Gift with Every Order

Price Increases after Countdown
This Sale is Limited!
0
0
0
0
Days
0
0
Hrs
0
0
Min
0
0
Sec

Share this mod

Readme file

---
description: To hide menu use this export: exports
["0r-npcdialog"]:closeMenu() --- ## Here is a empty npc dialog to help you creating new ones. ```lua { -- 1 Ped = { Enable = true, coords = Vector4 Coords, hash = "Ped Hash" -- Check here https://docs.fivem.net/docs/game-references/ped-models/ }, Blip = { -- https://docs.fivem.net/docs/game-references/blips/ Enable = false, -- to enable make it true coords = Vector3 Coords, sprite = Blip Sprite, color = Blip Color, scale = Blip Scale, text = "Blip Text" }, Menu = { Label = "Menu Label", Description = "Menu Description", Icon = "fas fa-hands-usd", -- Fınd an icon for your menu from this website https://fontawesome.com/v5/search | You can use Pro Icons too }, AutoMessage = { -- This is an automatic message system that sends automatic message when you open dialog menu. Enable = false, -- to enable make it true AutoMessages = { {type = "question", text = "Write your text here."}, -- message type question means it adds a question icon to message {type = "message", text = "Write your text here."} -- this is a default message } }, Buttons = { [1] = { -- Button 1 and answers label = "Button Label", systemAnswer = {enable = true, type = "question", text = "You accepted heist you want to coordinate plan?"}, playerAnswer = {enable = true, text = "Yes let's do it!"}, maxClick = 2, -- Max click amount after the amount maximize it disables button onClick = function() -- Write your export or events here -- exports[GetCurrentResourceName()]:closeMenu() end }, [2] = { -- Button 2 and answers label = "Button Label", systemAnswer = {enable = true, type = "message", text = "We need to synchronize our watches and stick to the plan."}, playerAnswer = {enable = true, text = "Agreed. Everyone, make sure you know your roles and follow the timeline."}, maxClick = 1, -- Max click amount after the amount maximize it disables button onClick = function() -- Write your export or events here -- exports[GetCurrentResourceName()]:closeMenu() end }, [3] = { -- Button 3 and answers label = "Button Label", systemAnswer = {enable = true, type = "message", text = "It's time. Let's move in and secure the objective."}, playerAnswer = {enable = true, text = "Roger that. Stay focused and don't engage unless absolutely necessary."}, maxClick = 1, -- Max click amount after the amount maximize it disables button onClick = function() -- Write your export or events here -- exports[GetCurrentResourceName()]:closeMenu() end }, [4] = { -- Button 4 and answers label = "Button Label", systemAnswer = {enable = true, type = "message", text = "The authorities are closing in. We need a clear path for extraction."}, playerAnswer = {enable = false, text = "Understood. Head to the rendezvous point, and be ready to move fast."}, maxClick = 1, -- Max click amount after the amount maximize it disables button onClick = function() -- Write your export or events here -- exports[GetCurrentResourceName()]:closeMenu() end }, -- Don't write more than 5 buttons }, Interaction = { Target = { Enable = false, -- to enable make it true Distance = 2.0, Label = "Target Label", Icon = "fa-solid fa-address-book" }, Text = { Enable = true, -- to enable make it true Distance = 3.0, Label = "Text Label" }, DrawText = { Enable = false, -- to enable make it true Distance = 3.0, Show = function() exports["qb-core"]:DrawText("[Key Name] Text Label", "Menu Position - left, right") end, Hide = function() exports["qb-core"]:HideText() end } } }, ```

Config

Config = {
    MenuAlign = "right", -- left or right
    Dialogs = {
        { -- 1
            Ped = {
                Enable = true,
                coords = vector4(-1465.16, -34.56, 55.05, 310.67),
                hash = "a_m_y_hasjew_01", -- Check here https://docs.fivem.net/docs/game-references/ped-models/
                animDict = "amb@world_human_hang_out_street@female_arms_crossed@idle_a",
                animName = "idle_a"
            },
            Blip = { -- https://docs.fivem.net/docs/game-references/blips/
                Enable = false,
                coords = vector3(-1465.16, -34.56, 55.05),
                sprite = 59,
                color = 2,
                scale = 0.5,
                text = "Blip Text"
            },
            Menu = {
                Label = "HEIST MISSION",
                Description = "SYSTEM",
                Icon = "fas fa-hands-usd", -- https://fontawesome.com/v5/search | You can use Pro Icons too
            },
            AutoMessage = { -- This is an automatic message system that sends automatic message when you open dialog menu.
                Enable = true,
                AutoMessages = {
                    {type = "question", text = "Welcome, choose a mission."},
                    --{type = "message",  text = "This is an automatic message."}
                }
            },
            Buttons = {
                [1] = { -- Button 1 and answers
                    label = "Accept Heist",
                    systemAnswer = {enable = true, type = "question", text = "You accepted heist you want to coordinate plan?"},
                    playerAnswer = {enable = true, text = "Yes let's do it!"},
                    maxClick = 2,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [2] = { -- Button 2 and answers
                    label = "Coordinate Plan",
                    systemAnswer = {enable = true, type = "message", text = "We need to synchronize our watches and stick to the plan."},
                    playerAnswer = {enable = true, text = "Agreed. Everyone, make sure you know your roles and follow the timeline."},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [3] = { -- Button 3 and answers
                    label = "Execute Mission",
                    systemAnswer = {enable = true, type = "message", text = "It's time. Let's move in and secure the objective."},
                    playerAnswer = {enable = true, text = "Roger that. Stay focused and don't engage unless absolutely necessary."},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [4] = { -- Button 4 and answers
                    label = "Escape Route",
                    systemAnswer = {enable = true, type = "message", text = "The authorities are closing in. We need a clear path for extraction."},
                    playerAnswer = {enable = false, text = "Understood. Head to the rendezvous point, and be ready to move fast."},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                -- Don't write more than 5 buttons
            },
            Interaction = {
                Target = {
                    Enable = false,
                    Distance = 2.0,
                    Label = "Contact",
                    Icon = "fa-solid fa-address-book"
                },
                Text = {
                    Enable = false,
                    Distance = 3.0,
                    Label = "[E] Contact"
                },
                DrawText = {
                    Enable = true,
                    Distance = 3.0,
                    Show = function()
                        exports["qb-core"]:DrawText("Contact", "left")
                    end,
                    Hide = function()
                        exports["qb-core"]:HideText()
                    end
                }
            }
        },
        { -- 2
            Ped = {
                Enable = true,
                coords = vector4(-266.53, -972.09, 31.22, 221.37),
                hash = "a_m_m_soucent_02", -- Check here https://docs.fivem.net/docs/game-references/ped-models/
                animDict = "amb@world_human_hang_out_street@female_arms_crossed@idle_a",
                animName = "idle_a"
            },
            Blip = { -- https://docs.fivem.net/docs/game-references/blips/
                Enable = false,
                coords = vector3(-266.53, -972.09, 31.22),
                sprite = 59,
                color = 2,
                scale = 0.5,
                text = "Blip Text"
            },
            Menu = {
                Label = "GOVERNMENT",
                Description = "MENU",
                Icon = "fas fa-id-card-alt", -- https://fontawesome.com/v5/search | You can use Pro Icons too
            },
            AutoMessage = { -- This is an automatic message system that sends automatic message when you open dialog menu.
                Enable = true,
                AutoMessages = {
                    {type = "question", text = "Welcome, choose what you want to do."},
                    --{type = "message",  text = "This is an automatic message."}
                }
            },
            Buttons = {
                [1] = { -- Button 1 and answers
                    label = "Renew ID Card",
                    systemAnswer = {enable = true, type = "question", text = "You want to renew your identity card?"},
                    playerAnswer = {enable = true, text = "Yes I lost it, I need new one!"},
                    maxClick = 2,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [2] = { -- Button 2 and answers
                    label = "Renew Driver License",
                    systemAnswer = {enable = true, type = "message", text = "You want to renew your driver license?"},
                    playerAnswer = {enable = true, text ="Yes I lost it, I need new one!"},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [3] = { -- Button 3 and answers
                    label = "Buy License",
                    systemAnswer = {enable = true, type = "message", text = "You want to buy a weapon license."},
                    playerAnswer = {enable = true, text = "Yes I need to protect myself."},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        -- exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                [4] = { -- Button 4 and answers
                    label = "Leave Conversation",
                    systemAnswer = {enable = false, type = "message", text = "The authorities are closing in. We need a clear path for extraction."},
                    playerAnswer = {enable = false, text = "Understood. Head to the rendezvous point, and be ready to move fast."},
                    maxClick = 1,
                    onClick = function()
                        -- Write your export or events here
                        exports[GetCurrentResourceName()]:closeMenu()
                    end
                },
                -- Don't write more than 5 buttons
            },
            Interaction = {
                Target = {
                    Enable = false,
                    Distance = 2.0,
                    Label = "Contact",
                    Icon = "fa-solid fa-address-book"
                },
                Text = {
                    Enable = false,
                    Distance = 3.0,
                    Label = "[E] Contact"
                },
                DrawText = {
                    Enable = true,
                    Distance = 3.0,
                    Show = function()
                        exports["qb-core"]:DrawText("Contact", "left")

                    end,
                    Hide = function()
                        exports["qb-core"]:HideText()
                    end
                }
            }
        },
    }
}