πInteraction Locations
Adding More INTERACTION LOCATIONS
Adding more
interaction locations
is very simple via theconfig.lua
fileSome target events require args being passed usually the
ShopName
and theStorageType
(for stash targets only)To add another target zone simply add your
ShopName
as theykey
and then customize thevalues
to suit your server needs inConfig.InteractionLocations
To disable a specific boxzone just set
Enabled
to false
Config.InteractionLocations = {
['Example Shop'] = { --Example Bar
{
Enabled = true,
Name = "example_crafting",
Location = vector3(-1400.09, -598.18, 30.5),
Size = vec3(0.8,1.5,0.5),
Width = 0.8,
Height = 0.4,
Heading = 30.00,
MinZ = 30.25,
MaxZ = 30.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),
Size = vec3(1.2,0.8,0.75),
Width = 0.8,
Height = 1.2,
Heading = 32.86,
MinZ = 29.50,
MaxZ = 30.5,
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),
Size = vec3(0.8,0.8,0.5),
Width = 0.8,
Height = 0.8,
Heading = 30.68,
MinZ = 30.25,
MaxZ = 30.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),
Size = vec3(1.6,0.8,1),
Width = 0.8,
Height = 0.8,
Heading = 302.35,
MinZ = 30.25,
MaxZ = 30.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
ShopName
being passed
{
Enabled = true,
Name = "example_crafting",
Location = vector3(-1400.09, -598.18, 30.5),
Size = vec3(0.8,1.5,0.5),
Width = 0.8,
Height = 0.4,
Heading = 30.00,
MinZ = 30.25,
MaxZ = 30.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
shopName
andstorageType
being passedstorageType
is the storage type you define inConfig.CoreSettings.Stashes
This applies to both storages and boss storages
{
Enabled = true,
Name = "example_storageshelf",
Location = vector3(381.89, -819.82, 29.25),
Size = vec3(2.0,1.0,2),
Width = 1.0, Height = 2.0, Heading = 271,
MinZ = 28.5, MaxZ = 30.5, 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
shopName
being passed
{
Enabled = true,
Name = "example_supplies",
Location = vector3(383.46, -827.29, 29.29),
Size = vec3(2.5,0.5,2),
Width = 0.5, Height = 2.5, Heading = 270,
MinZ = 28.5, MaxZ = 30.5, 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
shopName
passed
{
Enabled = true,
Name = "example_payment",
Location = vector3(380.31, -827.39, 29.3),
Size = vec3(0.4,0.4,0.5),
Width = 0.4, Height = 0.4, Heading = 0.0,
MinZ = 29.3, MaxZ = 29.7, 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
shopName
passed - 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),
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