Config
Config = {}
Config.TalkChance = 75 -- % chance NPC agrees to talk
Config.TalkOptions = {
{
title = "Ask for location",
icon = "map",
submenu = "location_menu",
submenuData = {
title = "**Locations**",
options = {
{
title = "Hospital",
icon = "hospital",
event = "edev_npc:gotoCategory",
args = { key = "hospital" }
},
{
title = "Police",
icon = "police",
event = "edev_npc:gotoCategory",
args = { key = "police" }
},
{
title = "Gunshop",
icon = "gun",
event = "edev_npc:gotoCategory",
args = { key = "gunshops" }
},
}
}
},
{
title = "Ask how they are",
icon = "smile",
event = "edev_npc:howAreYou"
},
{
title = "Challenge to fight",
icon = "fist-raised",
event = "edev_npc:fight"
},
{ -- This is example for using only certain peds for certain actions peds tables are in shared-peds.lua
title = "Report Crime",
icon = "bullhorn",
canUse = function(ped)
local model = GetEntityModel(ped)
return exports['edev_npcinteract']:isPolice(model)
end,
event = "edev_npc:reportCrime"
},
{
title = "Ask for information",
icon = "user-secret",
canUse = function(ped)
local model = GetEntityModel(ped)
return exports['edev_npcinteract']:isGang(model)
end,
event = "edev_npc:gangInfo"
},
{
title = "Sell Drugs - EXAMPLE",
icon = "pills",
event = "edev_npc:selldrugs"
},
}
-- Excluded Zones are zones in where interacting with peds is disabled, for example: Stores or locations where you already have interactive peds
Config.ZoneDebug = false
Config.ExcludedZones = {
{ coords = vector3(423.2991, -1019.4999, 29.0231), radius = 10.0 },
}
-- Locations to ask directions for
Config.Locations = {
hospital = {
label = "Hospital",
coords = {
{ name = "Pillbox Hill Hospital", coords = vector3(295.8, -1446.0, 29.9) },
{ name = "Sandy Shores Medical", coords = vector3(-247.7, 6330.2, 32.4) },
}
},
police = {
label = "Police Station",
coords = {
{ name = "Mission Row PD", coords = vector3(425.1, -979.5, 30.7) },
{ name = "Sandy Shores PD", coords = vector3(1851.0, 3689.5, 34.2) },
}
},
gunshops = {
label = "Gunshop",
coords = {
{ name = "Downtown Ammu-Nation", coords = vector3(22.0, -1107.0, 29.8) },
{ name = "Vinewood Ammu-Nation", coords = vector3(252.7, -50.0, 69.9) },
}
}
}
-- Chance NPC refuses to help (in %)
Config.RefuseChance = 25
Config.MaxHelpDistance = 5000.0
-- Fight acceptance chance
Config.Fight = {
MaleChance = 50, -- % chance male accepts fight
FemaleChance = 1 -- % chance female accepts fight
}
-- Random responses add how many you want
Config.Responses = {
howareyou = {
"I'm fine, just taking a walk.",
"Could be better. Life's tough, y'know?",
"Pretty good actually!",
"Go away, I don't want to talk.",
"I'm feeling great, thanks!",
},
fightRefuse = {
"Are you serious?!",
"Get lost, freak.",
"I'm not fighting you.",
"What kind of question is that?",
}
}
-- Emotion animations for option ask how are you
Config.Emotions = {
happy = { dict = "amb@world_human_bum_standing@depressed@base", anim = "base" },
angry = { dict = "misscommon@response", anim = "angry" },
confused = { dict = "amb@code_human_wander_disgusted@male@base", anim = "base" },
sad = { dict = "amb@world_human_bum_standing@depressed@base", anim = "base" }
}
/*$$ /$$ /$$$$$$ /$$$$$$$$ /$$$$$$ /$$$$$$$$ /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$$$ /$$$$$$$$ /$$ /$$
| $$$ | $$ /$$__ $$|__ $$__/|_ $$_/| $$_____/| $$ /$$/ /$$__ $$| $$ /$$//$$__ $$|__ $$__/| $$_____/| $$$ /$$$
| $$$$| $$| $$ \ $$ | $$ | $$ | $$ \ $$ /$$/ | $$ \__/ \ $$ /$$/| $$ \__/ | $$ | $$ | $$$$ /$$$$
| $$ $$ $$| $$ | $$ | $$ | $$ | $$$$$ \ $$$$/ | $$$$$$ \ $$$$/ | $$$$$$ | $$ | $$$$$ | $$ $$/$$ $$
| $$ $$$$| $$ | $$ | $$ | $$ | $$__/ \ $$/ \____ $$ \ $$/ \____ $$ | $$ | $$__/ | $$ $$$| $$
| $$\ $$$| $$ | $$ | $$ | $$ | $$ | $$ /$$ \ $$ | $$ /$$ \ $$ | $$ | $$ | $$\ $ | $$
| $$ \ $$| $$$$$$/ | $$ /$$$$$$| $$ | $$ | $$$$$$/ | $$ | $$$$$$/ | $$ | $$$$$$$$| $$ \/ | $$
|__/ \__/ \______/ |__/ |______/|__/ |__/ \______/ |__/ \______/ |__/ |________/|__/ |_*/
Config.Notification = {
Type = "lib", -- options: "lib", "edev", "mythic", "custom"
Show = function(data)
local notifType = Config.Notification.Type
if notifType == "lib" then -- you need to uncomment @ox_lib/init.lua' in fxmanifest.lua if you want to use lib notifications
lib.notify({
title = data.title or "Notification",
description = data.description or "",
position = 'top-right',
style = {
backgroundColor = 'rgb(24 24 27)',
color = '#f4f4f5',
['.description'] = {
color = '#f4f4f5'
}
},
icon = 'info',
iconColor = '#f4f4f5'
})
elseif notifType == "edev" then
print(data.title, data.description)
elseif notifType == "mythic" then
exports["mythic_notify"]:SendAlert(data.type or "inform", data.description or "", 5000)
elseif notifType == "custom" then
-- Your custom export here
end
end
}
/*$$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$ /$$$$$$ /$$$$$$$$ /$$$$$$ /$$$$$$ /$$ /$$
|__ $$__/| $$__ $$ /$$__ $$| $$$ | $$ /$$__ $$| $$ /$$__ $$|__ $$__/|_ $$_/ /$$__ $$| $$$ | $$
| $$ | $$ \ $$| $$ \ $$| $$$$| $$| $$ \__/| $$ | $$ \ $$ | $$ | $$ | $$ \ $$| $$$$| $$
| $$ | $$$$$$$/| $$$$$$$$| $$ $$ $$| $$$$$$ | $$ | $$$$$$$$ | $$ | $$ | $$ | $$| $$ $$ $$
| $$ | $$__ $$| $$__ $$| $$ $$$$ \____ $$| $$ | $$__ $$ | $$ | $$ | $$ | $$| $$ $$$$
| $$ | $$ \ $$| $$ | $$| $$\ $$$ /$$ \ $$| $$ | $$ | $$ | $$ | $$ | $$ | $$| $$\ $$$
| $$ | $$ | $$| $$ | $$| $$ \ $$| $$$$$$/| $$$$$$$$| $$ | $$ | $$ /$$$$$$| $$$$$$/| $$ \ $$
|__/ |__/ |__/|__/ |__/|__/ \__/ \______/ |________/|__/ |__/ |__/ |______/ \______/ |__/ \_*/
Config.Text = { --Config.Text["target_lable"]
['target_lable'] = 'Talk to person',
['add_closest'] = 'Closest ',
['add_title'] = 'NPC',
['add_title2'] = '**Conversation**',
-- respones
['response_tourist'] = 'I\'m just a tourist, I don’t know.',
['response_unknarea'] = 'Sorry, I don\'t know that area well enough',
['response_direction'] = "Head %s toward the %s. I\'ve marked it on your map.",
['response_acceptfight'] = "Alright, bring it on!",
['response_rejectinteraction'] = "I already told you, I don't want to talk.",
-- error
['error_animal'] = 'Are you an animal whisperer or what?',
['error_dead'] = 'You can\'t fight them. Person is dead.',
}
Last updated