传奇机器人脚本清除沙巴克占领信息 每天00:00自动执行

来源: 作者: 点击:
传奇通过机器人脚本实现每天00:00自动清除沙巴克占领信息,核心是编写清除沙巴克占领数据的脚本命令,绑定机器人定时执行功能,无需手动操作,不同引擎(Hero、GOM、GEE、3km2)操作路径略有差异,但核心逻辑一致,均需完成“脚本编写→定时绑定→验证生效”三步,以下是详细操作,直奔主题,无冗余,新手可直接跟着操作。
首先明确核心前提:沙巴克占领信息主要存储在服务端指定配置文件中,清除占领信息本质是通过机器人脚本自动清空对应文件内容、重置占领参数,无需删除文件本身。机器人脚本需放在服务端对应脚本目录,定时功能通过机器人配置文件绑定00:00执行,所有操作需在服务端关闭状态下修改,修改后重启服务端生效,避免文件冲突导致脚本失效。
核心准备工作(所有引擎通用,缺一不可)
1. 确认服务端机器人功能已开启:打开传奇服务端根目录,找到“Mir200”→“Envir”→“Robot_def”文件夹,查看是否存在“AutoRunRobot.txt”(机器人定时配置文件)和“RobotManage.txt”(机器人脚本文件),这两个文件是实现定时清除功能的核心,若缺失,需从完整服务端安装包中复制对应文件,放在该目录下,确保机器人功能可正常运行。
2. 定位沙巴克占领信息存储文件:沙巴克占领信息主要存储在两个核心文件中,所有引擎通用路径如下:一是“Mir200\Castle”文件夹下的“SabukW.txt”(存储沙巴克占领行会、城主信息)和“AttackSabukWall.txt”(存储攻城相关记录);二是部分引擎会在“Mir200\GuildBase\Guilds”文件夹下存储行会占领关联数据,清除时需同步处理,避免残留占领信息。
3. 准备脚本编辑工具:用系统自带的记事本即可,无需额外下载编辑工具,编辑时确保编码格式为“ANSI”,避免中文乱码导致脚本无法执行,编辑完成后保存,不要修改文件后缀名。
第一步:编写沙巴克占领信息清除脚本(所有引擎通用,核心步骤)
脚本核心功能是清空沙巴克占领相关文件内容、重置占领参数,无需复杂代码,直接复制对应命令,根据自身引擎微调即可,具体脚本编写步骤如下:
1. 打开“Mir200”→“Envir”→“Robot_def”文件夹,找到“RobotManage.txt”文件,用记事本打开,该文件是机器人脚本的核心存储文件,所有自定义机器人脚本均需在此编写。
2. 在文件末尾空白处,添加清除沙巴克占领信息的脚本,脚本命令分基础版(适合所有引擎)和完整版(适配多引擎,清除更彻底),新手优先使用基础版,操作简单,不易出错。
基础版脚本(核心命令,必加):
(@ClearSabukOwner)
#IF
#ACT
ClearFile Mir200\Castle\SabukW.txt
ClearFile Mir200\Castle\AttackSabukWall.txt
WriteFile Mir200\Castle\SabukW.txt OwnGuild=
WriteFile Mir200\Castle\SabukW.txt CastleName=沙巴克
; 清空沙巴克占领文件,重置占领参数,确保无残留占领信息
完整版脚本(适配Hero、GOM、GEE引擎,清除更彻底):
(@ClearSabukOwner)
#IF
#ACT
ClearFile Mir200\Castle\SabukW.txt
ClearFile Mir200\Castle\AttackSabukWall.txt
ClearDir Mir200\GuildBase\Guilds
WriteFile Mir200\Castle\SabukW.txt OwnGuild=
WriteFile Mir200\Castle\SabukW.txt CastleName=沙巴克
WriteFile Mir200\Castle\AttackSabukWall.txt ""
; 清空沙巴克占领文件、行会关联数据,重置城堡名称,彻底清除占领痕迹
3. 脚本说明:@ClearSabukOwner是脚本触发标识(可自定义,如@ClearSabuk,但需与后续定时配置一致);ClearFile命令用于清空指定文件内容,不删除文件本身;ClearDir命令用于清空指定文件夹下的关联数据(部分引擎需此命令);WriteFile命令用于重置SabukW.txt文件的核心参数,确保沙巴克恢复无占领状态,避免出现异常。
4. 编辑完成后,按下Ctrl+S保存文件,关闭记事本,注意不要修改文件中已有的其他脚本内容,避免影响机器人其他功能正常运行。
第二步:绑定机器人定时功能,设置每天00:00自动执行(分引擎操作)
脚本编写完成后,需通过“AutoRunRobot.txt”文件绑定定时任务,设置每天00:00自动触发清除脚本,不同引擎定时命令略有差异,分引擎详细说明,新手可根据自身服务端引擎选择对应操作。
一、Hero引擎(最常用,操作最简单)
1. 打开“Mir200”→“Envir”→“Robot_def”文件夹,找到“AutoRunRobot.txt”文件,用记事本打开,该文件用于设置机器人定时执行的脚本。
2. 在文件末尾添加定时命令,命令格式:#AutoRun NPC RUNONDAY 00:00:00 @ClearSabukOwner
3. 命令说明:RUNONDAY代表每天执行,00:00:00是执行时间,@ClearSabukOwner是第一步编写的清除脚本标识,确保与脚本中的标识完全一致,不能多字、少字或错字。
4. 若想添加执行提示(可选),可在定时命令下方添加:#AutoRun NPC RUNONDAY 00:00:05 @SendSystemMsg 沙巴克占领信息已自动清除,这样每天00:00:05会全服发送提示,确认脚本执行成功。
5. 保存文件并关闭记事本,定时绑定完成,后续服务端运行时,每天00:00会自动执行清除脚本。
二、GOM/GEE引擎(操作与Hero类似,命令略有差异)
1. 打开“Mir200”→“Envir”→“Robot_def”→“AutoRunRobot.txt”文件,用记事本打开,GOM/GEE引擎定时命令需添加“HOUR”参数,确保定时精准。
2. 在文件末尾添加定时命令,命令格式:#AutoRun NPC HOUR 00:00:00 @ClearSabukOwner
3. 补充说明:部分GEE引擎需在命令前添加“;”注释符(格式:; #AutoRun NPC HOUR 00:00:00 @ClearSabukOwner),具体可参考AutoRunRobot.txt文件顶部的命令说明,避免命令无效。
4. 若服务端有“机器人脚本编辑器”(部分GOM/GEE引擎自带),可双击打开编辑器,找到“定时任务”选项,点击“添加”,选择“每天”,设置时间为00:00,脚本标识填写@ClearSabukOwner,点击保存,无需手动修改配置文件,更便捷。
5. 保存文件,关闭编辑器,定时任务绑定完成,重启服务端后生效。
三、3km2引擎(需同步设置引擎定时参数)
1. 打开“Mir200”→“Envir”→“Robot_def”→“AutoRunRobot.txt”文件,添加定时命令:#AutoRun NPC RUNONDAY 00:00:00 @ClearSabukOwner,与Hero引擎命令一致。
2. 额外步骤:打开3km2引擎主程序(MirServer.exe),点击顶部菜单栏“选项”→“机器人设置”,勾选“启用定时机器人脚本”,确保机器人定时功能开启,否则脚本无法自动执行。
3. 在机器人设置窗口中,核对“定时脚本执行间隔”设置为1秒,避免因间隔过长导致脚本执行延迟,设置完成后点击“保存”,关闭引擎主程序。
4. 保存AutoRunRobot.txt文件,定时绑定完成,重启服务端后,每天00:00会自动触发清除脚本。
第三步:验证脚本执行效果(关键步骤,避免脚本失效)
脚本编写和定时绑定完成后,需验证是否能正常执行,避免因命令错误、路径错误导致无法清除沙巴克占领信息,验证步骤如下,所有引擎通用:
1. 手动触发验证(快速验证脚本正确性):
(1)启动传奇服务端(按“数据库→网关→引擎”的顺序启动),确保无报错提示,机器人功能正常开启。
(2)启动登录器,进入游戏,使用GM账号登录(需拥有GM权限),在游戏聊天框输入“@ClearSabukOwner”(与脚本标识一致),按下回车。
(3)退出游戏,打开服务端“Mir200\Castle”文件夹,找到SabukW.txt和AttackSabukWall.txt文件,用记事本打开,若SabukW.txt文件中只有“OwnGuild=”和“CastleName=沙巴克”,AttackSabukWall.txt文件为空,说明脚本执行成功,清除功能正常。
2. 定时执行验证(确认00:00自动执行):
(1)先手动让某个行会占领沙巴克,确保SabukW.txt文件中存在占领行会信息(OwnGuild=行会名称)。
(2)保持服务端正常运行,等待至00:00(或修改系统时间至00:00前1分钟,快速测试)。
(3)到点后,打开SabukW.txt和AttackSabukWall.txt文件,查看是否已被清空并重置,若已恢复无占领状态,说明定时脚本正常执行;若未变化,检查定时命令和脚本标识是否一致、机器人功能是否开启。
常见问题及快速解决(新手必看,避免卡壳)
1. 脚本无法手动触发:核心原因是脚本标识错误(如@ClearSabukOwner写错)、脚本命令格式错误(如缺少#IF、#ACT),重新打开RobotManage.txt文件,核对脚本标识和命令格式,确保与教程一致,保存后重启服务端再测试。
2. 定时到点不执行:一是AutoRunRobot.txt文件中的定时命令错误,如时间格式写错(00:00写成0:00)、缺少RUNONDAY/HOUR参数;二是机器人功能未开启,检查Robot_def文件夹是否有对应配置文件,3km2引擎需额外在引擎中开启定时功能;三是服务端未正常运行,确保服务端全程处于运行状态,不要中途关闭。
3. 清除后仍有占领痕迹:未清空行会关联数据,需在脚本中添加ClearDir Mir200\GuildBase\Guilds命令,同时检查是否有其他存储沙巴克占领信息的文件(如部分引擎的Castle\0文件夹下的相关文件),添加对应ClearFile命令。
4. 脚本执行后服务端异常关闭:脚本中命令路径错误(如将Mir200写成Mir20),重新核对文件路径,确保ClearFile、WriteFile命令中的路径与服务端实际路径一致,避免路径错误导致文件损坏。
5. 中文乱码导致脚本失效:编辑脚本时编码格式错误,关闭记事本,重新打开时选择“编码→ANSI”,重新编写脚本并保存,避免中文乱码。
额外操作细节(贴合实际架设场景,避免出错)
1. 脚本编写前,建议备份RobotManage.txt和AutoRunRobot.txt文件,若修改错误,可直接替换备份文件,避免机器人功能异常。
2. 所有文件路径均为相对路径,无需填写完整磁盘路径(如D:\Mirserver\Mir200),直接填写Mir200\Castle即可,避免路径错误。
3. 若服务端有多个沙巴克相关文件(如部分版本有SabukW.bak备份文件),无需额外编写命令,脚本仅需处理SabukW.txt和AttackSabukWall.txt即可,备份文件不影响占领信息显示。
4. 定时脚本执行时,服务端需处于正常运行状态,若服务端中途关闭,当天00:00将无法执行清除操作,重启服务端后,第二天00:00会正常执行。
5. 可根据需求修改执行时间,如想设置每天23:59清除,只需将定时命令中的00:00:00改为23:59:00,脚本标识和命令无需修改,保存后重启服务端即可。
传奇通过机器人脚本实现每天00:00清除沙巴克占领信息,核心就是编写清除脚本、绑定定时任务,操作难度低,无需专业脚本知识,新手只需按步骤编写脚本、核对命令和路径,完成验证后,即可实现自动清除,无需每天手动操作。
若遇到脚本无法执行、定时失效等问题,可优先检查脚本标识、定时命令和文件路径,多数问题均可通过核对修改解决;若服务端引擎版本特殊,可查看服务端安装包中的机器人脚本说明文档,对照调整脚本命令,确保与引擎版本适配。