Npc vendor
Таблица npc_vendor
Таблица npc_vendor из базы данных world задаёт ассортимент продавцов (NPC vendor): какие предметы/валюты продаются, лимиты, стоимость (в т.ч. через ExtendedCost) и дополнительные ограничения.
| Field | Type | Attributes | Key | Null | Default | Extra |
|---|---|---|---|---|---|---|
| entry | int | UNSIGNED | PRIMARY | NO | 0 | |
| slot | smallint | INDEX | NO | 0 | ||
| item | int | PRIMARY | NO | 0 | ||
| maxcount | int | UNSIGNED | NO | 0 | ||
| incrtime | int | UNSIGNED | NO | 0 | ||
| ExtendedCost | int | UNSIGNED | PRIMARY | NO | 0 | |
| type | tinyint | UNSIGNED | PRIMARY | NO | 1 | |
| BonusListIDs | mediumtext | utf8mb4_unicode_ci | YES | |||
| PlayerConditionID | int | UNSIGNED | NO | 0 | ||
| IgnoreFiltering | tinyint | UNSIGNED | NO | 0 | ||
| VerifiedBuild | int | NO | 0 |
entry
ID продавца (обычно creature_template.entry).
Пример: 12345
slot
Позиция строки в окне торговца (порядок отображения). Обычно: 0, 1, 2, ... слева-направо, сверху-вниз.
Пример: 0
item
Идентификатор продаваемого объекта. Смысл зависит от type:
- при
type = 1— ID предмета; - при
type = 2— ID валюты (или другой сущности, если ядро так трактует тип).
Пример: 6948
maxcount
Максимальный запас (лимит) у продавца:
0— безлимитно;> 0— лимитированное количество.
Пример: 0
incrtime
Время пополнения лимитированного товара в секундах (работает вместе с maxcount):
- при
maxcount = 0обычно можно ставить0; - при лимите задаёт интервал «рестока».
Пример: 3600
ExtendedCost
ID расширенной стоимости (обычно ItemExtendedCost.ID), для не-денежной цены (honor/arena/badges и т.п.).
0— используется обычная цена предмета (BuyPrice/BuyCount и т.п.).
Пример: 0
type
Тип записи у торговца (как ядро трактует поле item).
| Value | Name | Описание |
|---|---|---|
| 0 | ITEM_VENDOR_TYPE_NONE | Обычно не используется |
| 1 | ITEM_VENDOR_TYPE_ITEM | Продаётся предмет (item = ItemID) |
| 2 | ITEM_VENDOR_TYPE_CURRENCY | Продаётся валюта (item = CurrencyID) |
| 3 | ITEM_VENDOR_TYPE_SPELL | Продаётся/выдаётся заклинание (зависит от ядра) |
| 4 | ITEM_VENDOR_TYPE_MAW_POWER | Спец. тип (зависит от версии ядра) |
Пример: 1
BonusListIDs
Доп. модификаторы продаваемого предмета (bonus list). Обычно это список ID бонусов (BonusList) в текстовом виде.
NULL— без бонусов.
Пример: "6419 6652"
PlayerConditionID
ID условия для игрока (система PlayerCondition):
0— без условий;> 0— показывать/разрешать покупку только при выполнении условия.
Пример: 0
IgnoreFiltering
Флаг игнорирования фильтрации ассортимента:
0— обычная фильтрация;1— игнорировать фильтрацию (показывать «как есть», по логике ядра).
Пример: 0
VerifiedBuild
Служебное поле парсинга/верификации (номер билда). Часто:
0— не заполняется;> 0— подтверждённый билд.
Пример: 0