传奇RobotManage文本功能全参数详解与定时喊话刷怪配置教程

来源: 作者: 点击:
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;一次只加一个功能,便于出问题时定位到具体行。