热血传奇新人上线送50000元宝脚本配置详解

来源: 作者: 点击:
新人上线送元宝功能通过修改登录脚本实现,核心文件为QManage.txt,位于服务器Mir200\Envir\Market_Def目录。该脚本在玩家登录时自动触发,检测新人身份并发放奖励。标准脚本段落如下:

[@Login]
IF

CHECKLEVELEX = 1
ACT

GAMEGOLD + 50000
SENDMSG 0 恭喜玩家<$USERNAME>首次登录,获得50000元宝奖励!
SENDMSG 0 恭喜玩家<$USERNAME>首次登录,获得50000元宝奖励!
SENDMSG 0 恭喜玩家<$USERNAME>首次登录,获得50000元宝奖励!
BREAK

脚本解析:第一行[@Login]为登录触发标签,系统在角色进入游戏时执行下方指令。#IF开始条件判断,CHECKLEVELEX = 1检测角色等级是否为1级,仅对新创建角色生效。#ACT开始执行动作,GAMEGOLD + 50000为增加50000元宝命令,元宝直接进入角色账户。SENDMSG 0向全服发送三条彩色公告,<$USERNAME>自动替换为当前角色名。BREAK终止当前脚本段,防止后续冲突。

文件定位与修改步骤。使用文本编辑器(Notepad++或系统自带记事本)打开QManage.txt。通过搜索功能查找“[@Login]”段落,通常位于文件前部。若已有[@Login]段,在其内部#IF-#ACT结构中添加上述代码;若不存在,在文件末尾新建段落。添加完成后保存文件,重启服务器使修改生效。部分版本登录脚本命名为QFunction-0.txt,同样位于Market_Def目录,修改方法相同。

多条件判断扩展。如需区分新老角色,避免重复发放,可增加检测变量:

[@Login]
IF

CHECKLEVELEX = 1
CHECK [500] 0
ACT

SET [500] 1
GAMEGOLD + 50000
SENDMSG 0 恭喜玩家<$USERNAME>首次登录,获得50000元宝奖励!
BREAK

CHECK [500] 0检测自定义变量[500]是否为0,表示未领取过奖励。SET [500] 1领取后标记为1,防止再次触发。该变量保存在角色数据中,永久有效。

奖励发放形式调整。元宝类型根据版本引擎命令有所差异,常见命令包括:GAMEGOLD(通用元宝)、GAMEDIAMOND(钻石元宝)、GAMEPOINT(游戏点数)。需确认版本元宝系统使用哪个变量,查看其他脚本中元宝增加命令即可确定。奖励物品可改为装备,如“give 屠龙 1”赠送一把屠龙。组合奖励示例:

ACT

GAMEGOLD + 50000
give 金条 10
give 荣誉勋章 1
SENDMSG 0 玩家<$USERNAME>获得新人礼包:50000元宝+10金条+荣誉勋章!

时间限制功能实现。如需开服前三天有效,添加日期判断:

IF

CHECKLEVELEX = 1
SMALL G90 < 4
ACT

GAMEGOLD + 50000

G90为系统开服天数变量,SMALL G90 < 4表示开服天数小于4(即前三天)。配合变量标记防止重复领取。

全服公告自定义。SENDMSG命令参数详解:SENDMSG 0为全服滚动公告,颜色取决于引擎设置。SENDMSG 1为顶部居中公告,SENDMSG 2为聊天框公告,SENDMSG 3为对话框公告。颜色代码可添加,如“SENDMSG 0 251恭喜玩家<$USERNAME>获得奖励!”251代表粉色。多条公告间隔时间由引擎控制,通常为2秒。

错误排查与调试。修改后无效首先检查文件路径是否正确,确认修改的是Mir200\Envir\Market_Def下的文件。检查脚本语法,确保#IF、#ACT、BREAK拼写正确,符号为英文半角。查看服务器启动时是否报错,M2控制台会显示脚本错误行号。测试时创建全新角色,已有角色可能不触发等级检测。若使用变量标记,注意变量范围,[500]为个人变量,G90为全局变量。

多版本引擎适配。HERO引擎使用“GAMEGOLD + 50000”。BLUE引擎使用“GAMEGOLD + 50000”。3KM2引擎使用“GAMEGOLD + 50000”。LEGEND引擎使用“GAMEGOLD + 50000”。部分老版本使用“GAMEGOLD + 50000”或“CREDITPOINT + 50000”。需根据M2引擎类型调整命令,查看其他功能脚本参考相同引擎写法。

防刷机制加强。增加IP限制防止同一IP多角色领取:

IF

CHECKLEVELEX = 1
CHECKIPLIST ..\QuestDiary\已领IP.txt
ACT

ADDIPLIST ..\QuestDiary\已领IP.txt
GAMEGOLD + 50000

CHECKIPLIST检测IP是否在已领列表,ADDIPLIST将IP加入列表。需在QuestDiary目录创建“已领IP.txt”文件。

领取记录查询。添加日志记录功能:

ACT

GAMEGOLD + 50000
SENDMSG 0 恭喜玩家<$USERNAME>获得50000元宝!
ADDNAMELIST ..\QuestDiary\领取记录.txt

ADDNAMELIST将角色名加入记录文件,便于管理员查看。文件自动创建,每行一个角色名。

高级触发条件。结合账号注册时间,仅限开服后注册的新账号:

IF

CHECKLEVELEX = 1
CHECKACCOUNTLIST ..\QuestDiary\新账号.txt
ACT

GAMEGOLD + 50000

需配合注册脚本将新账号写入“新账号.txt”。自动清理过期记录可通过定时任务删除早期账号。

界面提示优化。增加私人提示信息:

ACT

GAMEGOLD + 50000
SENDMSG 6 您已获得50000元宝新人奖励,请查收!
SENDMSG 0 全服公告...

SENDMSG 6发送到角色聊天框,仅自己可见。可添加详细使用说明。

批量修改方法。如需多个地图区域触发,在对应地图商人脚本添加相同代码。例如土城安全区脚本N_001.txt中添加[@Login]段,但建议统一在QManage.txt管理,避免重复发放。

测试验证流程。修改脚本后保存,重启服务器。创建1级新角色进入游戏,查看元宝数量是否增加。查看M2控制台有无报错信息。检查公告是否正常发送。领取后小退再上线,确认不会重复获得。记录日志文件是否正常生成。

通过以上配置实现稳定可靠的新人元宝发放。核心在于正确编辑登录触发脚本,根据版本调整命令格式,添加防刷机制确保系统稳定。实际部署前在测试环境验证所有功能。