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.
Caratteristiche principali:
Efficienza delle risorse: Utilizza solo 0,03 risonanze quando è attivo e 0,00 quando è inattivo, garantendo un impatto minimo sulle prestazioni del server.
Flessibilità: Compatibile sia con i tasti di destinazione che con quelli di interazione, offre flessibilità nel modo in cui i giocatori interagiscono con i PNG.
Personalizzazione: Modifica facilmente il posizionamento dei PNG, le opzioni di dialogo e le risposte per creare scenari e obiettivi unici, su misura per le esigenze del tuo server.
Trasforma le interazioni dei giocatori con questo sistema di dialogo versatile e leggero!
---
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
}
}
},
```
Configurazione
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
}
}
},
}
}
5 recensioni per 0R NPC Dialog
Valutato 4 su 5
Danika (proprietario verificato)–
4* :)
Valutato 5 su 5
Broderick (proprietario verificato)–
Amazing thanks
Valutato 5 su 5
MasonMystic609 (proprietario verificato)–
I rarely leave a comment, but this item is beyond worth it! Gotta let you guys know!
Valutato 5 su 5
MiloDark407 (proprietario verificato)–
Avrei voluto trovarlo prima, ho speso molti soldi e tempo finché non ho trovato il mio prodotto dei sogni qui!
Valutato 5 su 5
Lelia (proprietario verificato)–
One of the best scripts I have used.
Solamente clienti che hanno effettuato l'accesso ed hanno acquistato questo prodotto possono lasciare una recensione.
Danika (proprietario verificato) –
4* :)
Broderick (proprietario verificato) –
Amazing thanks
MasonMystic609 (proprietario verificato) –
I rarely leave a comment, but this item is beyond worth it! Gotta let you guys know!
MiloDark407 (proprietario verificato) –
Avrei voluto trovarlo prima, ho speso molti soldi e tempo finché non ho trovato il mio prodotto dei sogni qui!
Lelia (proprietario verificato) –
One of the best scripts I have used.