> 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/inventory/reference/upgrading-to-1.8.md).

# Upgrading to 1.8

## Upgrading to 1.8

1.8 makes every default match ox\_inventory's: the keys, the hotbar, ammunition, money, markers, drops, shops and item use. A fresh install needs nothing from this page. A server that is updating should read it once, before players join.

{% hint style="warning" %}
**Back up the database first** — at least `aty_inventories`, `aty_ledger` and `aty_settings`. Two steps below rewrite stored data.
{% endhint %}

### In this order

#### 1. Ammunition: boxes become rounds

One ammo item is now one round (`Config.Ammo.mode = 'single'`, as in ox). What a server already holds was stored as boxes, so on the first start the console prints a red block and **loading and adding ammunition is held** until it is settled — nothing can be spent at the wrong rate in the meantime.

```
invammoconvert            dry run: every stack, what it becomes, bags that end up heavy
invammoconvert confirm    convert (server empty; add `online` to run it with players on)
```

`confirm` writes `ammo_before_convert_<time>.json` first — put one container back with `invrestore <file> <id> confirm` — then multiplies every stored stack by the rounds one box held (`ammo_pistol` 24, `ammo_smg` / `ammo_rifle` 30, framework ammo `Config.Ammo.boxSize`). It refuses a second run. If it is interrupted, running `confirm` again finishes only what it had not reached.

* Already ran single mode before: `invammoconvert skip` records it and converts nothing.
* Keeping boxes: set `Config.Ammo.mode = 'box'`; nothing is converted or held.

Converted bags weigh more — 250 boxes of 9mm are 6,000 rounds, 42 kg. Nothing is lost; an overweight bag takes nothing more until it is lighter.

#### 2. Values saved from the admin panel

A setting saved from the panel wins over `shared/config.lua`, so it keeps its old value after the update.

```
invsettings                 lists every panel value and what the file says
invsettings clear <path>    returns one to the file's (new) default
invoverride                 item fields changed from the panel (use time, cooldown, portions)
```

Likely ones: `Hotbar.mode`, `Drop.maxWeight`, `Give.playerList`, `Search.*`, `Consume.*`, `Shops_Restock.every`, and the dumpster values (`PropPoints.dumpster.*`, the **Dumpsters** tab).

#### 3. Stash expiry

As in ox (`inventory:clearstashes`), stashes and evidence lockers **nobody has changed for 6 months are deleted** when the resource starts. The first start after the update only counts them and prints the number; deleting begins with the next start. Player bags, worn kit, boots, gloveboxes, bags and placed objects are never touched. `Config.ClearStashes = false` keeps everything.

#### 4. Keys

Every player's inventory keys are reset once: F2 opens, K opens what is in front of you, TAB shows the quick slots. FiveM keeps a player's key for a binding forever, so the bindings were renamed to reach players who already joined. Players who had moved them set them again under Settings > Key Bindings > FiveM. Quick-slot keys 1-5 keep theirs.

#### 5. Money

Money is an item by default (`Config.Money.mode = 'mirror'`). A server that ran `framework` has loose cash in bags that is in no wallet — looted, handed over, given by an admin. The first time the mirror sees each character, that cash is **added** to the account once instead of being replaced by it; the console names each character. A server whose mirror already ran is recognised from its ledger and left as it was. `invmoneyadopt cash on|off` overrides that decision.

### What players will notice

|                                | 1.8 (ox)                                                           | Before                                 |
| ------------------------------ | ------------------------------------------------------------------ | -------------------------------------- |
| Open / secondary / quick slots | F2 / K / TAB                                                       | TAB / G / Z                            |
| Quick slots                    | bag slots 1-5                                                      | bindings to items                      |
| Ammo                           | one item = one round                                               | one item = one box                     |
| Using an item                  | closes the inventory; food, drink and bandages 2.5 s, armour 3.5 s | stays open, per-item time and cooldown |
| Give                           | to the player in front                                             | pick from a list                       |
| Search                         | `/steal`, `/search`, no key                                        | G                                      |
| Death                          | nothing falls                                                      | the bag spills                         |
| Ground piles                   | 30 kg, cleared after 5 min unused                                  | 100 kg, 15 min                         |
| Markers                        | ox's, per kind                                                     | ATY rings                              |
| Drops                          | a marker                                                           | a bag prop                             |
| Shops                          | stock per branch, no restock                                       | shared stock, refills                  |
| Weapons not from the inventory | taken away                                                         | left alone                             |
| Crafting                       | 3 s unless the recipe says                                         | instant                                |

### Bringing an old behaviour back

| Want                    | Set                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------- |
| Old keys                | `Config.OpenKey = 'TAB'`, `Config.Hotbar.peekKey = 'Z'`, `Config.Search.key = 'G'` |
| Old quick slots         | `Config.Hotbar.mode = 'bind'`                                                      |
| Ammo boxes              | `Config.Ammo.mode = 'box'` (before converting)                                     |
| Wallet-only money       | `Config.Money.mode = 'framework'`                                                  |
| Give list               | `Config.Give.playerList = true`                                                    |
| Drop on death           | `Config.Death.enabled = true`                                                      |
| Bag props on drops      | `Config.Drop.prop.enabled = true`                                                  |
| Shop restock            | `Config.Shops_Restock.every = 10 * 60000`                                          |
| Portions                | `Config.Portions.enabled = true`                                                   |
| Panel stays open on use | `close = false` on that item in `data/items.lua`                                   |
| Instant crafting        | `time = 0` on the recipe in `data/recipes.lua`                                     |
| Keep foreign weapons    | `Config.Weapons.mismatch = false`, or list them in `Config.Weapons.ignore`         |
| Keep old stashes        | `Config.ClearStashes = false`                                                      |
