一、传奇跑沙机器人脚本核心说明
传奇跑沙机器人脚本,是依托M2引擎机器人机制运行的自动化指令脚本,无需人工值守、无需后台操作,可按设定时间自动执行沙巴克相关操作,本次核心用途是实现每日0点自动清除沙巴克占领信息,重置沙城归属状态,让攻城玩法每日循环开启。
该脚本依托引擎内置机器人定时器触发,不改动底层数据,仅通过标准指令重置沙城占领标识、行会归属、城主信息,清除后沙巴克恢复无占领状态,次日可正常开启攻城报名、攻城对战,适配主流传奇M2引擎,部署路径固定、语法通用。
二、沙巴克清除机器人脚本完整编写
1. 机器人主脚本代码(Robot_ResetShaba.txt)
[Robot]
;机器人名称,自定义不重复即可
Name = 沙城清空机器人
;机器人类型,定时执行类
Type = 10
;绑定地图,随便选安全地图即可
Map = 3
;出生坐标,不影响执行
X = 300
Y = 300
;定时执行时间,0点整触发
Hour = 0
Minute = 0
Second = 0
;执行间隔,每日执行
Interval = 86400
;执行脚本路径与触发段
CallScript = ..\QuestDiary\沙城系统\清空沙城归属.txt @ResetCastleOwner
2. 沙城清空执行脚本代码(清空沙城归属.txt)
[@ResetCastleOwner]
#ACT
;清除沙巴克占领行会信息
ClearCastleOwner
;清除沙城主城标识
ResetCastleFlag
;清除沙城占领时间记录
ClearCastleDate
;全服广播清空提示
SENDMSG 0 系统已重置沙巴克占领信息,沙城归属已清空,可报名新一轮攻城
;刷新沙城雕像与界面信息
RefreshCastleInfo
#ELSEACT
SENDMSG 0 沙巴克占领信息重置失败,请检查脚本路径与权限
三、机器人脚本部署存放步骤
第一步,在服务端根目录找到Mir200\Envir\Robot文件夹,该目录为引擎默认机器人脚本存放路径,新建文本文档,将上述机器人主脚本代码粘贴进去,重命名为Robot_ResetShaba.txt,注意文件名无中文乱码、无特殊符号,编码格式保存为ANSI。
第二步,在Mir200\Envir\QuestDiary目录下新建沙城系统文件夹,新建文本文档,粘贴沙城清空执行脚本代码,重命名为清空沙城归属.txt,确保路径与机器人脚本内CallScript参数完全一致,不出现路径错位、文件名写错问题。
第三步,检查文件权限,右键两个脚本文件,取消只读属性,赋予服务端进程完全读取、写入权限,避免引擎无法调用脚本导致执行失败,文件存放完成后,关闭所有文本编辑器,防止文件占用无法加载。
四、机器人加载与定时触发设置
打开M2引擎控制面板,找到机器人管理或定时任务选项,点击加载机器人按钮,引擎会自动扫描Robot目录下的脚本文件,加载完成后在机器人列表中查看沙城清空机器人状态,显示正常即加载成功。
核对定时参数,确认Hour=0、Minute=0,代表每日0点整触发,Interval=86400代表间隔24小时重复执行,无需手动修改默认参数,引擎会按设定时间自动调用执行脚本,无需开启额外插件、无需设置额外触发条件。
若引擎支持热加载机器人,可直接点击加载生效;不支持热加载的引擎,需重启M2引擎,让脚本配置完全生效,重启后查看引擎日志,确认机器人注册成功、定时任务绑定正常。
五、跑沙关联脚本配套设置
为保证跑沙流程顺畅,沙城清空后需同步重置攻城报名状态,在执行脚本中添加报名重置指令,避免出现无法报名、报名数据异常问题。在@ResetCastleOwner段内新增以下指令:
;重置攻城报名状态
ClearCastleSignUp
;清空报名行会列表
ResetSignUpGuild
;开启新一轮攻城报名
OpenCastleSignUp
同时调整沙城雕像显示脚本,清空后自动显示“无占领行会”,替换原有城主、行会名称,确保客户端界面显示与服务端数据同步,玩家登录后可直观看到沙城重置状态。
六、脚本执行测试与验证方法
1. 即时测试(非0点调试)
修改机器人脚本内Hour、Minute参数,设置为当前时间往后推1-2分钟,保存脚本后重新加载机器人,等待设定时间到达,观察引擎日志是否显示脚本调用成功,查看游戏内沙城归属是否清空,全服是否收到广播提示。
2. 状态验证
测试完成后,打开M2引擎沙城管理界面,查看占领行会、城主名称、占领时间是否为空;登录游戏查看沙城雕像、地图标识、行会称号是否重置,攻城报名界面是否可正常操作,确认所有数据重置到位。
3. 定时测试
即时测试无误后,将机器人脚本时间改回Hour=0、Minute=0,保存并重新加载,等待次日0点,查看是否自动执行清空操作,验证每日循环执行是否正常。
七、常见问题排查与解决
1. 机器人不加载、列表无显示
排查原因:脚本存放路径错误、文件名格式错误、编码非ANSI、语法缺失。解决方法:移至Robot目录,修正文件名,另存为ANSI编码,补齐脚本标签与参数,重新加载。
2. 0点不执行清空操作
排查原因:定时参数错误、引擎定时器异常、脚本路径错位。解决方法:核对时分秒参数,重启引擎定时器,修正CallScript路径,确保执行脚本存在。
3. 执行后沙城归属未清空
排查原因:指令不兼容当前引擎、权限不足、数据锁定。解决方法:更换对应引擎的清空指令,赋予脚本完全权限,解除沙城数据锁定,重新执行脚本。
4. 广播提示发出但数据未变
排查原因:执行指令写错、刷新指令缺失。解决方法:核对ClearCastleOwner等指令拼写,添加RefreshCastleInfo刷新指令,重启引擎测试。
八、脚本部署与运行避坑要点
- 脚本文件必须保存为ANSI编码,中文乱码会导致指令失效,严禁用UTF-8带BOM格式保存
- 机器人名称不可重复,避免与其他定时机器人冲突,导致任务被覆盖、不执行
- 路径参数严格区分正反斜杠,传奇引擎默认用反斜杠\,路径前后无多余空格、符号
- 修改脚本后必须重新加载机器人或重启引擎,不支持热更,修改后不加载则不生效
- 测试阶段优先用即时调试,确认无误再改回0点定时,避免直接定时无法排查问题
- 定期备份脚本文件,引擎更新、服务端迁移后,重新核对路径与加载状态

