一、核心脚本代码(QManage.txt)
服务端路径:MirServer\Mir200\Envir\QuestDiary\QManage.txt。打开文件,找到 [@Login] 段落(玩家登录触发),添加以下代码:
[@Login]
#IF
ISNEWHUMAN
#ACT
GAMEGOLD + 50000
SENDMSG 0 欢迎新玩家【%s】降临,获得50000元宝新手福利!
BREAK
命令解析:
• #IF ISNEWHUMAN:检测是否为新建角色(首次登录),防止老玩家重复领取。
- GAMEGOLD + 50000:增加50000元宝(部分引擎用 GAMEGOLD + 50000 或 GAMEDIAMOND + 50000)。
- SENDMSG 0:全服公告,%s 自动替换为玩家名。
• BREAK:终止后续判断,防止与其他脚本冲突。
二、不同引擎的语法差异
GOM/GEE引擎(主流):使用 GAMEGOLD + 50000 或 GAMEPOINT + 50000。
BLUE/HERO引擎:使用 GAMEGOLD + 50000。
HGE/翎风引擎:部分版本需用 CREDITPOINT + 50000(积分当元宝)。
若不确定引擎类型,先在M2-查看-列表信息-游戏命令中搜索“元宝”确认命令名。
三、防刷机制与变量限制
防止无限刷元宝:ISNEWHUMAN 仅对新角色生效一次。若需“全服玩家上线即送”(无视新旧),删除 #IF ISNEWHUMAN 和 BREAK,但需在 #IF 中加等级限制(如 CHECKLEVELEX < 10),避免满级号反复小退刷元宝。
个人变量防重复:更严谨的写法是结合个人变量,确保每人只领一次:
#IF
CHECK [100] 0
#ACT
SET [100] 1
GAMEGOLD + 50000
(注:[100] 为自定义变量,需在 MapQuest_def 中初始化)
四、常见错误与排查
1. 元宝未到账:检查M2是否报脚本错误;确认 QManage.txt 路径正确;检查引擎的“元宝名称”是否与脚本命令匹配(如误用 GOLD 给的是金币)。
2. 脚本报错:确保 #IF 和 #ACT 成对出现,命令与参数间有空格(GAMEGOLD+50000 会报错,必须写 GAMEGOLD + 50000)。
3. 生效测试:修改脚本后,必须重启M2Server或点击“重新加载脚本”,新建角色测试(老角色因 ISNEWHUMAN 限制无法触发)。
注意:若版本已有新手脚本,只需在对应 #ACT 段内插入 GAMEGOLD + 50000 即可,无需重复写 [@Login] 标签。

