在单机传奇中添加“吃后获30分钟双倍经验、死亡/下线不消失”的药物,核心需通过“物品创建+脚本绑定+状态存档”三步实现,以下是针对主流M2引擎(如heroM2、GEE)的详细操作,新手可直接套用。
一、准备工具:确认核心文件与工具
服务端引擎工具:打开服务端目录下的“M2Server.exe”(核心引擎),自带“物品编辑器”“脚本编辑器”,无需额外下载;
文本编辑器:推荐“Notepad++”,用于修改脚本文件(避免记事本乱码);
服务端路径记录:记务端“Data”文件夹路径(如D:\LegendServer\Data),后续脚本需放在此目录下的“QuestDiary”或“Envir\QuestDiary”文件夹(不同引擎路径略有差异,以实际显示为准)。
二、第一步:创建双倍经验药物(用M2引擎物品编辑器)
打开物品编辑器:
启动“M2Server.exe”,点击顶部菜单栏“查看”→“物品列表”,弹出“物品编辑器”窗口;
新建药物物品:
点击窗口左下角“新增”,在“物品基本信息”中设置:
物品名称:自定义(如“双倍经验丹”);
物品ID:选择未占用的ID(建议选10000以后,避免与默认物品冲突,如10050);
物品类型:设为“消耗品-药物”(确保可右键使用);
使用效果:勾选“使用后执行脚本”(关键,用于触发双倍经验);
其他属性:可设“重量1”“持久1”“售价0”(单机无需考虑经济系统),图标选“药物类图标”(如编号258,视觉上区分普通药物)。
保存物品:
点击“保存”按钮,关闭物品编辑器(此时药物已添加到游戏物品库,但暂未绑定双倍效果)。
三、第二步:绑定双倍经验脚本(实现30分钟效果)
找到脚本存放路径:
进入服务端“Data\QuestDiary”文件夹(若没有“QuestDiary”,则在“Envir\QuestDiary”中),新建一个TXT文件,重命名为“DoubleExpItem.txt”(脚本文件名自定义,后缀为.txt);
编写双倍经验触发脚本:
用Notepad++打开“DoubleExpItem.txt”,复制以下脚本并修改关键参数(括号内为说明,需删除括号再用):
;双倍经验药物脚本:使用后获30分钟双倍经验
@UseItemFunc10050;10050为第一步设置的药物ID,需与物品ID一致
{
;1.检查是否已有双倍效果,避免重复叠加
ifCheckBuff(1001)=1;1001为自定义双倍Buff编号(可随便选1000-9999未用编号)
{
SendMsg7"你已拥有双倍经验效果,无需重复使用!";游戏内弹出提示
return1;结束脚本,不消耗药物
}
;2.给予30分钟双倍经验Buff(30分钟=1800秒)
AddBuff100118002;参数含义:Buff编号1001,持续1800秒,倍数2(即双倍)
;3.游戏内提示效果生效
SendMsg7"使用成功!获得30分钟双倍经验,死亡/下线不消失!"
;4.消耗药物(确保使用后物品减少1个)
TakeItem100501;物品ID10050,数量1
return1
}
关联脚本到物品:
回到“M2Server.exe”,打开“物品编辑器”→找到“双倍经验丹”→在“使用脚本”栏输入“@UseItemFunc10050”(与脚本内开头的命令一致)→点击“保存”。
四、第三步:设置“死亡/下线不消失”(关键步骤)
1.解决“死亡后效果消失”问题
打开M2引擎→点击顶部“选项”→“功能设置”→“状态设置”;
在“Buff死亡处理”栏,找到编号1001的双倍Buff(第一步自定义的编号),将“死亡清除”改为“否”→点击“保存设置”(此时死亡后Buff不被清除)。
2.解决“下线后效果消失”问题
进入服务端“Data”文件夹,找到“PlayerSaveParam.txt”(角色存档参数文件);
用Notepad++打开,在文件末尾添加一行:“DoubleExpBuff=CheckBuff(1001)SaveBuff(1001)”→保存文件;
作用:玩家下线时,系统自动将“1001号Buff状态”(包括剩余时间)存入角色存档;上线时自动读取并恢复Buff,实现下线不消失。
五、第四步:添加药物到游戏(方便测试获取)
通过NPC给予药物(单机快速获取):
打开M2引擎→“查看”→“NPC列表”→找到任意新手村NPC(如“新手向导”,NPCID通常为3001);
编辑NPC对话脚本:
右键“新手向导”→“编辑脚本”,在对话末尾添加:
elseifStdMode=2;玩家点击“获取双倍丹”选项
{
GiveItem100501;给予物品ID10050(双倍经验丹),数量1
SendMsg7"新手福利:获得1颗双倍经验丹!"
return1
}
同时在NPC对话选项中添加“获取双倍丹”(确保玩家能看到该选项);
保存NPC脚本:关闭窗口,重启M2引擎(脚本需重启生效)。
六、测试验证:确保效果符合需求
进入游戏测试:
启动服务端和客户端,创建角色后找到“新手向导”,点击“获取双倍丹”,背包中会出现“双倍经验丹”;
验证核心效果:
右键使用药物:系统提示“获得30分钟双倍经验”,打怪查看经验值(如原本100经验,现在显示200);
测试死亡:找怪物让角色死亡,复活后打怪,经验仍为双倍(确认死亡不消失);
测试下线:退出游戏,重新登录,打怪经验仍为双倍(确认下线不消失);
调整时间(可选):
若想修改持续时间,只需在脚本“AddBuff100118002”中,将“1800”改为对应秒数(如600=10分钟,3600=60分钟),保存后重启M2即可。
七、常见问题排查
使用药物无效果:
检查“物品ID”与脚本内“@UseItemFunc10050”的ID是否一致;确认“QuestDiary”文件夹路径是否正确,脚本是否放在该目录下;
下线后效果消失:
检查“PlayerSaveParam.txt”中是否添加“DoubleExpBuff=CheckBuff(1001)SaveBuff(1001)”,且Buff编号与脚本一致;
死亡后效果消失:
回到M2引擎“状态设置”,确认1001号Buff的“死亡清除”已设为“否”,并重启M2生效。
一、准备工具:确认核心文件与工具
服务端引擎工具:打开服务端目录下的“M2Server.exe”(核心引擎),自带“物品编辑器”“脚本编辑器”,无需额外下载;
文本编辑器:推荐“Notepad++”,用于修改脚本文件(避免记事本乱码);
服务端路径记录:记务端“Data”文件夹路径(如D:\LegendServer\Data),后续脚本需放在此目录下的“QuestDiary”或“Envir\QuestDiary”文件夹(不同引擎路径略有差异,以实际显示为准)。
二、第一步:创建双倍经验药物(用M2引擎物品编辑器)
打开物品编辑器:
启动“M2Server.exe”,点击顶部菜单栏“查看”→“物品列表”,弹出“物品编辑器”窗口;
新建药物物品:
点击窗口左下角“新增”,在“物品基本信息”中设置:
物品名称:自定义(如“双倍经验丹”);
物品ID:选择未占用的ID(建议选10000以后,避免与默认物品冲突,如10050);
物品类型:设为“消耗品-药物”(确保可右键使用);
使用效果:勾选“使用后执行脚本”(关键,用于触发双倍经验);
其他属性:可设“重量1”“持久1”“售价0”(单机无需考虑经济系统),图标选“药物类图标”(如编号258,视觉上区分普通药物)。
保存物品:
点击“保存”按钮,关闭物品编辑器(此时药物已添加到游戏物品库,但暂未绑定双倍效果)。
三、第二步:绑定双倍经验脚本(实现30分钟效果)
找到脚本存放路径:
进入服务端“Data\QuestDiary”文件夹(若没有“QuestDiary”,则在“Envir\QuestDiary”中),新建一个TXT文件,重命名为“DoubleExpItem.txt”(脚本文件名自定义,后缀为.txt);
编写双倍经验触发脚本:
用Notepad++打开“DoubleExpItem.txt”,复制以下脚本并修改关键参数(括号内为说明,需删除括号再用):
;双倍经验药物脚本:使用后获30分钟双倍经验
@UseItemFunc10050;10050为第一步设置的药物ID,需与物品ID一致
{
;1.检查是否已有双倍效果,避免重复叠加
ifCheckBuff(1001)=1;1001为自定义双倍Buff编号(可随便选1000-9999未用编号)
{
SendMsg7"你已拥有双倍经验效果,无需重复使用!";游戏内弹出提示
return1;结束脚本,不消耗药物
}
;2.给予30分钟双倍经验Buff(30分钟=1800秒)
AddBuff100118002;参数含义:Buff编号1001,持续1800秒,倍数2(即双倍)
;3.游戏内提示效果生效
SendMsg7"使用成功!获得30分钟双倍经验,死亡/下线不消失!"
;4.消耗药物(确保使用后物品减少1个)
TakeItem100501;物品ID10050,数量1
return1
}
关联脚本到物品:
回到“M2Server.exe”,打开“物品编辑器”→找到“双倍经验丹”→在“使用脚本”栏输入“@UseItemFunc10050”(与脚本内开头的命令一致)→点击“保存”。
四、第三步:设置“死亡/下线不消失”(关键步骤)
1.解决“死亡后效果消失”问题
打开M2引擎→点击顶部“选项”→“功能设置”→“状态设置”;
在“Buff死亡处理”栏,找到编号1001的双倍Buff(第一步自定义的编号),将“死亡清除”改为“否”→点击“保存设置”(此时死亡后Buff不被清除)。
2.解决“下线后效果消失”问题
进入服务端“Data”文件夹,找到“PlayerSaveParam.txt”(角色存档参数文件);
用Notepad++打开,在文件末尾添加一行:“DoubleExpBuff=CheckBuff(1001)SaveBuff(1001)”→保存文件;
作用:玩家下线时,系统自动将“1001号Buff状态”(包括剩余时间)存入角色存档;上线时自动读取并恢复Buff,实现下线不消失。
五、第四步:添加药物到游戏(方便测试获取)
通过NPC给予药物(单机快速获取):
打开M2引擎→“查看”→“NPC列表”→找到任意新手村NPC(如“新手向导”,NPCID通常为3001);
编辑NPC对话脚本:
右键“新手向导”→“编辑脚本”,在对话末尾添加:
elseifStdMode=2;玩家点击“获取双倍丹”选项
{
GiveItem100501;给予物品ID10050(双倍经验丹),数量1
SendMsg7"新手福利:获得1颗双倍经验丹!"
return1
}
同时在NPC对话选项中添加“获取双倍丹”(确保玩家能看到该选项);
保存NPC脚本:关闭窗口,重启M2引擎(脚本需重启生效)。
六、测试验证:确保效果符合需求
进入游戏测试:
启动服务端和客户端,创建角色后找到“新手向导”,点击“获取双倍丹”,背包中会出现“双倍经验丹”;
验证核心效果:
右键使用药物:系统提示“获得30分钟双倍经验”,打怪查看经验值(如原本100经验,现在显示200);
测试死亡:找怪物让角色死亡,复活后打怪,经验仍为双倍(确认死亡不消失);
测试下线:退出游戏,重新登录,打怪经验仍为双倍(确认下线不消失);
调整时间(可选):
若想修改持续时间,只需在脚本“AddBuff100118002”中,将“1800”改为对应秒数(如600=10分钟,3600=60分钟),保存后重启M2即可。
七、常见问题排查
使用药物无效果:
检查“物品ID”与脚本内“@UseItemFunc10050”的ID是否一致;确认“QuestDiary”文件夹路径是否正确,脚本是否放在该目录下;
下线后效果消失:
检查“PlayerSaveParam.txt”中是否添加“DoubleExpBuff=CheckBuff(1001)SaveBuff(1001)”,且Buff编号与脚本一致;
死亡后效果消失:
回到M2引擎“状态设置”,确认1001号Buff的“死亡清除”已设为“否”,并重启M2生效。

