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
}
}
},
}
}
Danika (verified owner) –
4* :)
Broderick (verified owner) –
Amazing thanks
MasonMystic609 (verified owner) –
I rarely leave a comment, but this item is beyond worth it! Gotta let you guys know!
MiloDark407 (verified owner) –
Wished I had found this sooner, it took me a lot of money and time until I found my dream product here!
Lelia (verified owner) –
One of the best scripts I have used.