👆Interaction Locations
Adding More INTERACTION LOCATIONS
Adding more
interaction locationsis very simple via theconfig.luafileSome target events require args being passed usually the
ShopNameand theStorageType(for stash targets only)To add another target zone simply add your
ShopNameas theykeyand then customize thevaluesto suit your server needs inConfig.InteractionLocationsTo disable a specific boxzone just set
Enabledto false
Config.InteractionLocations = {
['Example Shop'] = { --Example Bar
{
Enabled = true,
Name = "example_crafting",
Location = vector3(-1400.09, -598.18, 30.5),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-glass-martini',
Label = 'Open Crafting Menu',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:OpenCrafting',
BarName = 'Example Bar', --[[ ✅ Make Sure To Pass shopName ]]
},
{
Enabled = true,
Name = "example_drinksFridge",
Location = vector3(-1404.13, -598.71, 29.85),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-briefcase',
Label = 'Open Storage Fridge',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:OpenStorage',
args = { barName = "Example Bar", storageType = "StorageFridge" }, --[[ ✅ Make Sure To Pass shopName and the storageType you define in Config.CoreSettings.Stashes ]]
},
{ --this event doesnt need any args passing
Enabled = true,
Name = "example_bossMenu",
Location = vector3(-1370.25, -625.7, 30.12),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-briefcase',
Label = 'Open Management Menu',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = Config.CoreSettings.EventNames.BossMenu, -- this doesnt need any args passing as it directly triggers the event you set
},
{
Enabled = true,
Name = "example_bossStash",
Location = vector3(-1366.22, -624.67, 30.5),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-briefcase',
Label = 'Open Boss Storage',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:OpenStorage',
args = { barName = "Example Bar", storageType = "BossStash" }, --[[ ✅ Make Sure To Pass shopName For storage system THIS MUST MATCH THE KEY AND THE STORAGE TYPE YOU DEFINE IN CONFIG.CORESETTINGS.STASHES!]]
},
},
}Some Events Require Arguments Passed With Them
The target events below require arguments passed through the target to the event for various features and security measures.
It is vital you understand what zone events requires arguments passed. Without these arguments the features may not work as intended leading to script issues or errors
The same logic above with arguments being passed also applies to some props in
Config.Props
Requires
ShopNamebeing passed
{
Enabled = true,
Name = "example_crafting",
Location = vector3(-1400.09, -598.18, 30.5),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-glass-martini',
Label = 'Open Crafting Menu',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:OpenCrafting',
BarName = 'Example Shop',
--[[ ✅ Make Sure To Pass ShopName ]]
},Requires args
shopNameandstorageTypebeing passedstorageTypeis the storage type you define inConfig.CoreSettings.StashesThis applies to both storages and boss storages
{
Enabled = true,
Name = "example_storageshelf",
Location = vector3(381.89, -819.82, 29.25),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-hand-point-up', Label = 'Open Storage Shelf',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:OpenStorage',
args = { shopName = "Example Shop", storageType = "StorageShelf" }, --[[ ✅ Make Sure To Pass shopName For storage and the storageType you define in Config.CoreSettings.Stashes]]
}, Requires args
shopNamebeing passed
{
Enabled = true,
Name = "example_supplies",
Location = vector3(383.46, -827.29, 29.29),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-hand-point-up', Label = 'Get Supplies',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:GetSupplies',
args = { shopName = 'Example Shop' }, --[[ ✅ Make Sure To Pass shopName For supplies menu ]]
},
Requires args
shopNamepassed
{
Enabled = true,
Name = "example_payment",
Location = vector3(380.31, -827.39, 29.3),
Radius = 0.75,
Distance = 2.0,
Icon = 'fa-solid fa-hand-point-up', Label = 'Charge Customer',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Event = 'lusty94_weedshops:client:BillPlayer',
args = { shopName = "Example Shop" }, --[[ ✅ Make Sure To Pass shopName For billing menu ]]
},Requires args
shopNamepassed - this particular example showcases a prop using the cctv menu but you can set this to a static target zone if you wish, just make sure to pass the correct shopName
{
Enabled = true,
Model = 'prop_cctv_cont_02',
Coords = vector4(376.87, -824.59, 30.15, 180.0),
Radius = 0.75,
Icon = 'fa-solid fa-box',
Label = 'View CCTV',
Job = Config.CoreSettings.Jobs['Example Shop'].name,
Distance = 3.0,
Event = 'lusty94_weedshops:client:OpenCCTVMenu',
args = { shopName = "Example Shop" }, --[[ ✅ Make Sure To Pass shopName For CCTV MENU]]
},Last updated