> For the complete documentation index, see [llms.txt](https://atiysus-organization.gitbook.io/aty-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atiysus-organization.gitbook.io/aty-scripts/getting-started/configuration.md).

# Configuration

## Configuration

Everything lives in `shared/config.lua`. It is heavily commented — this page covers the settings you actually touch on day one; the full list is in Config Reference.

{% hint style="info" %}
**62 fields** across 15 sections can be changed live from the admin panel's Settings tab: `UI`, `OpenRadius`, `Hotbar`, `Consume`, `Decay`, `Drop`, `Give`, `Search`, `Evidence`, `Encumbrance`, `Wear`, `Airdrop`, `Shops` (restock), `Standalone` and `Webhook`. Four of them need a restart to take effect and the panel says so on the row.

That writes to `aty_settings`, never to this file — the file keeps the factory defaults so "what did this used to be" stays answerable. See Admin Panel.

Everything else is file-only, by design in two different ways:

* **`Config.Admin`** decides who may open the panel. If it lived in the panel, one bad value would lock every admin out of the screen they need to fix it.
* **`Config.Anim`, `Config.PropPoints`, `Config.CarryVisible`** and the weapon tables are not tunables at all — they are wiring: animation dictionaries, bone indices, prop models, ammo mappings. They bind the resource to GTA.
  {% endhint %}

#### The player

```lua
Config.Player = {
    slots     = 50,      -- how many squares
    maxWeight = 30000,   -- grams. 30000 = 30 kg
}
```

Weight is **always grams**, everywhere in the resource. The interface converts for display; the server never does.

#### Keys

```lua
Config.OpenKey      = 'TAB'   -- open your own inventory
Config.GloveboxKey  = 'G'     -- glovebox while seated
Config.OpenRadius   = 3.0     -- metres you may stray before a panel closes
```

Both keys are registered as rebindable FiveM keybinds, so players can change them in **Settings → Key Bindings → FiveM** without touching the config.

#### Language

```lua
Config.UI = {
    language       = 'en',
    languagePicker = true,
    languages      = { en = 'English', tr = 'Türkçe', … },
}
```

`language` is what every player gets before choosing. `languagePicker = false` removes the choice entirely — correct for a single-language server, where a mixed-language screen is worse than one consistent wrong one.

Each entry needs a matching `locales/<code>.json`. Nine packs ship with the resource; delete the ones you have no players for and those files stop being read.

{% hint style="warning" %}
English and Turkish are complete. The other nine packs are behind on newer keys and fall back to English for anything missing — visible, never blank.
{% endhint %}

#### Starter items

```lua
Config.StarterItems = {
    enabled = true,
    items   = { { name = 'phone', count = 1 }, … },
}
```

Given once, on first spawn of a fresh character. The grant is written to the ledger like everything else, so "did this player start with that" is answerable.

#### Turning features off

Every major feature has an `enabled` flag and turning it off removes it completely — the key stops responding, the panel section disappears, the commands refuse. Nothing is left half-present.

| Setting                      | Turns off                             |
| ---------------------------- | ------------------------------------- |
| `Config.Wear.enabled`        | Clothing slots and the character view |
| `Config.Placeable.enabled`   | Putting props down in the world       |
| `Config.Airdrop.enabled`     | Airdrop crates and their commands     |
| `Config.Decay.enabled`       | Items ageing over time                |
| `Config.Encumbrance.enabled` | Movement penalty when heavy           |
| `Config.Evidence.enabled`    | Evidence bagging                      |
| `Config.Pricing.enabled`     | Dynamic shop pricing                  |
| `Config.Webhook.enabled`     | Discord webhooks                      |

#### After any change

```
invdoctor
```

It re-reads the config and reports anything inconsistent — a shop selling an item that does not exist, a stash with no coordinates, two items whose labels are confusable.
