单机架设里“一捆疗伤药=6个,解包后每个再叠6个,共6×6=36个”这种效果,不能只改一个数据库字段完成。它本质是两层结构:第一层是“捆/包”,第二层是“解包后的疗伤药”。你要改的是解包数量和疗伤药本身的堆叠上限。
先看你的版本属于哪种物品体系。传奇类单机版常见有两种处理药包的方式:一种是通过Stdmode=31捆装物品配合UnbindList.txt解包;另一种是Source=5类药品叠加,双击扣持久来使用。仿官、传世类版本多数用UnbindList解包体系;HERO引擎则对普通药品叠加限制较多,通常只支持StdMod=40、41等类型。
第一步,备份DB。用DBC2000打开StdItems.DB前,先把DB文件夹里的StdItems.DB、StdItem.DB、Mir200下的UnbindList.txt都复制一份出来。修改后如果物品显示异常、无法解包或背包错乱,直接还原。
第二步,确认“一捆疗伤药”的数据库记录。打开DBC2000,进入HeroDB或对应物品库,找到名称为“一捆疗伤药”“疗伤药包”“疗伤药捆”之类的物品。重点看这几个字段:
Name:物品名称,确认是不是你要改的那捆药。
Stdmode:如果是31,说明它是捆装/包类物品,解包数量通常由UnbindList.txt控制。
Shape:在Stdmode=31时,Shape常用来对应UnbindList.txt里的解包编号。
DuraMax:有些版本会把它当作捆内数量,但多数捆装药还是以UnbindList为准。
Source、Anicount、Reserved:不同引擎含义不同,不要盲目改,先对照当前版本已有同类物品。
第三步,修改解包数量。找到UnbindList.txt,路径通常在Mir200Envir或Mir200根目录。里面常见格式类似:
Shape编号解包物品名数量类型
例如原来可能是:
113疗伤药13
或:
113疗伤药63
你要改成解包后得到6个疗伤药,就把数量改成6:
113疗伤药63
这里Shape编号必须和数据库里那捆药的Shape一致。类型3一般表示加红蓝药,如果版本里已有其他药包,照着同类物品写即可。
第四步,让解包出来的疗伤药能叠6个。打开DBC2000,找到“疗伤药”这条物品记录。不同引擎改法不同:
GOM、LEGEND、部分支持堆叠的引擎,在物品库里看是否有OverLap字段。OverLap=0不叠加,OverLap=1或2可叠加;DuraMax填叠加数量上限。想让它至少能叠6个,就把DuraMax改成6或更大。OverLap=1时叠加重量会除以10,OverLap=2时按数量乘单重计算,仿官类版本建议参考同目录里其他可叠药品的写法。
HERO引擎普通药品通常不支持随意叠加,只能对StdMod=40、41等类型通过Reserved设置叠加数量。如果你的疗伤药是普通药品分类,强行改OverLap可能不生效。此时可以查看版本里是否已有“疗伤药(叠)”“小捆疗伤药”等专用物品,直接沿用它的字段配置。
第五步,重启生效。修改完DBC和UnbindList.txt后,关闭M2Server,重新启动服务端。如果引擎支持热加载,可以在M2Server里重新加载物品数据库和列表文件。进游戏后先用GM命令刷一捆疗伤药,双击解包,看背包里是否出现6个疗伤药,并且这6个能叠在一格。
如果解包数量不对,先核对UnbindList.txt里的Shape编号是否和数据库一致,数量是否写成6,文件是否保存为ANSI或UTF-8无BOM,避免中文乱码导致读取失败。如果解包后疗伤药不能叠6个,检查疗伤药本身的OverLap、DuraMax、Reserved是否已改,并确认该引擎是否允许此类药品叠加。部分版本还会把药品持久当作使用次数,Source=5时DuraMax可能表示使用次数而非堆叠数量,这种情况不要和捆装解包混在一起改。
实现6×6的正确逻辑是:一捆疗伤药的Shape对应UnbindList里解包数量6;解包后的疗伤药自身堆叠上限至少设为6。这样玩家获得一捆时占一格,解包后得到6个疗伤药,仍然只占一格。若想让背包里同时能叠更多捆解包出来的药,例如连续解包两捆变成12个叠一格,就把疗伤药的堆叠上限继续提高。
先看你的版本属于哪种物品体系。传奇类单机版常见有两种处理药包的方式:一种是通过Stdmode=31捆装物品配合UnbindList.txt解包;另一种是Source=5类药品叠加,双击扣持久来使用。仿官、传世类版本多数用UnbindList解包体系;HERO引擎则对普通药品叠加限制较多,通常只支持StdMod=40、41等类型。
第一步,备份DB。用DBC2000打开StdItems.DB前,先把DB文件夹里的StdItems.DB、StdItem.DB、Mir200下的UnbindList.txt都复制一份出来。修改后如果物品显示异常、无法解包或背包错乱,直接还原。
第二步,确认“一捆疗伤药”的数据库记录。打开DBC2000,进入HeroDB或对应物品库,找到名称为“一捆疗伤药”“疗伤药包”“疗伤药捆”之类的物品。重点看这几个字段:
Name:物品名称,确认是不是你要改的那捆药。
Stdmode:如果是31,说明它是捆装/包类物品,解包数量通常由UnbindList.txt控制。
Shape:在Stdmode=31时,Shape常用来对应UnbindList.txt里的解包编号。
DuraMax:有些版本会把它当作捆内数量,但多数捆装药还是以UnbindList为准。
Source、Anicount、Reserved:不同引擎含义不同,不要盲目改,先对照当前版本已有同类物品。
第三步,修改解包数量。找到UnbindList.txt,路径通常在Mir200Envir或Mir200根目录。里面常见格式类似:
Shape编号解包物品名数量类型
例如原来可能是:
113疗伤药13
或:
113疗伤药63
你要改成解包后得到6个疗伤药,就把数量改成6:
113疗伤药63
这里Shape编号必须和数据库里那捆药的Shape一致。类型3一般表示加红蓝药,如果版本里已有其他药包,照着同类物品写即可。
第四步,让解包出来的疗伤药能叠6个。打开DBC2000,找到“疗伤药”这条物品记录。不同引擎改法不同:
GOM、LEGEND、部分支持堆叠的引擎,在物品库里看是否有OverLap字段。OverLap=0不叠加,OverLap=1或2可叠加;DuraMax填叠加数量上限。想让它至少能叠6个,就把DuraMax改成6或更大。OverLap=1时叠加重量会除以10,OverLap=2时按数量乘单重计算,仿官类版本建议参考同目录里其他可叠药品的写法。
HERO引擎普通药品通常不支持随意叠加,只能对StdMod=40、41等类型通过Reserved设置叠加数量。如果你的疗伤药是普通药品分类,强行改OverLap可能不生效。此时可以查看版本里是否已有“疗伤药(叠)”“小捆疗伤药”等专用物品,直接沿用它的字段配置。
第五步,重启生效。修改完DBC和UnbindList.txt后,关闭M2Server,重新启动服务端。如果引擎支持热加载,可以在M2Server里重新加载物品数据库和列表文件。进游戏后先用GM命令刷一捆疗伤药,双击解包,看背包里是否出现6个疗伤药,并且这6个能叠在一格。
如果解包数量不对,先核对UnbindList.txt里的Shape编号是否和数据库一致,数量是否写成6,文件是否保存为ANSI或UTF-8无BOM,避免中文乱码导致读取失败。如果解包后疗伤药不能叠6个,检查疗伤药本身的OverLap、DuraMax、Reserved是否已改,并确认该引擎是否允许此类药品叠加。部分版本还会把药品持久当作使用次数,Source=5时DuraMax可能表示使用次数而非堆叠数量,这种情况不要和捆装解包混在一起改。
实现6×6的正确逻辑是:一捆疗伤药的Shape对应UnbindList里解包数量6;解包后的疗伤药自身堆叠上限至少设为6。这样玩家获得一捆时占一格,解包后得到6个疗伤药,仍然只占一格。若想让背包里同时能叠更多捆解包出来的药,例如连续解包两捆变成12个叠一格,就把疗伤药的堆叠上限继续提高。

