> For the complete documentation index, see [llms.txt](https://lusty94-scripts.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lusty94-scripts.gitbook.io/documentation/paid/bars/interaction-locations.md).

# Interaction Locations

{% hint style="success" %}
Adding More **`INTERACTION LOCATIONS`**
{% endhint %}

* Adding more **`interaction locations`** is very simple via the **`config.lua`** file
* Some target events require args being passed usually the **`BarName`** and the **`StorageType`** (for stash targets only)
* To add another target zone simply add your **`BarName`** as they **`key`** and then customize the **`values`** to suit your server needs in **`Config.InteractionLocations`**

***

```lua
Config.InteractionLocations = {
    ['Example Bar'] = { --Example Bar
        { 
            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 Bar'].name, 
            Event = 'lusty94_bars:client:OpenCrafting',
            BarName = 'Example Bar', --[[ ✅ Make Sure To Pass barName ]]
        },
        {
            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 Bar'].name,
            Event = 'lusty94_bars:client:OpenStorage',
            args = { barName = "Example Bar", storageType = "StorageFridge" }, --[[ ✅ Make Sure To Pass barName and the storageType you define in Config.CoreSettings.Stashes ]]
        },                
        { --this event doesnt need any args passing
            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 Bar'].name,
            Event = Config.CoreSettings.EventNames.BossMenu, -- this doesnt need any args passing as it directly triggers the event you set
        },
        { 
            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 Bar'].name,
            Event = 'lusty94_bars:client:OpenStorage',
            args = { barName = "Example Bar", storageType = "BossStash" },  --[[ ✅ Make Sure To Pass barName For storage system  THIS MUST MATCH THE KEY AND THE STORAGE TYPE YOU DEFINE IN CONFIG.CORESETTINGS.STASHES!]]
        },
    },
}
```

***

{% hint style="warning" %}
Some Events Require Arguments Passed With Them
{% endhint %}

* 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`**](/documentation/paid/bars/props.md)

***

{% hint style="info" %}
**`Crafting`**
{% endhint %}

* Requires **`BarName`** being passed&#x20;

```lua
{ 
    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 Bar'].name, 
    Event = 'lusty94_bars:client:OpenCrafting',
    BarName = 'Example Bar',
     --[[ ✅ Make Sure To Pass BarName ]]
},
```

***

{% hint style="info" %}
**`Washing Hands`**
{% endhint %}

* Requires args **`barName`** being passed

```lua
{ 
    Name = "bahama_washHands",
    Location = vector3(-1402.99, -598.00, 30.37),
    Radius = 0.75,
    Distance = 2.0,
    Icon = 'fa-solid fa-hand-point-up',
    Label = 'Wash Hands',
    Job = Config.CoreSettings.Jobs['Bahama Mamas'].name,
    Event = 'lusty94_bars:client:WashHands',
    args = { barName = 'Bahama Mamas' },
     --[[ ✅ Make Sure To Pass barName ]]
},
```

***

{% hint style="info" %}
**`Give Glasses`**
{% endhint %}

* Requires args **`barName`** being passed

```lua
{ 
    Name = "bahama_giveGlasses",
    Location = vector3(-1404.2, -598.28, 30.79),
    Radius = 0.75,
    Distance = 3.0,
    Icon = 'fa-solid fa-briefcase',
    Label = 'Get Glasses',
    Job = Config.CoreSettings.Jobs['Bahama Mamas'].name,
    Event = 'lusty94_bars:client:GiveGlasses',
    args = { barName = 'Bahama Mamas' },
     --[[ ✅ Make Sure To Pass barName ]]
},
```

{% hint style="info" %}
**`Storages`**
{% endhint %}

* Requires args **`barName`** and **`storageType`** being passed
* **`storageType`** is the storage type you define in [**`Config.CoreSettings.Stashes`**](/documentation/paid/bars/stashes.md)
* This applies to both fridge storages and boss storages

```lua
{
    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 Bar'].name,
    Event = 'lusty94_bars:client:OpenStorage',
    args = { barName = "Example Bar", storageType = "StorageFridge" },
    --[[ ✅ Make Sure To Pass barName and the storageType you define in Config.CoreSettings.Stashes ]]
},
```

***

{% hint style="info" %}
**`Supplies`**
{% endhint %}

* Requires args **`barName`** being passed

```lua
{
    Name = "example_supplies",
    Location = vector3(-1401.87, -597.27, 29.85),
    Radius = 0.75,
    Distance = 2.0,
    Icon = 'fa-solid fa-briefcase',
    Label = 'Open Supplies Fridge',
    Job = Config.CoreSettings.Jobs['Example Bar'].name,
    Event = 'lusty94_bars:client:GetSupplies',
    args = { barName = 'Example Bar' },
     --[[ ✅ Make Sure To Pass barName ]]
}, 
```

***

{% hint style="info" %}
**`Payment`**
{% endhint %}

* Requires args **`barName`** passed

```lua
{ 
    Name = "example_payment",
    Location = vector3(-1398.89, -600.1, 30.65),
    Radius = 0.75,
    Distance = 2.0,
    Icon = 'fa-solid fa-briefcase',
    Label = 'Charge Customer',
    Job = Config.CoreSettings.Jobs['Example Bar'].name,
    Event = 'lusty94_bars:client:BillPlayer',
    args = { barName = "Example Bar" }, 
     --[[ ✅ Make Sure To Pass barName ]]
},
```

***

{% hint style="info" %}
**`CCTV`**
{% endhint %}

* Requires args **`barName`** passed

```lua
{ 
    Name = "bahama_cctv",
    Location = vector3(-1368.34, -627.96, 30.12),
    Radius = 0.75,
    Distance = 3.0,
    Icon = 'fa-solid fa-briefcase',
    Label = 'View CCTV',
    Job = Config.CoreSettings.Jobs['Example Bar'].name,
    Event = 'lusty94_bars:client:OpenCCTVMenu',
    args = { barName = "Example Bar" }, --[[ ✅ Make Sure To Pass barName For CCTV MENU]]
}, 
```
