Configuration
Here is a showcase of how the config.lua can look like:
Config = {}
Config.FirstPersonCamera = false
Config.Locale = 'en' -- Change the locales language lua
Config.npcContext = {
{
npcmodel = {"g_m_importexport_01", "g_m_m_armboss_01","g_f_y_families_01","g_m_y_ballaeast_01","g_m_y_ballaorig_01","g_m_y_ballasout_01","g_m_y_famca_01","g_m_y_famdnf_01","g_m_y_salvaboss_01","mp_m_famdd_01","ig_ballasog","g_f_y_ballas_01","g_f_y_vagos_01","g_m_y_azteca_01","g_m_y_famdnf_01","g_m_y_famfor_01","g_m_y_mexgoon_01","g_m_y_mexgang_01","g_m_y_mexgoon_02","g_m_y_mexgoon_03","g_m_y_pologoon_01","g_m_y_pologoon_02"}, -- add a different NPC from https://docs.fivem.net/docs/game-references/ped-models/
npctarget = {
event = 'TalktoNPCS:TargetInteraction', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
icon = 'fas fa-question', -- Icon for ox_target - find more: https://fontawesome.com/icons
label = 'Talk to Gangster', -- ox_target Label
distance = 2.5,
turnoffcontrolstanding = nil, -- turn on if npc model is a unique ped standing on a specific location
},
context = {
id = uniqueped, -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Gangster', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {menu_point = 1, main_to_submenu = nil}, -- Change the Number Numerical if you add more Menu Points
title = "What's good?", -- Title first Menu Point
icon = 'fas fa-comment',
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Some fatass stole my bike',
"Mac'n Cheese is really good!",
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
{
args = {menu_point = 2, main_to_submenu = 'Gangster_Delivery_1'}, -- Change the Number Numerical if you add more Menu Points
title = 'Yo! do you need help?', -- Title first Menu Point
icon = 'fas fa-question',
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"You don't look like a cop, can you do a delivery?",
"My Bro needs a package, can you bring it to him?",
"I guess, An annoying customer is waiting for his delivery, can you do that for me?",
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
},onExit = function()
TriggerEvent('TalktoNPCS:onExit') -- DON'T TOUCH THIS
end,
},
SubMenus = { -- Add as many SubMenus as you like and trigger them through the args frome the Main Menu
{
id = 'Gangster_Delivery_1', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Gangster', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1,
thisSubMenu = 'Gangster_Delivery_1',
opensubmenu = nil,
}, -- Change the Number Numerical if you add more Menu Points
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'Yeah i can help!', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Thanks homes, i sent you the location. He is there for 15 minutes!',
'Awesome, here is the adress!',
'Nice bro, He is over there... Wait give me your map!',
},
buyItem = { -- Sellitem to NPC
item = 'marijuana',
maxamount = 2,
minamount = 2,
priceperunit = 0,
--answerofsuccess = {1,2,3}, -- disabled because every answer should succeed
},
setmission = {
answerofsuccess = nil, -- first answer will start the mission, you can also disable it by deleting or setting to nil or adding more answers
timeout = 15 * 60 * 1000, -- 15 * 60 * 1000, = 15 minutes in milliseconds
timeoutinfo = 'You took too long, the guy is gone!',
coords = {
vector4(15.5367, -1446.2651, 30.5415, 156.0600),
--add more coords here
},
entity = "g_m_y_mexgoon_01",
title = "Beach girl's boyfriend",
smalltitle = 'Says: ',
answer = {
"I needed that so bad. Here is the money!",
"Awesome thanks man! Shawty is gonna like that!"
-- set more answers
},
reward = { item ='money', minamount = 50, maxamount = 100, needitem = 'marijuana', needitemcount = 2}
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
},
},
},
},
-- add more NPC Models
{
npcmodel = {"a_m_o_tramp_01","a_m_m_tramp_01"},
npctarget = {
event = 'TalktoNPCS:TargetInteraction', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
icon = 'fas fa-question',-- Icon for ox_target - find more: https://fontawesome.com/icons
label = 'Talk to Junkie', -- ox_target Label
distance = 2.5,
turnoffcontrolstanding = nil, -- turn on if npc model is a unique ped standing on a specific location
},
context = {
id = uniqueped, -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Junkie', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {menu_point = 1, main_to_submenu = 'Selling_to_Junkie'}, -- Change the Number Numerical if you add more Menu Points
title = "You look like you need something.", -- Title first Menu Point
icon = 'fas fa-comment',
arrow = true,
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = false, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Some meth would be awesome!',
"My plug is dead! are you an angel sent from heaven?",
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
{
args = {menu_point = 2, main_to_submenu = nil}, -- Change the Number Numerical if you add more Menu Points
title = 'Here, buy some Clothes! *give away 100$*', -- Title first Menu Point
icon = 'fas fa-comment',
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"Man Thank you lemme call my De... Designer... because he helps me with the outfit",
"I really appreciate have you ever tried meth...?",
"I've never been more grateful, Thanks God!",
},
sellItem = { -- Sellitem to NPC
item = 'money',
maxamount = 100,
minamount = 100,
priceperunit = 0, -- for money irrelevant
answerofsuccess = nil, -- will lose 100$ as maxamount and minamount is the same
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
},onExit = function()
TriggerEvent('TalktoNPCS:onExit') -- DON'T TOUCH THIS
end,
},
SubMenus = {
{
id = 'Selling_to_Junkie', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Gangster', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1,
thisSubMenu = 'Selling_to_Junkie',
opensubmenu = nil,
}, -- Change the Number Numerical if you add more Menu Points
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'You can buy some weed!', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'I love the smell of a fresh burnt joint!',
'Hell yeah, here is your money!',
'Dont you have some meth?',
},
sellItem = { -- Sellitem to NPC
item = 'marijuana',
maxamount = 2,
minamount = 1,
priceperunit = 300,
answerofsuccess = {1,2}, -- only 1 and 2 will sell the item (Chance of 66.66%)
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
{
args = {
menu_point = 2,
thisSubMenu = 'Selling_to_Junkie',
opensubmenu = nil,
}, -- Change the Number Numerical if you add more Menu Points
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'You can buy some meth!', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'I love the smell of a fresh burnt joint!',
'Hell yeah, here is your money!',
},
sellItem = { -- Sellitem to NPC
item = 'meth',
maxamount = 3,
minamount = 2,
priceperunit = 200,
answerofsuccess = nil, -- nil or deletion means chance of 100% to sell the item
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
},
},
},
},
-- add more NPC Models
{
npcmodel = {"a_f_m_beach_01", "a_f_y_beach_01"}, -- add a different NPC from https://docs.fivem.net/docs/game-references/ped-models/
npctarget = {
event = 'TalktoNPCS:TargetInteraction', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
icon = 'fas fa-comment', -- Icon for ox_target - find more: https://fontawesome.com/icons
label = 'Talk to Beachgirl', -- ox_target Label
distance = 2.5, -- Interaction Distance Should not be Changed 2.5 is a good value!
},
context = {
id = uniqueped, -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
icon = {'fa-regular', 'fa-comments'},
title = 'Beachgirl 💬 ', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1, -- Change the Number Numerical if you add more Menu Points
main_to_submenu = 'Beachgirl_I_need_help', -- Trigger the Submenu and create the Submenu further down
},
title = 'Hey there i need some help', -- Title first Menu Point
icon = {'fa-regular', 'fa-circle-question'}, -- Icon for ox_lib - find more: https://fontawesome.com/icons
--description = 'Should I really tell her that?', -- is optional you can delete it
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = false, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Hello, how can i help you?',
'It would be a pleasure to help you!',
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') -- Trigger a Costum Event. You Can setup your own events in the CostumClient.lua
end,
},
{
args = {menu_point = 2}, -- Change the Number Numerical if you add more Menu Points
title = 'Where can I get drugs?', -- Title first Menu Point
icon = {'fa-solid', 'fa-circle-info'},
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT TOUCH THIS!
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = {
'You should better ask in another place.',
'Do I look like a junkie?',
'Go back to your hood you wannabe gangster!',
'Wrong person & wrong place darling!',
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
{
args = {
menu_point = 3,
main_to_submenu = 'Beachgirl_Conversation', -- trigger a submenu by adding it to "main_to_submenu" -- don't forget to create the submenu further down
},
arrow = true, -- idication to continue the conversation string
title = "Hey gorgeous what's up?", -- Title first Menu Point
icon = {'fa-regular', 'fa-face-smile'},
--description = 'Should I really tell her that?',
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT TOUCH THIS!
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"Nothing special I've been to the beach.",
'How can i help you?.',
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
{
args = {
menu_point = 4,
main_to_submenu = 'Beachgirl_Knickers_Conversation', -- trigger a submenu by adding it to "main_to_submenu" -- don't forget to create the submenu further down
},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'I have a fetish for knickers, can I have yours?', -- Title first Menu Point
icon = {'fa-regular', 'fa-comment'},
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT TOUCH THIS!
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"What do i get for it?"
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
--ADD MORE CONTEXT MENU POINTS
},onExit = function()
TriggerEvent('TalktoNPCS:onExit') -- DON'T TOUCH THIS
end,
},
SubMenus = { -- Create as many Submenus as you like! :)
{
id = 'Beachgirl_I_need_help', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Beachgirl', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_I_need_help', -- thisSubMenu has to be the same as "id"
opensubmenu = nil, -- set nil to close the conversation string
},
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'Where can i find the Mall?', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"The mall is near Carson Avenue. i can show it to you on the Map"
},
createwaypoint = { -- you can delete the whole option if not needed
coords = vector3(37.5631, -1745.2074, 29.3029),
--answerofsuccess = 1, -- answer 1 will create the waypoint if deleted or nil every answer creates waypoint
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
-- add more menu points to select from
{
args = {
menu_point = 2, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_I_need_help', -- thisSubMenu has to be the same as "id"
opensubmenu = nil, -- set nil to close the conversation string
},
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'Where can i find the police station?', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
"You can find the Mission Row Police Department at Atlee Street.",
},
createwaypoint = { -- you can delete the whole option if not needed
coords = vector3(424.3081, -982.7471, 30.7114),
--answerofsuccess = 1, -- answer 1 will create the waypoint if deleted or nil every answer creates waypoint
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
}
},
{
id = 'Beachgirl_Conversation', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Beachgirl', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_Conversation', -- thisSubMenu has to be the same as "id"
opensubmenu = 'Beachgirl_Conversation_2', -- which submenu should be triggered?
},
icon = {'fa-regular', 'fa-comment'},
arrow = true, -- gives player a indication that there is a submenu to open
title = 'Can i do you a favour?', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Yes honey, i am very late for an appointment. You can bring this to my Boyfriend. He will give you something for it',
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
-- add more menu points to select from
}
},
-- add more conversation strings
{
id = 'Beachgirl_Conversation_2', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Beachgirl', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_Conversation_2', -- Should always be the same as "id"
opensubmenu = nil, -- stop the conversation string by setting it to nil or deleting "opensubmenu"
},
icon = {'fa-regular', 'fa-comment'},
arrow = false, -- gives player a indication that there is a submenu to open
title = 'Yes i can do that, where can i find him?', -- Title first Menu Point
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'I can show you his location on the map. Thank you so much!',
},
buyItem = {
item = 'panties',
maxamount = 1,
minamount = 1,
priceperunit = 0, -- price per Unit if set to 0 its Free!
answerofsuccess = {1} -- set the answer of success or set to false for any answer to success or set a list of answers to succeed
},
setmission = {
answerofsuccess = {1}, -- first answer will start the mission, you can also disable it by deleting or setting to nil or adding more answers
timeout = 15 * 60 * 1000, -- 15 * 60 * 1000, = 15 minutes in milliseconds
timeoutinfo = 'You took too long, the guy is gone!',
coords = {
vector4(-1042.2753, -1024.9767, 2.1535, 31.7826),
--add more coords here
},
entity = "g_m_y_mexgoon_01",
title = "Beach girl's boyfriend",
smalltitle = 'Says: ',
answer = {
"Thank you! I hope my Girl wasn't rude. She can be a diva sometimes",
-- set more answers
},
reward = { item ='money', minamount = 50, maxamount = 100, needitem = 'panties', needitemcount = 1}
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
--add more conversation menu points
{
args = {
menu_point = 2, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_Conversation_2', -- Should always be the same as "id"
opensubmenu = nil, -- stop the conversation string by setting it to nil or deleting "opensubmenu"
},
arrow = false, -- gives player a indication that there is a submenu to open
title = 'No sorry i have other things to do', -- Title first Menu Point
icon = {'fa-regular', 'fa-comment'},
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Okay have a nice day.',
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
--add more conversation menu points
}
},
--add more conversations
{
id = 'Beachgirl_Knickers_Conversation', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
title = 'Beachgirl', -- Title of ox_lib Menu
smalltitle = 'says:',
options = {
{
args = {
menu_point = 1, -- Change the Number Numerical if you add more Menu Points
thisSubMenu = 'Beachgirl_Knickers_Conversation', -- Should always be the same as "id"
opensubmenu = nil, -- stop the conversation string by setting it to nil or deleting "opensubmenu"
}, -- Change the Number Numerical if you add more Menu Points
arrow = true, -- gives player a indication that there is a submenu to open
title = 'i can give you 10$.', -- Title first Menu Point
icon = {'fa-regular', 'fa-comment'},
event = 'TalktoNPCS:NecessaryEvent', -- DO NOT CHANGE THIS OTHERWISE IT WILL BREAK THE SCRIPT
shoulddisable = true, -- Should the Clicked Context Menu Point be disabled for this unique Ped? If set to false you can click it multiple Times.
answer = { -- if more than one answer its random
'Thanks for the money you pervert',
'Thats way to less!',
},
sellItem = { -- Sellitem to NPC
item = 'money',
maxamount = 10,
minamount = 10,
priceperunit = 1, -- for money irrelevant
answerofsuccess = {1}, -- only first answer will succeed player will lose 10$ as maxamount and minamount is the same
},
buyItem = {
item = 'panties',
maxamount = 1,
minamount = 1,
priceperunit = 0, -- price per Unit if set to 0 its Free!
answerofsuccess = {1} -- set the answer of success or set to false for any answer to success, player will get 1 panty
},
onSelect = function()
TriggerEvent('BeachGirl:CostumEvent') --
end,
},
--add more conversation menu points
}
},
-- add more conversations
}
},
}
Last updated