📖 表说明
游戏事件模型装备表定义了事件期间生物的模型和装备变化。这个表用于在特定事件期间改变生物的外观和装备。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写。
📊 表结构
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| eventEntry | tinyint | 事件ID |
| guid | int UNSIGNED | 生物GUID(主键) |
| modelid | int UNSIGNED | 模型ID |
| equipment_id | tinyint 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改变其装备显示。同时设置时两者效果叠加,产生更丰富的视觉效果。