BuyMenuList
Overview
Section titled “Overview”BuyMenuList.xml defines shop menu layouts for NPC merchants. Each menu entry represents a shop with tabs (ItemList), where each tab references a BuyList catalog by ID.
Version support
Section titled “Version support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL support
Section titled “DSL support”Entity: buyMenuLists
Operations: create, update, delete, upsert
Regional variants: _CN, _JP, _KR, _NAEU, _RUS, _THA, _TW
Properties reference
Section titled “Properties reference”Menu (root entry)
Section titled “Menu (root entry)”| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | Menu ID (primary key) |
stringId | int | v92 | Yes | String table ID for the menu name |
desc | string | v92 | Yes | Internal description |
taxGroup | int | v92 | No | Tax group ID |
startPreview | bool | v92 | No | Enable item preview on open |
guideStringId | int | v92 | No | String table ID for guide text |
itemLists | list[ItemList] | v92 | No | Shop tabs referencing BuyList catalogs |
ItemList (nested tab entry)
Section titled “ItemList (nested tab entry)”| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
id | int | v92 | Yes | BuyList catalog ID this tab references |
stringed | int | v92 | Yes | String table ID for the tab name |
DSL examples
Section titled “DSL examples”Create
Section titled “Create”spec: version: "1.0"
buyMenuLists: create: - id: 99001 stringId: 990010 desc: "Custom event shop" taxGroup: 0 itemLists: - id: 500 stringed: 990011 - id: 501 stringed: 990012Update
Section titled “Update”spec: version: "1.0"
buyMenuLists: update: - id: 100 changes: taxGroup: 1 startPreview: trueDelete
Section titled “Delete”spec: version: "1.0"
buyMenuLists: delete: - 99001Upsert
Section titled “Upsert”spec: version: "1.0"
buyMenuLists: upsert: - id: 99001 stringId: 990010 desc: "Upserted shop" itemLists: - id: 500 stringed: 990011XML structure
Section titled “XML structure”MenuList (root)└── Menu (id, stringId, desc, taxGroup?, startPreview?, guideStringId?) └── ItemList (id, stringed) [max 5]-
ItemList.id references BuyList.List.id. Each tab in the menu points to a BuyList catalog that defines the actual purchasable items. Cross-entity validation is not enforced at build time.
-
Update replaces ItemLists wholesale. When updating with an
itemListsfield, all existing ItemList children are cleared and replaced with the new set. -
Regional variants follow the standard pattern. Use
$targetin the spec header to target region-specific files (e.g.,BuyMenuList_JP.xml).