📖 表说明

游戏事件模型装备表定义了事件期间生物的模型和装备变化。这个表用于在特定事件期间改变生物的外观和装备。

数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写。

📊 表结构

字段名数据类型描述
eventEntrytinyint事件ID
guidint UNSIGNED生物GUID(主键)
modelidint UNSIGNED模型ID
equipment_idtinyint UNSIGNED装备ID

主键: guid

🔍 重要字段详解

modelid (模型ID)

定义事件期间生物显示的替模型。此字段的值对应creature_model_info表中的模型ID。常见用途:

  • 节日期间将普通NPC替换为节日装扮模型
  • 万圣节将旅店老板替换为无头骑士装扮
  • 冬幕节将NPC替换为冬幕节主题外观

默认值0表示事件期间不改变模型。

equipment_id (装备ID)

定义事件期间生物装备的武器/护甲外观。此字段的值对应creature_equip_template表中的装备组合ID。

例如:节日期间给卫兵换上节日武器外观,或者让特定NPC在活动期间显示特殊装备。默认值0表示事件期间不改变装备。

guid (生物GUID)

目标生物的全局唯一标识符,是表的主键。每个guid只能有一条记录,即每个生物在每个事件中只能有一个模型/装备变化配置。

需要从creature表中查询guid字段来确定具体生物的GUID值。

💡 实战案例

冬幕节期间将旅店老板替换为节日模型:
INSERT INTO game_event_model_equip (eventEntry, guid, modelid, equipment_id)
VALUES (2, 12345, 15880, 0);
查询某个事件中所有生物的模型变化:
SELECT gme.guid, ct.name, gme.modelid, gme.equipment_id
FROM game_event_model_equip gme
JOIN creature c ON gme.guid = c.guid
JOIN creature_template ct ON c.id = ct.entry
WHERE gme.eventEntry = 2;

❓ 常见问题

Q: 事件结束后生物会自动恢复原始模型吗?

是的。游戏事件系统会在事件开始时应用modelid和equipment_id的变更,事件结束时自动恢复生物在creature_template中定义的默认外观。不需要手动恢复。

Q: modelid和equipment_id可以同时设置吗?

可以。两个字段可以同时生效。modelid改变生物的基础外观模型,equipment_id改变其装备显示。同时设置时两者效果叠加,产生更丰富的视觉效果。