📊 表结构

字段名 数据类型 默认值 说明
entry INT UNSIGNED 0 游戏对象模板ID (主键)
faction SMALLINT UNSIGNED 0 阵营ID
flags INT UNSIGNED 0 对象标志
mingold INT UNSIGNED 0 最小金币
maxgold INT UNSIGNED 0 最大金币
artkit0 INT 0 外观套装0
artkit1 INT 0 外观套装1
artkit2 INT 0 外观套装2
artkit3 INT 0 外观套装3

🔑 核心字段详解

🆔 entry - 游戏对象模板ID

详细说明:对应gameobject_template.entry,指定附加属性的游戏对象模板。 取值范围:对应gameobject_template.entry
  • 表的主键
  • 影响所有该类型的游戏对象
  • 必须是已存在的游戏对象模板

⚔️ faction - 阵营ID

详细说明:游戏对象的阵营,影响与玩家的交互和敌对关系。 取值范围:对应FactionTemplate.dbc
阵营ID阵营说明
14敌对对所有玩家敌对
35友好对所有玩家友好
55联盟联盟阵营
85部落部落阵营
其他自定义其他阵营ID

🚩 flags - 对象标志

详细说明:游戏对象的行为标志,控制特殊属性和交互方式。 取值范围:位标志组合
标志值标志名说明
1GO_FLAG_IN_USE正在使用中
2GO_FLAG_LOCKED锁定状态
4GO_FLAG_INTERACT_COND需要条件交互
8GO_FLAG_TRANSPORT运输对象
16GO_FLAG_UNK5未知标志5
32GO_FLAG_NODESPAWN不消失

组合使用:可以组合多个标志,如flags=6表示锁定且需要条件交互(2+4)。

💰 mingold/maxgold - 金币掉落

详细说明:游戏对象打开时掉落的金币范围。 取值范围:0 - 2147483647
  • mingold - 最小金币数量
  • maxgold - 最大金币数量
  • 实际掉落金币在范围内随机
  • 0表示不掉落金币
  • 用于宝箱、容器等对象

常见配置:

对象类型最小金币最大金币
普通宝箱100500
精良宝箱5002000
史诗宝箱200010000

🎨 artkit0-3 - 外观套装

详细说明:游戏对象的外观套装ID,控制对象的视觉外观。 取值范围:对应GameObjectArtKit.dbc
  • 最多支持4个外观套装
  • artkit0 - 主要外观
  • artkit1-3 - 替换外观
  • 用于状态变化的对象
  • 0表示使用默认外观

💡 实际案例

宝箱配置 配置宝箱金币掉落

游戏对象ID=12345, faction=35, mingold=100, maxgold=500

INSERT INTO gameobject_template_addon VALUES( 12345, 35, 0, 100, 500, 0, 0, 0, 0 );

锁定对象 配置锁定标志

游戏对象ID=12346, flags=2(锁定状态)

INSERT INTO gameobject_template_addon VALUES( 12346, 35, 2, 0, 0, 0, 0, 0, 0 );

阵营对象 配置阵营特定对象

游戏对象ID=12347, faction=55(联盟阵营)

INSERT INTO gameobject_template_addon VALUES( 12347, 55, 0, 0, 0, 0, 0, 0, 0 );

外观变化 配置外观套装

游戏对象ID=12348, artkit0=100, artkit1=101

INSERT INTO gameobject_template_addon VALUES( 12348, 35, 0, 0, 0, 100, 101, 0, 0 );

查询 查询游戏对象的附加属性

查询游戏对象ID=12345的附加属性

SELECT gta.entry, gta.faction, gta.flags, gta.mingold, gta.maxgold, gt.name FROM gameobject_template_addon gta JOIN gameobject_template gt ON gta.entry = gt.entry WHERE gta.entry = 12345;

⚡ 快速参考

阵营ID

14敌对
35友好
55联盟
85部落

对象标志

1正在使用
2锁定
4条件交互
8运输
32不消失

金币掉落

普通宝箱100-500
精良宝箱500-2000
史诗宝箱2000-10000
0不掉落

关联表

gameobject_template对象模板
gameobject_addon实例附加
FactionTemplate.dbc阵营模板
GameObjectArtKit.dbc外观套装

🔗 相关表格

❓ 常见问题

Q1: 这个表和gameobject_addon的区别?
gameobject_template_addon针对整个模板,影响所有该类型的对象;gameobject_addon针对单个实例,只影响特定对象。
Q2: 如何设置阵营特定对象?
设置faction字段为对应阵营ID(如55联盟、85部落),只有该阵营的玩家才能看到或交互。
Q3: flags标志如何组合?
使用位标志组合,如flags=6表示锁定且需要条件交互(2+4),flags=34表示不消失且正在使用(32+2)。
Q4: 金币掉落如何计算?
实际掉落金币在mingold和maxgold之间随机,每次打开对象都会随机生成金币数量。