当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服登录奖励脚本制作全流程及实操技巧

热度:
传奇服登录奖励脚本核心是依托登录触发标签、变量标记与条件判断,实现每日奖励、首次登录奖励等功能,以下是具体编写方法、脚本框架及注意事项。

一、登录奖励脚本核心逻辑与触发方式

1.核心逻辑

脚本遵循“登录触发-状态校验-奖励发放-标记更新”流程,通过登录标签捕捉角色登录行为,用变量记录奖励领取状态,校验角色是否满足领取条件(登录天数、是否首次登录等),达标后发放奖励并更新变量,避免重复领取。

2.核心触发方式

登录奖励脚本需绑定专属触发标签,适配不同需求场景,所有引擎通用核心标签如下:

-@Login标签:角色每次登录(含小退、大退重新登录)都会执行该标签下脚本,适用于每日登录奖励、登录弹窗提示等高频触发功能,是登录奖励脚本的核心触发标签。

-@Startup标签:仅在引擎启动时执行一次,适用于全服统一登录奖励配置初始化,无需角色触发,多用于设置奖励基础参数。

脚本文件默认写入QManage.txt,该文件是传奇服核心脚本文件,所有登录相关触发逻辑均需在此配置,确保引擎加载时能识别执行。

二、关键命令及用法

脚本依赖触发标签、变量操作、奖励发放、提示反馈四类命令,不同引擎(HERO、GOM、GEE)命令格式略有差异,以下为通用版用法,需对照引擎手册微调。

-变量操作命令:SETROLEVAR角色名变量名数值(绑定角色永久变量,记录领取状态,下线不丢失)、CHECKROLEVAR角色名变量名数值(校验角色变量值),如用“LoginRewardDay”记录领取日期、“FirstLoginFlag”标记是否首次登录。

-奖励发放命令:GIVE物品名称数量(发放道具)、ADDMONEY数值(发放金币)、ADDHPMAX数值(提升生命值上限),可按需组合发放道具、货币、属性加成。

-时间判断命令:GETDATE变量名(获取当前日期,格式为年月日)、DIFFTIME变量1变量2结果变量(计算日期差值),用于每日登录奖励的日期校验。

-提示反馈命令:SENDMSG颜色代码内容(界面文字提示)、OPENDIALOG对话框编号(弹出奖励弹窗),常用颜色代码2为绿色(成功提示)、6为红色(异常提示)。

三、不同场景脚本完整框架

1.每日登录奖励脚本(最常用)

功能:角色每日首次登录可领取固定奖励,次日重置领取权限,需通过日期变量实现每日校验。

1.//每日登录奖励脚本(写入QManage.txt的@Login标签下)

2.GETDATECurrentDate//获取当前日期,存储到变量CurrentDate

3.CHECKROLEVAR$USERNAMELoginRewardDayCurrentDate//校验当日是否已领取奖励

4.IFNOTERROR//已领取奖励

5.SENDMSG2今日登录奖励已领取,明日可再次领取!

6.GOTOEND//终止脚本

7.//未领取奖励,执行发放逻辑

8.SENDMSG2欢迎登录,领取今日登录奖励!

9.GIVE强效太阳水5//发放5瓶强效太阳水

10.ADDMONEY5000//发放5000金币

11.SETROLEVAR$USERNAMELoginRewardDayCurrentDate//记录当日日期,标记已领取

12.OPENDIALOG101//弹出奖励弹窗(需提前配置弹窗界面)

13.END://脚本结尾

2.首次登录奖励脚本

功能:角色创建后首次登录发放新手福利,仅可领取一次,通过标记变量锁定领取权限。

1.//首次登录奖励脚本(写入QManage.txt的@Login标签下)

2.CHECKROLEVAR$USERNAMEFirstLoginFlag1//校验是否已领取首次奖励

3.IFNOTERROR//已领取

4.GOTOEND//直接终止脚本,不重复执行

5.//未领取,发放新手奖励

6.SENDMSG2恭喜首次登录,获得新手专属福利!

7.GIVE布衣1//发放新手服装

8.GIVE木剑1//发放新手武器

9.ADDHP200//临时增加200生命值

10.SETROLEVAR$USERNAMEFirstLoginFlag1//标记为已领取,永久锁定

11.END://脚本结尾

3.累计登录奖励脚本

功能:累计登录指定天数可领仍应档位奖励,需新增累计天数变量记录登录次数。

1.//累计登录奖励脚本(写入QManage.txt的@Login标签下)

2.GETDATECurrentDate

3.CHECKROLEVAR$USERNAMELoginRewardDayCurrentDate//校验当日是否已累计天数

4.IFNOTERROR

5.GOTOCHECK_REWARD//跳转至奖励校验环节

6.//当日未累计,更新天数变量

7.CHECKROLEVAR$USERNAMELoginTotalDay0//校验是否为首次累计

8.IFERROR//首次累计,初始化变量

9.SETROLEVAR$USERNAMELoginTotalDay1

10.ELSE//非首次,天数+1

11.INCROLEVAR$USERNAMELoginTotalDay1//累计天数加1

12.SETROLEVAR$USERNAMELoginRewardDayCurrentDate//标记当日已累计

13.//奖励档位校验与发放

14.CHECK_REWARD:

15.GETROLEVAR$USERNAMELoginTotalDayTotalDay//获取累计天数

16.IFTotalDay==3//累计3天奖励

17.GIVE金币包1//发放金币包

18.SENDMSG2累计登录3天,获得累计登录奖励!

19.ELSEIFTotalDay==7//累计7天奖励

20.GIVE初级勋章1//发放初级勋章

21.SENDMSG2累计登录7天,获得专属勋章奖励!

22.END://脚本结尾

四、脚本配置与调试要点

1.脚本配置步骤

1.文件定位:找到服务器安装目录下的MirServer\Mir200\Envir文件夹,打开QManage.txt文件。

2.标签绑定:在文件中找到@Login标签(无则手动添加),将编写好的脚本粘贴至标签下方。

3.参数适配:替换脚本中的物品名称、数值、对话框编号,确保与服务器数据库中的数据一致。

4.引擎重启:保存文件后,重启传奇引擎,使脚本配置生效,未重启则脚本无法被加载执行。

2.常见问题排查

-奖励无法领取:检查@Login标签是否正确添加,变量名称是否拼写一致,部分引擎需给变量添加前缀(如G_、H_),需对照手册调整。

-重复领取奖励:日期变量格式错误,或未正确执行SETROLEVAR命令,需添加调试提示(如SENDMSG2变量值:{CurrentDate}),核对变量赋值是否正确。

-提示不显示:SENDMSG命令颜色代码超出范围(正常0-255),或脚本执行流程被提前终止,检查GOTOEND命令的位置是否合理。

-弹窗无法弹出:对话框编号未配置,需在界面配置文件中添加对应编号的弹窗布局,确保界面元素与脚本参数匹配。

五、进阶拓展与实操建议

1.功能拓展方向

可按需添加奖励预览、档位切换、逾期补领功能。奖励预览通过弹窗界面展示当日及累计奖励;档位切换针对不同VIP等级设置差异化奖励,需新增VIP等级校验命令;逾期补领需存储未领取天数,搭配道具消耗实现补领,仅需补充变量逻辑与条件判断即可。

2.实操注意事项

1.变量规范:变量命名需直观(如LoginTotalDay代表累计天数),避免使用特殊字符,同时做好脚本注释,便于后续维护修改。

2.数据备份:修改QManage.txt前需备份原始文件,若配置错误可快速恢复,避免影响服务器正常运行。

3.多引擎适配:HERO引擎变量命令需加“H_”前缀,GOM引擎支持弹窗自定义,需根据所用引擎调整命令格式,优先查阅对应引擎手册。

4.批量测试:脚本配置完成后,用多个测试角色模拟不同场景(首次登录、每日登录、累计登录),验证奖励发放、状态标记是否正常,排查逻辑漏洞。
[顶部]