gameobject_addon表

概述

gameobject_addon表是AzerothCore中为特定游戏对象实例添加额外属性和行为的表格。它允许为单个游戏对象设置独特的状态、光环效果、可见性等属性,而不影响同类型的其他游戏对象。

表格作用

表格结构

字段名 数据类型 默认值 说明
guid INT UNSIGNED 0 游戏对象实例的GUID,对应gameobject.guid
parent_rotation0 FLOAT 0 父级旋转四元数X分量
parent_rotation1 FLOAT 0 父级旋转四元数Y分量
parent_rotation2 FLOAT 0 父级旋转四元数Z分量
parent_rotation3 FLOAT 1 父级旋转四元数W分量
invisibilityType TINYINT UNSIGNED 0 隐身类型
invisibilityValue INT UNSIGNED 0 隐身值
WorldEffectID INT UNSIGNED 0 世界效果ID
AIAnimKitID INT UNSIGNED 0 AI动画套件ID

字段详细说明

guid (游戏对象GUID)

指定要添加附加属性的具体游戏对象实例。对应gameobject表中的guid字段。

parent_rotation (父级旋转)

四元数旋转值,用于精确控制游戏对象的旋转角度:

通常用于门、电梯等需要精确旋转的对象。

invisibilityType (隐身类型)

设置游戏对象的隐身类型:

invisibilityValue (隐身值)

配合隐身类型使用,设置隐身的强度或条件。

WorldEffectID (世界效果ID)

为游戏对象添加特殊的世界效果,如粒子效果、光效等。

AIAnimKitID (AI动画套件ID)

指定游戏对象使用的动画套件,用于播放特定的动画序列。

使用示例

设置门的旋转状态

INSERT INTO gameobject_addon (guid, parent_rotation0, parent_rotation1, parent_rotation2, parent_rotation3)
VALUES (12345, 0, 0, 0.7071068, 0.7071068);

设置隐身陷阱

INSERT INTO gameobject_addon (guid, invisibilityType, invisibilityValue)
VALUES (12346, 2, 100);

添加世界效果

INSERT INTO gameobject_addon (guid, WorldEffectID)
VALUES (12347, 1234);

常见应用场景

门和机关

为门设置开启/关闭状态的旋转角度:

特效对象

为传送门、魔法阵等添加视觉效果:

隐藏对象

设置任务相关的隐藏物品或机关:

常见问题

如何查看某个游戏对象的附加属性?

SELECT * FROM gameobject_addon WHERE guid = 对象GUID;

如何计算旋转四元数?

可以使用在线四元数计算器,或者使用以下常见值:

修改后需要重启服务器吗?

.reload gameobject_addon

如何移除游戏对象的附加属性?

DELETE FROM gameobject_addon WHERE guid = 对象GUID;

相关表格