The Modern NPC Dialog Script allows players to interact dynamically with NPCs in your FiveM server, offering immersive and engaging experiences.
14-day refund policy
Free updates forever
Inspect & modify the code
Click to load video from YouTube. By watching, you agree to their privacy policy.
---
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 = {
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
}
}
},
}
}
0 questions
No questions yet
Be the first to ask a question about this product!