表:gossip_menu_option
此表保存了对话(gossip)NPC 可以拥有的菜单选项相关信息。选项示例:"训练我!"、"我想要遗忘我的天赋"。
| Field | Type | Attributes | Key | Null | Default | Extra | Comment |
|---|---|---|---|---|---|---|---|
| MenuID | SMALLINT | UNSIGNED | PRI | NO | |||
| OptionID | SMALLINT | UNSIGNED | PRI | NO | |||
| OptionIcon | SMALLINT | UNSIGNED | PRI | NO | |||
| OptionText | text | YES | NULL | ||||
| OptionBroadcastTextID | MEDIUMINT | NO | |||||
| OptionType | TINYINT | UNSIGNED | NO | ||||
| OptionNpcFlag | INT | UNSIGNED | NO | ||||
| ActionMenuID | MEDIUMINT | UNSIGNED | NO | ||||
| ActionPoiID | MEDIUMINT | UNSIGNED | NO | ||||
| BoxCoded | TINYINT | UNSIGNED | NO | ||||
| BoxMoney | INT | UNSIGNED | NO | ||||
| BoxText | text | YES | NULL | ||||
| BoxBroadcastTextID | MEDIUMINT | NO | |||||
| VerifiedBuild | SMALLINT | NO |
此选项所关联的 Gossip_menu.entry 中的对话条目。 如果这是所选 NPC 的默认对话选项,请确认该 NPC 在其 creature_template.gossip_menu_id 中具有此值。
与此 gossip_menu_option 相关联的 ID。对于给定的 menu_id,从 0(零)开始必须是唯一的。 如果同一个 gossip_menu 中有多个选项,则值每次递增 1。
| 名称 | ID | 描述 |
|---|---|---|
| GOSSIP_ICON_CHAT | 0 | 白色聊天气泡 |
| GOSSIP_ICON_VENDOR | 1 | 棕色袋子 |
| GOSSIP_ICON_TAXI | 2 | 飞行 |
| GOSSIP_ICON_TRAINER | 3 | 书本 |
| GOSSIP_ICON_INTERACT_1 | 4 | 交互轮盘 |
| GOSSIP_ICON_INTERACT_2 | 5 | 交互轮盘 |
| GOSSIP_ICON_MONEY_BAG | 6 | 带黄点的棕色袋子(金币) |
| GOSSIP_ICON_TALK | 7 | 带黑点的白色聊天气泡(...) |
| GOSSIP_ICON_TABARD | 8 | 战袍 |
| GOSSIP_ICON_BATTLE | 9 | 双剑 |
| GOSSIP_ICON_DOT | 10 | 黄点 |
这是你想在玩家可选择选项中显示的文本。例如:"请训练我。"、"我想浏览一下你的商品。"、"学习双天赋"。 如果 OptionBroadcastTextID 包含有效的 broadcast_text.ID,则会链接到 broadcast_text,从而直接显示 broadcast_text 中的内容,而不是 option_text 字段中的内容。
与 broadcast_text.ID 中相同文本对应的 ID。
| option_id 名称 | 值 | npcflag 名称(& 注释) | npcflag 值 |
|---|---|---|---|
| GOSSIP_OPTION_NONE | 0 | UNIT_NPC_FLAG_NONE | 0 |
| GOSSIP_OPTION_GOSSIP | 1 | UNIT_NPC_FLAG_GOSSIP | 1 |
| GOSSIP_OPTION_QUESTGIVER | 2 | UNIT_NPC_FLAG_QUESTGIVER | 2 |
| GOSSIP_OPTION_VENDOR | 3 | UNIT_NPC_FLAG_VENDOR(确保该生物存在 npc_vendor 数据) | 128 |
| GOSSIP_OPTION_TAXIVENDOR | 4 | UNIT_NPC_FLAG_TAXIVENDOR | 8192 |
| GOSSIP_OPTION_TRAINER | 5 | UNIT_NPC_FLAG_TRAINER(记得在 creature_default_trainer 中设置 (TrainerId, CreatureId)) | 16 |
| GOSSIP_OPTION_SPIRITHEALER | 6 | UNIT_NPC_FLAG_SPIRITHEALER | 16384 |
| GOSSIP_OPTION_SPIRITGUIDE | 7 | UNIT_NPC_FLAG_SPIRITGUIDE | 32768 |
| GOSSIP_OPTION_INNKEEPER | 8 | UNIT_NPC_FLAG_INNKEEPER | 65536 |
| GOSSIP_OPTION_BANKER | 9 | UNIT_NPC_FLAG_BANKER | 131072 |
| GOSSIP_OPTION_PETITIONER | 10 | UNIT_NPC_FLAG_PETITIONER | 262144 |
| GOSSIP_OPTION_TABARDDESIGNER | 11 | UNIT_NPC_FLAG_TABARDDESIGNER | 524288 |
| GOSSIP_OPTION_BATTLEFIELD | 12 | UNIT_NPC_FLAG_BATTLEFIELDPERSON | 1048576 |
| GOSSIP_OPTION_AUCTIONEER | 13 | UNIT_NPC_FLAG_AUCTIONEER | 2097152 |
| GOSSIP_OPTION_STABLEPET | 14 | UNIT_NPC_FLAG_STABLE | 4194304 |
| GOSSIP_OPTION_ARMORER | 15 | UNIT_NPC_FLAG_ARMORER(未使用) | 4096 |
| GOSSIP_OPTION_UNLEARNTALENTS | 16 | UNIT_NPC_FLAG_TRAINER(GOSSIP_OPTION_TRAINER 的附加选项) | 16 |
| GOSSIP_OPTION_UNLEARNPETTALENTS | 17 | UNIT_NPC_FLAG_TRAINER(GOSSIP_OPTION_TRAINER 的附加选项) | 16 |
| GOSSIP_OPTION_LEARNDUALSPEC | 18 | UNIT_NPC_FLAG_TRAINER(GOSSIP_OPTION_TRAINER 的附加选项) | 16 |
| GOSSIP_OPTION_OUTDOORPVP | 19 | 由代码添加(用于户外 PvP 生物的选项) | |
| GOSSIP_OPTION_MAX |
这是 NPC 必须拥有的 npcflag(Creature_template.npcflag),用于让该选项得以显示。请参见上表中(// 之后)的注释。
如果你想创建子菜单,这就是要链接的 ID(gossip_menu.entry / gossip_menu_option.menu_id),用于创建该子菜单。
如果你想在小地图上显示一个 POI(兴趣点)(就像向城市卫兵问路时卫兵会放置一个标记那样),此字段为 Points_of_interest.entry 中的 `entry`。
如果你想显示一个需要输入代码的输入框,就可以使用此字段。
玩家为所选选项需要支付的金额,会以金币、银币、铜币的数量形式显示在确认框中。 你在此处插入的数据库值必须以铜币数量表示,例如 10 金币应填写为 100000(10g 00s 00c)。
这是弹出的窗口的文本,窗口中带有 "Yes"(是)或 "No"(否)的可点击按钮。如果你希望在脚本执行前出现一个是/否确认窗口,这会非常有用。例如:"Are you sure you want to teleport to Dalaran?"(你确定要传送到达拉然吗?)。 如果 BoxBroadCastTextID 包含有效的 broadcast_text.ID,则会链接到 broadcast_text,从而直接显示 broadcast_text 中的内容,而不是 box_text 字段中的内容。
与 broadcast_text.ID 中相同文本对应的 ID。
此字段用于确定模板是否已根据 WDB 文件进行验证。
如果值为 0,则表示尚未解析。
如果值大于 0,则表示已使用该特定客户端构建版本的 WDB 文件进行解析。
如果值为 -1,则它只是一个占位符,直到在 WDB 中找到正确的数据为止。
如果值为 客户端构建版本,则表示已使用该特定客户端构建版本的 WDB 文件进行解析,并出于某些特殊需要而稍后进行了手动编辑。