Gossip menu option

Материал из World of WarCraft Developers Wiki
Перейти к навигации Перейти к поиску

Таблица gossip_menu_option

Таблица gossip_menu_option из базы данных world хранит пункты (опции) меню госсипа. Связывает gossip_menu.MenuID с наборами кнопок/действий: текст опции, флаги, переход на другое меню, POI, заклинание и параметры подтверждения. Используется подсистемой Gossip; поведение отдельных полей зависит от реализации ядра.

Field Type Attributes Key Null Default Extra
MenuID int UNSIGNED PRIMARY NO 0
GossipOptionID int NO 0
OptionID int UNSIGNED PRIMARY NO 0
OptionNpc tinyint UNSIGNED NO 0
OptionText mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci YES
OptionBroadcastTextID int UNSIGNED NO 0
Language int UNSIGNED NO 0
Flags int NO 0
ActionMenuID int UNSIGNED NO 0
ActionPoiID int UNSIGNED NO 0
GossipNpcOptionID int YES NULL
BoxCoded tinyint UNSIGNED NO 0
BoxMoney bigint UNSIGNED NO 0
BoxText mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci YES
BoxBroadcastTextID int UNSIGNED NO 0
SpellID int YES NULL
OverrideIconID int YES NULL
VerifiedBuild int NO 0

ID меню, к которому относится опция. Ссылается на gossip_menu.MenuID и задаёт группу опций.

Пример: 10000

GossipOptionID

Дополнительный идентификатор опции госсипа. Используется ядром как служебный ID опции (например, для привязки к данным клиента/логике), конкретное назначение зависит от реализации.

Пример: 1

OptionID

ID опции внутри меню. Используется как ключ (в паре с MenuID) для уникальной идентификации пункта и для ссылок из локализаций/условий (зависит от реализации).

Пример: 0

OptionNpc

Параметр, связанный с типом/обработчиком опции для NPC. Используется ядром при обработке выбора пункта; конкретные значения зависят от реализации.

Пример: 1

OptionText

Текст, отображаемый на кнопке опции. Может быть NULL, если текст берётся из OptionBroadcastTextID или формируется ядром.

Пример: "Покажи товары"

OptionBroadcastTextID

ID BroadcastText для текста опции. Используется как альтернативный источник текста для OptionText; конкретная таблица/источник BroadcastText зависит от реализации ядра.

Пример: 12345

Language

ID языка/локали для опции. Используется ядром для требований/отображения, когда опция зависит от языка; конкретные значения зависят от реализации.

Пример: 0

Flags

Флаги опции. По назначению поля это набор флагов (обычно битовая маска); какие биты используются и как — зависит от реализации ядра.

Пример: 5

ActionMenuID

ID меню, которое нужно открыть при выборе этой опции. Обычно ссылается на gossip_menu.MenuID; если 0 — перехода может не быть (зависит от реализации).

Пример: 10001

ActionPoiID

ID точки интереса (POI), связанной с опцией. Ядро может использовать это значение для показа маркера/указателя на карте; конкретная связь зависит от реализации.

Пример: 77

GossipNpcOptionID

Дополнительный ID опции, связанный с NPC. Поле допускает NULL; назначение и источник значения зависят от реализации ядра.

Пример: 12

BoxCoded

Флаг использования окна подтверждения/ввода для опции. Конкретное поведение (тип ввода, проверка, шифрование/маскировка) зависит от реализации ядра.

Пример: 1

BoxMoney

Стоимость (деньги) для подтверждаемого действия. Используется вместе с BoxText/BoxBroadcastTextID, если опция требует оплаты; единицы и логика зависят от реализации.

Пример: 10000

BoxText

Текст окна подтверждения/подсказки для опции. Может быть NULL, если текст берётся из BoxBroadcastTextID или формируется ядром.

Пример: "Заплатить за услугу?"

BoxBroadcastTextID

ID BroadcastText для текста окна подтверждения. Используется как альтернативный источник текста для BoxText; конкретная таблица/источник BroadcastText зависит от реализации ядра.

Пример: 54321

SpellID

ID заклинания, связанного с опцией. Поле допускает NULL; как именно используется (каст/проверка/триггер) зависит от реализации ядра.

Пример: 20577

OverrideIconID

ID переопределения иконки для опции. Поле допускает NULL; источник иконок и применение зависят от реализации ядра/клиента.

Пример: 123

VerifiedBuild

Номер билда, в котором запись была проверена/подтверждена. Служебное поле качества данных; влияние на логику зависит от реализации ядра.

Пример: 0