传奇登陆奖励脚本制作教程 详细步骤及完整实例

来源: 作者: 点击:
传奇登陆奖励脚本,核心是实现玩家每次登陆游戏后,自动领取对应奖励(道具、元宝、经验等),无需手动操作,核心配置文件为服务端Envir目录下的LoginScript.txt,部分服务端需搭配QFunction-0.txt触发,下面从脚本基础配置、分步制作、参数说明、实例套用、常见问题排查,全程贴合实际操作,新手也能一步步做好,无多余修饰,直接落地可用。
先明确登陆奖励脚本的核心逻辑:玩家登陆游戏时,服务端检测玩家账号状态,触发登陆脚本,根据脚本设定的奖励类型、数量、领取条件,自动发放奖励,同时可设置每日领取、首次登陆领取、累计登陆领取等不同模式,所有脚本均用记事本编辑,格式需规范,符号、空格均为英文,否则会导致脚本失效,奖励无法发放。
第一步,确认脚本存放路径及核心文件,避免找错文件导致制作失败。不同版本服务端,登陆奖励脚本存放路径略有差异,主流版本分为两种情况,逐一说明,确保对应找到文件:
1. 常规版本(如热血传奇1.76、1.80):核心文件为LoginScript.txt,存放于服务端Mir200\Envir目录下,直接打开该文件即可编写脚本,无需额外配置其他文件,适合新手操作。
2. 合击、连击等特色版本:需用到两个文件,LoginScript.txt(存放于Mir200\Envir)和QFunction-0.txt(存放于Mir200\Envir\QuestDiary),LoginScript.txt用于触发登陆事件,QFunction-0.txt用于编写奖励发放逻辑,两个文件配合使用,缺一不可。
重点提醒:无论哪种版本,编辑脚本前需备份原文件,避免编写错误导致服务端无法正常启动,备份方法为复制原文件,重命名为“LoginScript备份.txt”“QFunction-0备份.txt”,存放于同一目录即可。
第二步,编写基础登陆奖励脚本(适合所有版本,无领取条件,每次登陆均发放奖励),这是最基础、最常用的脚本类型,先掌握基础写法,再逐步添加领取条件,具体步骤及实例如下:
1. 常规版本(仅需编辑LoginScript.txt):打开LoginScript.txt,清空原有无关内容(若有其他登陆相关脚本,可保留,新增奖励脚本即可),编写格式为:[@Login]#ACTgive 道具编号 数量give 元宝 数量AddExp 经验值SendMsg 7 【登陆奖励】恭喜您成功领取登陆奖励!
基础实例(每次登陆发放100元宝、1瓶疗伤药、10000经验):[@Login]#ACTgive 1001 1give 100 100AddExp 10000SendMsg 7 【登陆奖励】恭喜您成功领取登陆奖励!
逐一对脚本指令进行说明,确保理解每一步作用,避免写错:[@Login]:触发指令,代表玩家登陆游戏时,自动执行后续脚本内容,不可修改,必须放在脚本最前面;#ACT:执行指令,后面紧跟具体的奖励发放操作,所有奖励指令均需放在#ACT后面;give 道具编号 数量:发放道具的指令,道具编号需在服务端Mud2\DB\StdItems.DB中查询,数量可自定义,比如1001为疗伤药,100为元宝;AddExp 经验值:发放经验的指令,经验值填写具体数字,无需加单位;SendMsg 7 内容:在游戏聊天栏发送提示信息,7代表信息颜色(红色),内容可自定义,告知玩家已领取奖励。
2. 特色版本(需编辑LoginScript.txt和QFunction-0.txt):第一步,打开LoginScript.txt,编写触发脚本,格式为:[@Login]#CALL [\Envir\QuestDiary\QFunction-0.txt] @LoginReward;第二步,打开QFunction-0.txt,编写奖励发放脚本,格式为:[@LoginReward]#ACTgive 道具编号 数量give 元宝 数量AddExp 经验值SendMsg 7 【登陆奖励】恭喜您成功领取登陆奖励!
特色版本实例(与常规版本奖励一致):LoginScript.txt中添加:[@Login]#CALL [\Envir\QuestDiary\QFunction-0.txt] @LoginReward;QFunction-0.txt中添加:[@LoginReward]#ACTgive 1001 1give 100 100AddExp 10000SendMsg 7 【登陆奖励】恭喜您成功领取登陆奖励!
说明:#CALL 指令用于调用其他文件中的脚本,避免LoginScript.txt内容过于杂乱,适合脚本较多的特色版本,路径需填写正确,若填写错误,会导致脚本无法触发,奖励发放失败。
第三步,编写带领取条件的登陆奖励脚本(每日领取、首次登陆领取),满足不同玩法需求,在基础脚本的基础上添加条件判断指令,具体实例及说明如下,两种版本通用,重点修改奖励发放部分即可:
1. 每日登陆奖励(每天仅可领取1次,次日重置):核心是添加时间判断指令,记录玩家领取时间,避免重复领取,脚本实例:[@Login]#IFDAYOFWEEK 0-6CHECKDAY 1#ACTgive 100 200give 1002 1(强效太阳水)AddExp 20000SendMsg 7 【每日登陆】恭喜您领取今日登陆奖励,明日可再次领取!#ELSEACTSendMsg 7 【每日登陆】您今日已领取过登陆奖励,明日再来吧!
参数说明:DAYOFWEEK 0-6:表示一周7天均可领取,0为周日,6为周六;CHECKDAY 1:核心判断指令,判断玩家今日是否已领取奖励,1代表未领取,0代表已领取;#ELSEACT:否则执行,即玩家今日已领取奖励时,发送提示信息,不发放奖励;可根据需求调整奖励数量和道具,比如周末发放更多元宝。
2. 首次登陆奖励(玩家账号首次登陆游戏,仅领取1次):核心是添加账号首次登陆判断指令,脚本实例:[@Login]#IFCHECKACCOUNT 1#ACTgive 100 500give 1003 1(新手套装)AddExp 50000SendMsg 7 【首次登陆】恭喜您领取首次登陆奖励,祝您游戏愉快!#ELSEACTSendMsg 7 【首次登陆】您已领取过首次登陆奖励,后续可领取每日登陆奖励!
参数说明:CHECKACCOUNT 1:判断玩家账号是否为首次登陆,1代表首次登陆,0代表非首次;首次登陆奖励建议发放新手必备道具,帮助新手快速起步,道具编号和数量可根据服务端玩法调整。
3. 累计登陆奖励(累计登陆N天,领取对应奖励,可叠加每日奖励):需添加累计登陆天数判断,脚本实例(累计3天、7天分别领取不同奖励):[@Login]#ACT// 每日登陆奖励give 100 200AddExp 20000SendMsg 7 【每日登陆】恭喜您领取今日登陆奖励!#IFCHECKONLINE 3#ACTgive 100 500give 1004 1(高级道具)SendMsg 7 【累计登陆】恭喜您累计登陆3天,领取额外奖励!#IFCHECKONLINE 7#ACTgive 100 1000give 1005 1(稀有道具)SendMsg 7 【累计登陆】恭喜您累计登陆7天,领取稀有奖励!
参数说明:CHECKONLINE 3:判断玩家累计登陆天数为3天,可修改数字为任意天数;// 后面的内容为注释,不会影响脚本运行,用于标注指令作用,方便后续修改;累计登陆奖励可与每日登陆奖励叠加,提升玩家留存。
第四步,脚本参数补充及注意事项,避免因参数错误、格式问题导致脚本失效,这是新手最容易出错的地方,逐一明确:
1. 道具编号查询方法:打开服务端Mud2\DB\StdItems.DB,找到对应道具,查看“Idx”列的数字,即为道具编号,不可随意填写,比如元宝编号通常为100,疗伤药为1001,不同服务端可能有差异,需以自身服务端数据库为准。
2. 指令格式要求:所有指令需大写,比如@Login、#ACT、GIVE、ADDEXP,小写会导致脚本失效;符号需使用英文,比如逗号、括号、空格,中文符号会导致服务端无法识别,比如“,”改为“,”,“()”改为“()”。
3. 奖励数量设置:道具和元宝数量填写整数,不可填写小数;经验值可根据服务端等级设定调整,避免发放过多导致玩家等级失衡,比如新手阶段每日登陆发放10000-20000经验,后期可适当增加。
4. 多账号领取限制:若需限制同一IP仅可领取1次,可添加IP判断指令,脚本示例:#IFCHECKIP 1#ACT// 奖励发放指令#ELSEACTSendMsg 7 【登陆奖励】同一IP仅可领取1次奖励!
5. 脚本添加位置:若LoginScript.txt中已有其他[@Login]脚本,无需删除原有内容,将新编写的奖励脚本添加在原有脚本后面即可,避免覆盖原有登陆相关功能(如登陆提示、权限判断)。
第五步,脚本测试与排查,编写完成后,必须测试确认奖励可正常发放,避免上线后出现问题,核心测试步骤及常见问题解决方法如下:
1. 测试步骤:保存编写好的脚本,关闭记事本;重启服务端,确保服务端正常启动,无报错;用测试账号登陆游戏,查看聊天栏是否有奖励提示,打开背包确认道具、元宝是否到账,经验是否增加;测试不同领取条件(如每日领取、首次领取),确认符合条件可领取,不符合条件不发放。
2. 常见问题及解决方法:
(1)登陆后无奖励提示,道具未到账:大概率是脚本格式错误,检查指令是否大写、符号是否为英文,[@Login]、#ACT是否遗漏;若为特色版本,检查QFunction-0.txt路径是否正确,#CALL指令是否写错。
(2)奖励重复领取,无领取限制:检查条件判断指令是否添加正确,比如每日领取需添加CHECKDAY 1,首次领取需添加CHECKACCOUNT 1,遗漏判断指令会导致无限制领取。
(3)服务端启动报错,提示脚本错误:检查脚本中是否有多余空格、换行,或指令拼写错误,比如将AddExp写为Addexp,将give写为Give;删除多余空格和换行,修正指令拼写即可。
(4)部分奖励到账,部分不到账:检查道具编号是否正确,比如将1001(疗伤药)写错为101,导致道具无法发放;核对数据库中的道具编号,修正错误即可。
第六步,完整脚本实例汇总(可直接复制修改使用,适配不同需求),新手可直接套用,替换道具编号、数量、经验值即可:
1. 常规版本-基础无限制登陆奖励:[@Login]#ACTgive 100 100(元宝)give 1001 1(疗伤药)give 1002 1(强效太阳水)AddExp 10000SendMsg 7 【登陆奖励】恭喜您成功领取登陆奖励,祝您游戏愉快!
2. 常规版本-每日登陆奖励:[@Login]#IFDAYOFWEEK 0-6CHECKDAY 1#ACTgive 100 200give 1003 1(新手头盔)AddExp 20000SendMsg 7 【每日登陆】恭喜您领取今日登陆奖励,明日可再次领取!#ELSEACTSendMsg 7 【每日登陆】您今日已领取过登陆奖励,明日再来吧!
3. 特色版本-累计登陆奖励(搭配QFunction-0.txt):LoginScript.txt中添加:[@Login]#CALL [\Envir\QuestDiary\QFunction-0.txt] @LoginRewardQFunction-0.txt中添加:[@LoginReward]#ACT// 每日登陆奖励give 100 200AddExp 20000SendMsg 7 【每日登陆】恭喜您领取今日登陆奖励!#IFCHECKONLINE 3#ACTgive 100 500give 1004 1(高级武器)SendMsg 7 【累计登陆】恭喜您累计登陆3天,领取额外奖励!#IFCHECKONLINE 7#ACTgive 100 1000give 1005 1(稀有首饰)SendMsg 7 【累计登陆】恭喜您累计登陆7天,领取稀有奖励!
补充说明:所有实例中的道具编号、奖励数量、经验值,均可根据自身服务端玩法调整,比如将元宝改为金币,将道具改为装备;若服务端有特殊指令(如发放声望、荣誉值),可添加对应指令,比如AddRepute 10(发放10点声望);脚本编写完成后,建议多次测试,确保不同账号、不同领取条件均能正常触发,避免上线后出现问题。
另外,若需设置不同等级领取不同奖励,可添加等级判断指令,脚本示例:#IFLEVEL 1-30#ACTgive 100 100AddExp 10000#ELSEIFLEVEL 31-60#ACTgive 100 200AddExp 20000#ELSEACTgive 100 300AddExp 30000SendMsg 7 【登陆奖励】根据您的等级,发放对应登陆奖励!
等级判断指令中,LEVEL 1-30表示等级1到30级,可根据服务端等级上限调整区间,不同等级发放不同奖励,提升脚本灵活性,适配更多玩法需求。编辑脚本时,建议逐行编写,每编写完一段就保存一次,避免脚本丢失;若需修改奖励,直接修改对应指令中的道具编号、数量即可,无需修改整个脚本结构。