表概述

recovery_item 表记录被玩家删除/出售/分解的物品信息,用于GM恢复或玩家自助物品恢复功能。

核心概念:当玩家删除或出售重要物品时,物品信息会暂存于此表,GM可以通过此表查询并恢复。类似于官方的"物品恢复"自助服务。

表结构

字段名数据类型默认值说明
IdINT UNSIGNEDAUTO_INCREMENT自增主键
GuidINT UNSIGNED0角色GUID,关联 → characters.guid
ItemEntryINT UNSIGNEDNULL物品模板ID → item_template.entry
CountINT UNSIGNED0物品数量
DeleteDateINT UNSIGNEDNULL删除时间(Unix时间戳)

重要字段详解

ItemEntry - 物品ID

详细说明:对应 world 库 item_template 表中的物品模板ID。
  • 可以通过此ID查询物品名称、品质等信息
  • 恢复时使用此ID创建新物品实例
SQL示例:查询删除物品名称 → SELECT ri.*, it.name FROM recovery_item ri LEFT JOIN world.item_template it ON ri.ItemEntry=it.entry WHERE ri.Guid=1;

DeleteDate - 删除时间

详细说明:Unix时间戳,记录物品被删除的时间。
  • 用于判断是否可以恢复(通常有时间限制)
  • 可用于定期清理过期的恢复记录

Count - 数量

详细说明:记录被删除的物品堆叠数量。
  • 对于可堆叠物品,此字段记录实际删除的数量
  • 恢复时会生成对应数量的新物品

SQL查询示例

-- 查看角色的所有可恢复物品 SELECT Id, ItemEntry, Count, FROM_UNIXTIME(DeleteDate) AS delete_time FROM recovery_item WHERE Guid = 1 ORDER BY DeleteDate DESC;
-- 清理30天前的恢复记录 DELETE FROM recovery_item WHERE DeleteDate < UNIX_TIMESTAMP() - 2592000;

常见问题

Q: 如何通过此表恢复物品给玩家?

GM查到记录后,使用 .additem ItemEntry Count 命令将物品添加到玩家背包,然后删除 recovery_item 中的对应记录。

Q: 恢复的物品会有原来的附魔/宝石吗?

恢复的物品是全新的基础物品,不会保留原来的附魔、宝石镶嵌或属性随机值。此表只存储物品模板ID和数量。