# Settings

### shared/config.lua

#### Config.Locations

```lua
['uniqueName'] = {
    location = vec3(758.86, -719.73, 28.15),
    label = 'Grove Street Storage',
    types = {
      {type = 'small', rentPrice = 1500, buyPrice = 50000},
      {type = 'medium', rentPrice = 5000, buyPrice = 50000},
    },
  },
```

`uniqueName` = this value can be any word combined with numbers (city1, legionStorage) but has to be unique!

`types` will define which storage types are available at the location. These types have to be defined under `Config.UnitSettings` as well

#### Config.UnitSettings

```lua
Config.UnitSettings = {
  ['small'] = {
    type = 'small',
    size = 5000,
    label = 'small storage unit',
    image = 'https://dough.land/u/Bb7I6zISP5.png'
  },

  ['medium'] = {
    type = 'medium',
    size = 10000,
    label = 'medium storage unit',
    image = 'https://dough.land/u/SEoD6q00o7.png'
  },

  ['large'] = {
    type = 'large',
    size = 20000,
    label = 'large storage unit',
    image = 'https://dough.land/u/iSVP5tTLD2.png'
  },
}
```

Feel free to add more types (`small / medium / large`) following the same format

Size is only used in inventories that support a max weight

{% hint style="info" %}
***Untested***, but in inventories that limit by slots you should be able to set this to slots instead
{% endhint %}

### client/config.lua

{% hint style="warning" %}
This area of the guide will be improved over time. This resource has been developed using a single inventory but should be usable with all inventories with minor modifications.
{% endhint %}

{% tabs %}
{% tab title="doughStorage:client:openInventory" %}
Change contents to fit your inventory needs! This was developed using [Chezza's Inventory](https://chezza.tebex.io/package/4770357) but should work with any inventory without any issues.

```lua
-- Available data

data.id --storage unit unique identifier (from database)

details.identifier  --same as above
details.owner       --playerowner identifier
details.location    --storage unit location (from shared/config.lua)
details.type        --storage unit type (from shared/config.lua)
details.isrented    --true / false
details.price       --price that unit was either bought at / rented for

Config.Locations[details.location].label --gets label for storage facility
Config.Locations[details.location].location --gets location for storage facility

Config.UnitSettings[details.type].size --gets unit max weight / slots
Config.UnitSettings[details.type].label --gets units specific label
```

{% hint style="info" %}
Use `Config.UnitSettings[details.type].size` and set it to a slot limit in the config for inventories that use slots instead of weight
{% endhint %}
{% endtab %}

{% tab title="doughStorage:client:raidInventory" %}
Change contents to fit your inventory needs! This was developed using [Chezza's Inventory](https://chezza.tebex.io/package/4770357) but should work with any inventory without any issues.

```lua
-- Available data

data.id --storage unit unique identifier (from database)

details.identifier  --same as above
details.owner       --playerowner identifier
details.location    --storage unit location (from shared/config.lua)
details.type        --storage unit type (from shared/config.lua)
details.isrented    --true / false
details.price       --price that unit was either bought at / rented for

Config.Locations[details.location].label --gets label for storage facility
Config.Locations[details.location].location --gets location for storage facility

Config.UnitSettings[details.type].size --gets unit max weight / slots
Config.UnitSettings[details.type].label --gets units specific label
```

{% hint style="info" %}
Use `Config.UnitSettings[details.type].size` and set it to a slot limit in the config for inventories that use slots instead of weight
{% endhint %}
{% endtab %}
{% endtabs %}
