RobotManage.txt 通常位于 Mir200\Envir\Robot_def 目录,和同目录 AutoRunRobot.txt 配合使用。AutoRunRobot.txt 负责按时间触发标签,RobotManage.txt 负责写触发后执行的具体文本命令、刷怪命令、变量处理和其他动作。Robot.txt 一般放在 Mir200\Envir,用于登记机器人名称与脚本名称,使系统机器人可调用对应定时脚本。
一、文件分工与基本结构
AutoRunRobot.txt 示例:
AutoRun NPC SEC 10 @文本广播
AutoRun NPC MIN 5 @滚动公告
AutoRun NPC HOUR 1 @整点提醒
AutoRun NPC RUNONDAY 12:00:00 @午间活动
AutoRun NPC RUNONWEEK 5:15:55 @周五特惠
SEC 按秒,MIN 按分,HOUR 按小时,DAY 按天,RUNONDAY 按每天指定时间,RUNONWEEK 按星期几加时间。RUNONDAY 后面写时:分:秒,RUNONWEEK 后面写星期:时:分:秒,星期可用 1 到 7 对应周一到周日,不同引擎说明可能略有差异。
RobotManage.txt 对应标签示例:
[@文本广播]
IF
ACT
SENDMSG 0 服务器常规提示内容
[@滚动公告]
IF
ACT
SendScrollMsg 顶部滚动公告第一行 251 191
SendScrollMsg 顶部滚动公告第二行 251 191
[@午间活动]
IF
ACT
SENDMSG 1 午间活动已开启,请前往土城报名
标签名 @文本广播、@滚动公告、@午间活动 必须与 AutoRunRobot.txt 调用的标签完全一致,包括中英文、数字、下划线和点号。大小写不一致、多空格、少括号都会导致不触发。
二、SENDMSG文本广播参数
标准格式:
SENDMSG 类型 内容
类型常用值按引擎不同会有差别,热血类常见写法如下:
0 表示全服普通系统文字,通常在聊天栏或系统消息区显示。
1 表示全服红字警告或重点广播,活动开启、BOSS刷新、合服通知常用。
5 或 7 等数值在某些引擎用于普通提示、私人提示、特定颜色消息,具体编号以所用引擎命令说明为准。
示例:
SENDMSG 0 欢迎来到游戏,遇到BUG请提交管理员
SENDMSG 1 祖玛教主已在祖玛七层刷新,请玩家前往
SENDMSG 5 您已触发日常检测,系统将在数秒后执行
带玩家名变量:
SENDMSG 1 %s 已上线,请好友互相组队
%s 表示当前触发环境里的角色名。机器人脚本如果通过 GMEXECUTE 开始提问再转到 QManage 或其他功能脚本处理,%s 的生效范围要看具体调用链;纯 RobotManage 定时广播不一定能直接拿到某玩家名,需要用变量、在线列表命令或改到登录脚本里写。
带换行与重复提示:
SENDMSG 1 行会争霸10分钟后开启
SENDMSG 1 行会争霸10分钟后开启
重复写两行可加强提示,但频率过高会刷屏。整点公告建议每分钟不超过一次,世界BOSS提示建议在刷新前5分钟、3分钟、1分钟各一次。
三、SendScrollMsg顶部滚动文本参数
BLUE、LEG等部分引擎可用滚动公告,格式示例:
SendScrollMsg 内容 颜色 速度
示例:
SendScrollMsg 本服每晚20点攻城,提前30分钟入场 251 191
SendScrollMsg 充值比例与活动详情请看官网公告 249 200
颜色参数通常为数值色号,速度参数影响滚动快慢。不同引擎字段顺序可能写成颜色、间隔、重复次数或速度,修改后要在M2重启或重新加载机器人脚本时观察顶部文字是否出现。
若顶部不显示,先检查:AutoRunRobot是否调用了对应标签;RobotManage标签是否拼写一致;M2参数里滚动公告开关是否开启;颜色速度数值是否超出引擎支持范围。
四、文本中刷怪相关参数
RobotManage里做定时刷怪,常配合 MISSION、PARAM1、PARAM2、PARAM3、PARAM4、MOBPLACE、MonGen 等命令。
MISSION格式:
MISSION 地图号 X Y
用于设定怪物集中或任务坐标,使刷出的怪按任务点聚拢。示例:
MISSION 3 330 330
表示地图编号3,坐标330,330作为任务集合点。
PARAM1、PARAM2、PARAM3、PARAM4配合MOBPLACE:
PARAM1 X
PARAM2 Y
PARAM3 数量
PARAM4 范围
MOBPLACE 怪物名 内功标识
示例:
MISSION 3 330 330
PARAM1 360
PARAM2 340
PARAM3 10
PARAM4 1
MOBPLACE 双头金刚 0
上面表示在任务地图以360,340附近为基准,范围1,刷10只双头金刚,0表示非内功怪。若内功怪物支持,可把最后一位改成1。
使用MonGen直接刷:
MonGen 地图号 怪物名 数量 范围 间隔
部分写法也用:
Param1 地图号
Param2 X
Param3 Y
MonGen 怪物名 数量 范围
示例:
Param1 3
Param2 355
Param3 335
MonGen 复古教主 1 1
表示在地图3的355,335附近,范围1,刷1只复古教主。BOSS类建议数量1到3,小怪可按地图承载写20到100。
刷怪后广播:
[@BOSS刷新]
IF
ACT
Param1 3
Param2 355
Param3 335
MonGen 复古教主 1 1
SENDMSG 1 土城外怪物复古教主已经刷新,请玩家前往
五、变量与文本拼接参数
RobotManage可使用A变量、S变量、字符串变量做文本动态播报。
MOV A0 0
MOV A1 <$STR(A0)>
SENDMSG 0 当前计数:<$STR(A0)>
<$STR(变量名)>用于把变量转成文本。A开头通常是全局临时变量,M开头、N开头、S开头按引擎用途不同,有的用于个人、有的用于全局、有的用于脚本临时传递。
示例做整点累计广播:
[@整点提醒]
IF
ACT
MOV A10 <$STR(A10)>
SENDMSG 0 当前整点播报计数:<$STR(A10)>
如果要做每日重置,需要在零点机器人标签里把对应变量清0,否则会一直累加。
六、条件判断中的文本输出参数
RobotManage标签内可写#IF条件,再按条件发不同文本。
[@上线特权提示]
IF
CHECKTITLE 天下第一
ACT
SENDMSG 1 天下第一角色触发上线,全服播报其回归
ELSEACT
SENDMSG 0 普通玩家上线常规欢迎语
CHECKTITLE用于判断称号,CHECKLEVELEX判断等级,ISNEWHUMAN判断新号,CHECKMAP判断地图,CHECKONLINE判断在线人数。条件不满足走#ELSEACT,可分别写不同SENDMSG内容。
七、GMEXECUTE与跨脚本文本参数
RobotManage不建议把所有复杂逻辑都写完,可通过GMEXECUTE转到QM或功能脚本。
[@自动回收装备]
IF
ACT
GMEXECUTE 开始提问 @自动回收装备_开始
QManage.txt里写:
[@自动回收装备_开始]
IF
CHECKGAMEGOLD 100
ACT
TAKE 游戏币 100
GAMEGOLD + 100
SENDMSG 7 自动回收触发成功,返还100元宝
GMEXECUTE 开始提问 @标签 表示把机器人触发转给人工脚本或功能脚本处理;SENDMSG后面的类型按引擎调整,7在部分引擎用于私聊式或系统返利提示。
八、Robot.txt登记参数
Envir\Robot.txt示例:
;机器人名称 脚本名称 系统控制
Test Test AutoRunRobot
第一列是机器人显示名,第二列是Robot_def里对应的脚本名前缀,第三列写AutoRunRobot表示走自动运行机器人。若只改RobotManage标签而不在Robot.txt或AutoRunRobot登记,纯定时任务可能不会自动执行,具体看引擎:有的仅需AutoRunRobot+RobotManage,有的还要Robot.txt注册。
九、常见文本参数错误
标签名不一致:AutoRunRobot写@午间活动,RobotManage写[@午间活動],中文繁简、空格、下划线都会导致失效。
编码错误:RobotManage.txt建议用ANSI;部分新引擎可用UTF-8无BOM。普通记事本另存为选ANSI最稳妥,带BOM的UTF-8在老引擎可能整文件不读。
机器人总开关未开:M2参数或启动器里检查RobotEnable、系统机器人、自动运行机器人等开关;开关为0或不勾选时,文件存在也不执行。
SENDMSG类型乱用:全服普通公告用0或5,重点活动用1,滚动用SendScrollMsg。若全部写1会红字过多,玩家忽略;全部写0会没存在感。
刷怪参数缺MISSION:MOBPLACE集中怪建议先写MISSION地图X Y,再写PARAM系列;直接用MonGen可不必MISSION,但坐标要用Param或命令参数写全。
时间单位写反:RUNONDAY写15:00只到分在某些引擎可,写15:00:00更完整;RUNONWEEK写5:15:55表示周五15点55分55秒,若写成15:55:5可能被部分引擎误判。
十、完整定时喊话示例
AutoRunRobot.txt:
AutoRun NPC RUNONDAY 09:00:00 @早间公告
AutoRun NPC RUNONDAY 12:00:00 @午间公告
AutoRun NPC RUNONDAY 20:00:00 @晚间攻城公告
AutoRun NPC MIN 30 @滚动须知
RobotManage.txt:
[@早间公告]
IF
ACT
SENDMSG 0 早9点公告:每日任务已刷新,土城活动大使处领取
SENDMSG 1 世界BOSS日程已更新,请注意地图提示
[@午间公告]
IF
ACT
SENDMSG 1 午12点双倍经验开启30分钟,回城领取经验卷
SendScrollMsg 午间双倍经验进行中,组队享额外加成 251 191
[@晚间攻城公告]
IF
ACT
SENDMSG 1 晚8点攻城开始,沙巴克入口传送已开放
MOV A20 1
SENDMSG 0 攻城轮次:<$STR(A20)>
[@滚动须知]
IF
ACT
SendScrollMsg 禁止第三方软件,违规封号;交易核实对方信息 249 200
SendScrollMsg 客服不会索要密码,任何私聊发链接均为诈骗 249 200
十一、完整定时刷怪加文本示例
AutoRunRobot.txt:
AutoRun NPC RUNONDAY 15:00:00 @祖玛教主
AutoRun NPC MIN 120 @复古教主
RobotManage.txt:
[@祖玛教主]
IF
ACT
Param1 11
Param2 500
Param3 500
MonGen 祖玛教主 1 3
SENDMSG 1 祖玛教主已在祖玛七层刷新,极品装备等待归属
[@复古教主]
IF
ACT
MISSION 3 355 335
PARAM1 355
PARAM2 335
PARAM3 1
PARAM4 1
MOBPLACE 复古教主 0
SENDMSG 1 土城外复古教主刷新,单次击杀可获得回收材料
地图号、坐标、怪物名按版本MonsterDB和MapInfo实际配置修改;刷完用SENDMSG发全服,避免玩家不知道点位。
十二、调试文本机器人参数方法
修改RobotManage后保存,重启M2或在M2机器人管理里重新加载Robot_def。看M2运行日志是否报标签错误、命令不存在、地图不存在。手动把AutoRunRobot时间改成SEC 10临时测试,确认SENDMSG能出字后再改回RUNONDAY或HOUR。SendScrollMsg不出字时单独建MIN 1标签测试,排除颜色速度参数问题。
若完全不执行,按以下顺序查:Robot.txt是否登记;AutoRunRobot标签名是否对应;RobotManage标签是否[@开头;文件是否ANSI;M2机器人开关是否开;命令是否属于当前引擎;变量名是否被其他脚本清掉。
十三、不同引擎参数差异说明
HERO、LEG、BLUE、GEE、3K、微端引擎对SENDMSG类型编号、SendScrollMsg参数、MOBPLACE内功标识、Robot.txt格式都有差异。通用原则是先写AutoRunRobot定时,再写RobotManage标签,标签内先用SENDMSG做文本,再逐步加MISSION、PARAM、MONGEN、GMEXECUTE。新引擎若支持Lua,Robot_def可能会混用txt与lua,纯文本版仍按上述[@标签]、#IF、#ACT结构维护。
文本功能核心就是把时间触发和内容输出分离:AutoRunRobot决定什么时候说,RobotManage决定说什么、对谁说、说完是否刷怪或改变量。参数填写顺序建议先定标签名,再定SENDMSG类型,再定内容变量,最后接刷怪或GMEXECUTE;一次只加一个功能,便于出问题时定位到具体行。
传奇RobotManage文本功能全参数详解与定时喊话刷怪配置教程
来源:
作者:
点击:

