gossip_menu_option表是AzerothCore中控制NPC对话选项的核心表格。它定义了玩家在与NPC对话时可以选择的各种选项,如"我想要训练"、"我想要购买物品"等。这个表格与gossip_menu表配合使用,构成完整的对话系统。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
MenuID | SMALLINT UNSIGNED | 0 | 对话菜单ID,对应gossip_menu表 |
OptionID | SMALLINT UNSIGNED | 0 | 选项ID,同一菜单内的唯一标识 |
OptionIcon | TINYINT UNSIGNED | 0 | 选项图标类型 |
OptionText | TEXT | NULL | 选项显示的文本内容 |
OptionBroadcastTextID | MEDIUMINT | 0 | 广播文本ID,用于多语言支持 |
OptionType | TINYINT UNSIGNED | 0 | 选项类型,定义点击后的行为 |
OptionNpcFlag | INT UNSIGNED | 0 | NPC标志,控制选项显示条件 |
ActionMenuID | MEDIUMINT UNSIGNED | 0 | 点击后跳转的菜单ID |
ActionPoiID | MEDIUMINT UNSIGNED | 0 | 兴趣点ID,用于地图标记 |
BoxCoded | TINYINT UNSIGNED | 0 | 是否需要输入确认码 |
BoxMoney | INT UNSIGNED | 0 | 需要支付的金币数量 |
BoxText | TEXT | NULL | 确认框显示的文本 |
BoxBroadcastTextID | MEDIUMINT | 0 | 确认框广播文本ID |
ConditionID | MEDIUMINT UNSIGNED | 0 | 显示条件ID |
VerifiedBuild | SMALLINT | 1 | 验证版本号 |
定义选项前显示的图标类型:
定义点击选项后的行为:
INSERT INTO gossip_menu_option (MenuID, OptionID, OptionIcon, OptionText, OptionType, OptionNpcFlag)
VALUES (1000, 0, 1, '我想要购买物品。', 1, 128);
INSERT INTO gossip_menu_option (MenuID, OptionID, OptionIcon, OptionText, OptionType, OptionNpcFlag)
VALUES (1001, 0, 2, '我想要训练。', 2, 16);
INSERT INTO gossip_menu_option (MenuID, OptionID, OptionIcon, OptionText, OptionType, BoxMoney, BoxText)
VALUES (1002, 0, 6, '我想要重置天赋。', 6, 10000, '重置天赋需要花费1金币,确定要继续吗?');
SELECT * FROM gossip_menu_option
WHERE MenuID = 菜单ID
ORDER BY OptionID;
.reload gossip_menu_option