📊 表结构

字段名 数据类型 默认值 说明
GameObjectEntry INT UNSIGNED 0 游戏对象模板ID (主键1)
Idx INT UNSIGNED 0 物品索引 (主键2)
ItemId INT UNSIGNED 0 物品ID
VerifiedBuild INT NULL 验证版本

🔑 核心字段详解

🆔 GameObjectEntry - 游戏对象模板ID

详细说明:对应gameobject_template.entry,指定掉落任务物品的游戏对象模板。 取值范围:对应gameobject_template.entry
  • 复合主键的一部分
  • 一个游戏对象可以掉落多个任务物品
  • 对应游戏对象的模板ID
  • 必须是已存在的游戏对象模板

📊 Idx - 物品索引

详细说明:同一游戏对象的不同任务物品编号索引。 取值范围:0 - 255
  • 复合主键的一部分
  • 决定物品显示顺序
  • Idx=0表示第一个物品
  • Idx=1表示第二个物品
  • 依次排列

📦 ItemId - 物品ID

详细说明:掉落的任务物品ID,对应item_template.entry。 取值范围:对应item_template.entry
  • 必须是任务物品类型
  • 玩家打开游戏对象时掉落
  • 通常用于任务收集目标
  • 每个玩家只能拾取一次

✔️ VerifiedBuild - 验证版本

详细说明:用于确定数据来源和验证状态。
  • 0 - 未解析或继承自旧数据库
  • 正数 - 已用该客户端版本解析
  • -1 - 占位符,等待正确数据
  • -客户端版本 - 已解析但手动编辑

💡 实际案例

单一物品 配置单一任务物品掉落

游戏对象ID=12345掉落任务物品ID=1000

INSERT INTO gameobject_questitem VALUES( 12345, 0, 1000, NULL );

多物品 配置多个任务物品掉落

游戏对象ID=12346掉落任务物品1001、1002、1003

-- 第一个任务物品 INSERT INTO gameobject_questitem VALUES(12346, 0, 1001, NULL); -- 第二个任务物品 INSERT INTO gameobject_questitem VALUES(12346, 1, 1002, NULL); -- 第三个任务物品 INSERT INTO gameobject_questitem VALUES(12346, 2, 1003, NULL);

宝箱 配置宝箱掉落任务物品

宝箱对象ID=12347掉落任务物品ID=2000

INSERT INTO gameobject_questitem VALUES( 12347, 0, 2000, NULL );

查询 查询游戏对象掉落的任务物品

查询游戏对象ID=12345掉落的所有任务物品

SELECT gqi.GameObjectEntry, gqi.Idx, gqi.ItemId, gt.name, it.name FROM gameobject_questitem gqi JOIN gameobject_template gt ON gqi.GameObjectEntry = gt.entry JOIN item_template it ON gqi.ItemId = it.entry WHERE gqi.GameObjectEntry = 12345 ORDER BY gqi.Idx;

⚡ 快速参考

用途说明

任务物品掉落打开对象
任务收集收集目标
一次性拾取每个玩家一次
复合主键Entry+Idx

关联表

gameobject_template游戏对象模板
item_template物品模板
quest_template任务模板
creature_questitem生物任务物品

常见对象类型

宝箱任务物品箱
容器任务容器
尸体任务尸体
包裹任务包裹

拾取规则

任务相关需要任务
一次性每个玩家一次
自动拾取自动进入背包
任务目标计入任务进度

🔗 相关表格

❓ 常见问题

Q1: 任务物品掉落机制?
玩家打开游戏对象时,如果该对象在gameobject_questitem表中有记录,且玩家有相关任务,就会掉落任务物品。
Q2: 一个对象可以掉落多个任务物品吗?
可以,一个游戏对象可以掉落多个任务物品,每个物品使用不同的Idx值。
Q3: 任务物品拾取规则?
任务物品每个玩家只能拾取一次,拾取后自动进入背包,并计入任务收集进度。
Q4: 这个表和gameobject_loot_template的区别?
gameobject_loot_template定义普通物品掉落,gameobject_questitem定义任务物品掉落,两者独立工作。