> For the complete documentation index, see [llms.txt](https://changelog.matrixemulator.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://changelog.matrixemulator.com/welcome/server/muserver/shopmanager.md).

# ShopManager

<mark style="color:green;">GameServer NPC shop registry: which NPC sells what.</mark>

| Column  | Accepted values ​​         | Description                                                                                                                |
| ------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Index   | Fixed number, one per shop | Identifies the shop. Must also match a filename inside the `Data\Shop\` folder (see notes).                                |
| Npc     | NPC class number           | The NPC (monster class) that owns this shop.                                                                               |
| Map     | Map number, or `*`         | Restricts this shop to an NPC of this type placed specifically on that map. `*` = applies to this NPC on any map/position. |
| X       | X coordinate, or `*`       | Together with `Map` and `Y`, restricts the shop to an exact NPC position. `*` = any position.                              |
| Y       | Y coordinate, or `*`       | Same concept as `X`.                                                                                                       |
| Comment | Free text after `//`       | Annotation for the person editing the file only — not read by the game.                                                    |

### <mark style="color:yellow;">Notes</mark>

* The `Index` for each row requires a corresponding file within `Data\Shop\`, named with exactly 3 digits followed by `-` and a name—e.g., `000 - Hanzo the Blacksmith.txt` for Index `0`. This file defines the shop's items, prices, and quantities; without it, the shop exists here but appears empty.
* Setting `Map`, `X`, and `Y` to `*` makes the shop apply to that NPC wherever it appears in the world (this is the case for all rows in the default file). Only fill in `Map`, `X`, and `Y` with specific values ​​if you need **one specific copy** of the same NPC (same class, placed in multiple locations) to have a different shop than its other copies.
