架设传奇时想要修改物品的显示效果,比如让装备在地上显示不同颜色的名字、添加物品备注、调整内挂捡取列表,这些都涉及到物品数据库的修改和客户端配置的调整。下面把几种常见的物品显示修改方法分开来讲,需要哪种直接照着做就行。
先明确一个概念:传奇里的所有物品信息都存放在一个叫StdItems.DB的文件里,这个文件是物品数据库,用什么引擎都得靠它。要修改物品的显示效果,基本都绕不开用DBC2000工具打开这个数据库进行操作。
第一件事安装并配置DBC2000。这个工具是架设传奇的标配,装好后在控制面板里能找到BDE Administrator。打开后新建一个数据库别名,名字叫HeroDB,路径指向服务端里的D:\Mirserver\Mud2\DB文件夹。配置好后就能用这个工具打开StdItems.DB了。
进入正题,先讲最常见的需求:修改物品在地上显示的颜色。物品掉落在地上时名字是什么颜色,由数据库里的Color字段控制。用DBC2000打开StdItems.DB,往右拖动找到Color这一列,这里填的数字就是颜色代码。比如填246,物品名字在地上显示为紫色;填249是红色;填254是绿色;填255是白色。具体代码对应的颜色可以自己测试,不同引擎支持的色值范围略有差异,一般在0到255之间。
如果想让某些特殊物品(比如活动凭证、材料)在内挂里自动显示并捡取,需要修改FilterItemList.txt这个文件。这个文件在服务端Mir200目录下,用记事本打开,按照格式添加物品名字。格式是:物品名称,物品类别,极品提示开关,显示名字开关,自动捡取开关。举个例子:
万年雪莲,药品类,0,0,0 // 不显示名字,不自动捡取
祝福油,材料类,1,1,1 // 显示红色名字,自动捡取
屠龙,武器类,1,1,0 // 显示红色名字,不自动捡取
开关用0和1控制,1是开启,0是关闭。极品提示和显示名字都开启时,物品在地上显示红色字;只开显示名字不开极品提示,显示白色字;两个都不开,这个物品在地上就不显示名字,得用鼠标扫过才能看到。
修改完后保存文件,然后打开M2server(游戏引擎控制台),找到列表信息二或者内挂捡取选项,点重新加载或者保存到客户端。如果想让设置永久生效,可以在配置登录器时把这些文件集成进去。打开登录器生成器,找到集成配置页面,把FilterItemList.txt、ItemDescList.txt这些文件放到补丁文件夹Resources/data目录下,重新生成登录器,这样玩家一进游戏就自动应用这些设置了。
接着说物品外观代码的修改。装备穿在身上显示什么样子,由Looks字段控制。这个字段填的数字对应客户端里的Wil资源文件里的素材编号。想改外观的话,用工具打开Wil/Wzl文件找到想要的素材编号,填到Looks字段里就行。比如想把裁决之杖的外形改成屠龙,先找到屠龙在Wil里的编号,再把裁决对应的那条数据的Looks值改成屠龙的编号。
物品备注功能也是常见需求。想让鼠标指到装备上时显示额外的说明文字,需要修改ItemDescList.txt文件。这个文件在Mir200目录下,格式很简单:物品名称 备注内容。例如:
屠龙 传说中屠龙勇士的佩刀,蕴藏神秘力量
麻痹戒指 佩戴后有几率让敌人陷入麻痹状态
每个物品占一行,备注内容可以用空格或TAB键分隔。改完后同样要在M2里加载或集成到登录器里。
有些引擎还支持装备悬浮框特效,鼠标指上去时显示特殊背景图。这个需要在M2的客户端设置里先添加背景图片素材,然后用SETSHOWITEMWINDOWEFFECTINDEX命令绑定到指定装备上。命令格式是:SETSHOWITEMWINDOWEFFECTINDEX 装备位置 特效编号 特效位置。装备位置用-1表示OK框里的物品,0-28表示身上穿的各个部位。
脚本里动态显示物品属性也是常用功能。用ItemShow命令可以在NPC对话框里展示某个物品的图标,鼠标放上去显示详细属性。格式是:<ItemShow:F:X:Y:Z/@Label>,F是物品ID,X和Y是坐标微调,Z控制是否显示物品框。这个功能在做装备展示、回收NPC时特别实用。
如果想在脚本里获取物品的某个属性值,可以用<$ITEMINFO[X].Y>这个变量。X是物品的唯一编号(MakeIndex),Y是属性代码,比如Name代表物品名字,Dc代表攻击下限,Color代表颜色代码。这个变量可以用于写鉴定脚本、装备对比功能等。
最后提醒几个操作时的注意事项。修改StdItems.DB之前最好先备份一份,万一改乱了还能恢复。修改数据库时,Idx这一列是物品的唯一编号,必须从上到下连续且不能重复,否则引擎加载会报错。物品名字最多支持7个汉字,长了会被截断。
修改FilterItemList.txt时,如果想让某个物品在地上完全不显示名字,就把两个开关都设成0,这样只有鼠标扫过时才会出现物品名字。想实现地上红色名字自动捡取,就设成1,1,1。
改完后重启M2让配置生效。如果改了登录器集成的文件,需要重新生成登录器发给玩家。单机玩的话直接把文件复制到客户端对应目录就行。

