在单机传奇架设中,添加“吃后双倍经验、死亡下线不消失”的药物,需按“工具准备→物品创建→脚本配置→测试验证”四步操作,以下是每一步的具体细节,适配GEE/LEG、3K/HERO主流引擎。
第一步:准备必备工具
需提前准备2类工具,避免操作中因工具缺失卡顿:
数据库编辑工具:推荐DBCommander(免费且适配传奇数据库格式),用于修改物品属性;若没有,可使用HeroDBEditor等同类工具,确保能打开“.DB”格式文件。
文本编辑工具:建议用Notepad++(支持代码格式显示,避免乱码),普通记事本也可,但需注意保存时选择“ANSI”编码,防止脚本符号错乱。
引擎文件确认:找到服务端根目录下的“M2Server.exe”(引擎主程序),记录引擎类型(GEE/LEG引擎图标多带“G”标识,3K/HERO引擎多带“3K”或“Hero”字样),后续脚本编写需匹配引擎类型。
第二步:在数据库中创建双倍经验药物
这一步是让药物在游戏内“存在”,需精准修改物品数据库参数:
打开物品数据库:
进入服务端“DB”文件夹(通常在Mirserver/DB路径下),找到“StdItems.DB”文件(传奇核心物品数据库)。
右键选择“打开方式”,用准备好的DBCommander打开,若提示“格式不识别”,需在工具中选择“传奇DB格式”(部分工具需手动勾选)。
添加新物品记录:
在DBCommander中点击“Add”(新增记录),弹出参数编辑窗口,按以下内容逐项填写:
Name(物品名称):输入“双倍经验丹”(必须完全一致,后续脚本需匹配,错字或空格都会导致失效)。
StdMode(物品类型):填写“25”(此类型为“可使用类物品”,如药水、符纸,选其他类型会导致无法右键使用)。
Shape(外观代码):填写“100”(对应游戏内“红色小药丸”外观,也可填101/102等,对应不同药水图标,不影响功能)。
Weight(重量):填“1”(单机无需考虑负重,填0也可,不影响使用)。
Price(售价):填“0”(单机无需金币购买,若想通过NPC售卖,可填1000等数值)。
Bind(绑定属性):选“0”(不绑定,可在背包内移动;选1则绑定,使用后无法交易,单机建议设0)。
其他参数(如AC、MC、DC等属性):全部填“0”,无需添加额外属性,避免干扰药物核心功能。
保存数据库:
填写完后点击“Save”(保存),关闭DBCommander时会提示“是否更新文件”,选“是”;若提示“文件被占用”,需先关闭服务端所有程序(M2Server.exe、LoginGate.exe等),再重新保存。
第三步:编写双倍经验效果脚本
根据引擎类型编写对应脚本,确保药物使用后触发双倍经验,且效果持久:
子步骤1:GEE/LEG引擎脚本编写
打开脚本文件:
进入服务端“Scripts”文件夹(Mirserver/Scripts路径),找到“QFunction-0.txt”文件(此文件专门处理物品使用触发事件),用Notepad++打开。
粘贴脚本代码:
[@UseItem]
#IF
CheckItem双倍经验丹1//判断背包是否有1个“双倍经验丹”
#ACT
TakeItem双倍经验丹1//使用后删除背包中的1个药物
KILLMONEXPRATE200180010//200=2倍经验,1800=持续1800秒(30分钟),1=死亡下线保存剩余时间,0=不叠加效果
SendMsg6双倍经验已激活!剩余30分钟,死亡、下线不消失~//游戏内弹出提示(6为黄色字体,显眼)
#ELSE
#SAY
您背包中没有“双倍经验丹”,无法使用哦!//没有物品时的提示
滚动到文件末尾,另起一行粘贴以下代码,注意代码中符号均为英文半角(如#IF、//等不能用中文符号):
保存脚本:
按Ctrl+S保存,关闭Notepad++,若提示“权限不足”,右键Notepad++选择“以管理员身份运行”后重新操作。
子步骤2:3K/HERO引擎脚本编写
打开脚本文件:
进入服务端“Mir200/Script”文件夹(3K/HERO引擎常用路径),找到“ItemUse.txt”文件(物品使用脚本文件),用Notepad++打开。
添加触发命令与脚本:
[@UseItemDoubleExp]
#IF
CheckItemEx双倍经验丹1//3K引擎专用判断物品命令,比CheckItem更稳定
#ACT
DelItem双倍经验丹1//删除背包中的药物(3K引擎用DelItem,GEE用TakeItem)
SetExpRate218001//2=2倍经验,1800=持续秒数,1=保存效果(0则不保存)
Msg6已获得双倍经验!30分钟内死亡、下线均有效~//游戏内提示
#ELSE
Msg6背包中没有“双倍经验丹”,无法激活效果!
先在文件开头新增一行:#ACT@UseItemDoubleExp(建立药物与脚本的触发关联),再滚动到文件末尾粘贴以下代码:
保存脚本:同样选择“ANSI”编码保存,避免乱码。
第四步:放置脚本并重启引擎
脚本编写完后,需放在正确路径并重启引擎,确保加载生效:
确认脚本路径:
GEE/LEG引擎:脚本已放在“Mirserver/Scripts/QFunction-0.txt”,无需移动,只需确认文件未被误删。
3K/HERO引擎:脚本放在“Mirserver/Mir200/Script/ItemUse.txt”,检查是否有重复的“@UseItemDoubleExp”触发命令,若有需删除重复行。
重启服务端引擎:
关闭所有服务端程序(右键任务栏中的“M2Server”“LoginGate”图标,选“关闭窗口”)。
先双击运行“M2Server.exe”(引擎主程序),等待窗口显示“引擎启动成功”“所有服务已加载”(约1-2分钟)。
再运行“LoginGate.exe”(登录网关),待网关窗口显示“端口XXX监听中”,说明引擎已加载新脚本。
第五步:测试药物效果(关键验证环节)
进入游戏按以下步骤测试,确保药物功能符合预期:
获取药物:
若已设置NPC售卖,可去对应NPC处购买;若未设置,可通过“@give双倍经验丹1”命令(部分引擎支持)添加到背包,或在数据库中设置“怪物掉落”(新手建议先用法令获取,快速测试)。
使用药物并验证:
右键点击背包中的“双倍经验丹”,若弹出“已获得双倍经验”提示,说明脚本触发成功;打怪时观察经验值(如原100经验,现在200经验),确认倍数生效。
测试死亡/下线效果:
找怪物让角色死亡,复活后打怪,若经验仍为2倍,说明死亡不消失;退出游戏再重新登录,打怪验证经验倍数,确认下线后效果保留。
检查剩余时间:
部分引擎支持“@expinfo”等命令查看双倍经验剩余时间,若没有,可通过“持续打怪30分钟”(或修改脚本中“1800秒”为“60秒”,快速测试到期效果),确认时间到后倍数自动取消。
常见问题解决(补充细节)
药物无法使用:检查“StdMode”是否为25,若填成“1”(武器类型)或“10”(armor类型),会导致无法右键使用,需重新修改数据库。
使用后无效果:核对物品名称“双倍经验丹”与脚本中名称是否完全一致(如多了“空格”或错写成“双倍经验丹”),名称不一致会导致脚本无法识别。
下线后效果消失:检查脚本中“保存效果”参数(GEE脚本第三个参数、3K脚本第三个参数)是否为“1”,设为“0”则下线不保存,需修改后重启引擎。
脚本乱码:用Notepad++打开脚本,点击“格式”→“转为ANSI编码”,保存后重启引擎,乱码多因编码格式错误导致。
第一步:准备必备工具
需提前准备2类工具,避免操作中因工具缺失卡顿:
数据库编辑工具:推荐DBCommander(免费且适配传奇数据库格式),用于修改物品属性;若没有,可使用HeroDBEditor等同类工具,确保能打开“.DB”格式文件。
文本编辑工具:建议用Notepad++(支持代码格式显示,避免乱码),普通记事本也可,但需注意保存时选择“ANSI”编码,防止脚本符号错乱。
引擎文件确认:找到服务端根目录下的“M2Server.exe”(引擎主程序),记录引擎类型(GEE/LEG引擎图标多带“G”标识,3K/HERO引擎多带“3K”或“Hero”字样),后续脚本编写需匹配引擎类型。
第二步:在数据库中创建双倍经验药物
这一步是让药物在游戏内“存在”,需精准修改物品数据库参数:
打开物品数据库:
进入服务端“DB”文件夹(通常在Mirserver/DB路径下),找到“StdItems.DB”文件(传奇核心物品数据库)。
右键选择“打开方式”,用准备好的DBCommander打开,若提示“格式不识别”,需在工具中选择“传奇DB格式”(部分工具需手动勾选)。
添加新物品记录:
在DBCommander中点击“Add”(新增记录),弹出参数编辑窗口,按以下内容逐项填写:
Name(物品名称):输入“双倍经验丹”(必须完全一致,后续脚本需匹配,错字或空格都会导致失效)。
StdMode(物品类型):填写“25”(此类型为“可使用类物品”,如药水、符纸,选其他类型会导致无法右键使用)。
Shape(外观代码):填写“100”(对应游戏内“红色小药丸”外观,也可填101/102等,对应不同药水图标,不影响功能)。
Weight(重量):填“1”(单机无需考虑负重,填0也可,不影响使用)。
Price(售价):填“0”(单机无需金币购买,若想通过NPC售卖,可填1000等数值)。
Bind(绑定属性):选“0”(不绑定,可在背包内移动;选1则绑定,使用后无法交易,单机建议设0)。
其他参数(如AC、MC、DC等属性):全部填“0”,无需添加额外属性,避免干扰药物核心功能。
保存数据库:
填写完后点击“Save”(保存),关闭DBCommander时会提示“是否更新文件”,选“是”;若提示“文件被占用”,需先关闭服务端所有程序(M2Server.exe、LoginGate.exe等),再重新保存。
第三步:编写双倍经验效果脚本
根据引擎类型编写对应脚本,确保药物使用后触发双倍经验,且效果持久:
子步骤1:GEE/LEG引擎脚本编写
打开脚本文件:
进入服务端“Scripts”文件夹(Mirserver/Scripts路径),找到“QFunction-0.txt”文件(此文件专门处理物品使用触发事件),用Notepad++打开。
粘贴脚本代码:
[@UseItem]
#IF
CheckItem双倍经验丹1//判断背包是否有1个“双倍经验丹”
#ACT
TakeItem双倍经验丹1//使用后删除背包中的1个药物
KILLMONEXPRATE200180010//200=2倍经验,1800=持续1800秒(30分钟),1=死亡下线保存剩余时间,0=不叠加效果
SendMsg6双倍经验已激活!剩余30分钟,死亡、下线不消失~//游戏内弹出提示(6为黄色字体,显眼)
#ELSE
#SAY
您背包中没有“双倍经验丹”,无法使用哦!//没有物品时的提示
滚动到文件末尾,另起一行粘贴以下代码,注意代码中符号均为英文半角(如#IF、//等不能用中文符号):
保存脚本:
按Ctrl+S保存,关闭Notepad++,若提示“权限不足”,右键Notepad++选择“以管理员身份运行”后重新操作。
子步骤2:3K/HERO引擎脚本编写
打开脚本文件:
进入服务端“Mir200/Script”文件夹(3K/HERO引擎常用路径),找到“ItemUse.txt”文件(物品使用脚本文件),用Notepad++打开。
添加触发命令与脚本:
[@UseItemDoubleExp]
#IF
CheckItemEx双倍经验丹1//3K引擎专用判断物品命令,比CheckItem更稳定
#ACT
DelItem双倍经验丹1//删除背包中的药物(3K引擎用DelItem,GEE用TakeItem)
SetExpRate218001//2=2倍经验,1800=持续秒数,1=保存效果(0则不保存)
Msg6已获得双倍经验!30分钟内死亡、下线均有效~//游戏内提示
#ELSE
Msg6背包中没有“双倍经验丹”,无法激活效果!
先在文件开头新增一行:#ACT@UseItemDoubleExp(建立药物与脚本的触发关联),再滚动到文件末尾粘贴以下代码:
保存脚本:同样选择“ANSI”编码保存,避免乱码。
第四步:放置脚本并重启引擎
脚本编写完后,需放在正确路径并重启引擎,确保加载生效:
确认脚本路径:
GEE/LEG引擎:脚本已放在“Mirserver/Scripts/QFunction-0.txt”,无需移动,只需确认文件未被误删。
3K/HERO引擎:脚本放在“Mirserver/Mir200/Script/ItemUse.txt”,检查是否有重复的“@UseItemDoubleExp”触发命令,若有需删除重复行。
重启服务端引擎:
关闭所有服务端程序(右键任务栏中的“M2Server”“LoginGate”图标,选“关闭窗口”)。
先双击运行“M2Server.exe”(引擎主程序),等待窗口显示“引擎启动成功”“所有服务已加载”(约1-2分钟)。
再运行“LoginGate.exe”(登录网关),待网关窗口显示“端口XXX监听中”,说明引擎已加载新脚本。
第五步:测试药物效果(关键验证环节)
进入游戏按以下步骤测试,确保药物功能符合预期:
获取药物:
若已设置NPC售卖,可去对应NPC处购买;若未设置,可通过“@give双倍经验丹1”命令(部分引擎支持)添加到背包,或在数据库中设置“怪物掉落”(新手建议先用法令获取,快速测试)。
使用药物并验证:
右键点击背包中的“双倍经验丹”,若弹出“已获得双倍经验”提示,说明脚本触发成功;打怪时观察经验值(如原100经验,现在200经验),确认倍数生效。
测试死亡/下线效果:
找怪物让角色死亡,复活后打怪,若经验仍为2倍,说明死亡不消失;退出游戏再重新登录,打怪验证经验倍数,确认下线后效果保留。
检查剩余时间:
部分引擎支持“@expinfo”等命令查看双倍经验剩余时间,若没有,可通过“持续打怪30分钟”(或修改脚本中“1800秒”为“60秒”,快速测试到期效果),确认时间到后倍数自动取消。
常见问题解决(补充细节)
药物无法使用:检查“StdMode”是否为25,若填成“1”(武器类型)或“10”(armor类型),会导致无法右键使用,需重新修改数据库。
使用后无效果:核对物品名称“双倍经验丹”与脚本中名称是否完全一致(如多了“空格”或错写成“双倍经验丹”),名称不一致会导致脚本无法识别。
下线后效果消失:检查脚本中“保存效果”参数(GEE脚本第三个参数、3K脚本第三个参数)是否为“1”,设为“0”则下线不保存,需修改后重启引擎。
脚本乱码:用Notepad++打开脚本,点击“格式”→“转为ANSI编码”,保存后重启引擎,乱码多因编码格式错误导致。

