传奇超级怪物攻城后台脚本:机器人定时触发、MOBPLACE刷怪与全服公告实战

来源: 作者: 点击:
传奇中“超级怪物攻城”功能通常指在指定时间,由后台自动触发大量怪物刷新到主城或沙巴克,形成全服参与的防守活动。实现方式主要依赖机器人脚本定时触发,配合刷怪命令和全服公告。下面以GOM/GEE类引擎为例,按可直接套用的思路写示例,命令名称和参数需对照当前引擎说明确认。

第一步:配置机器人定时触发

打开MirServerMir200EnvirRobot_defAutoRunRobot.txt,添加定时触发规则。机器人脚本通过时间表达式控制执行频率,常见格式如下:

AutoRunNPCRUNONDAY20:00:00@怪物攻城开始
AutoRunNPCRUNONWEEK6:20:00:00@周末超级攻城
AutoRunNPCRUNONDAY20:30:00@攻城结束清理

第一行表示每天20:00触发@怪物攻城开始标签。第二行表示每周六20:00触发周末超级攻城。第三行表示20:30触发清理脚本,避免怪物残留。修改后需要在M2中重新加载机器人脚本。

第二步:编写攻城执行脚本

打开MirServerMir200EnvirRobot_defRobotManage.txt,编写对应标签。攻城脚本通常包含三个环节:全服公告、清空旧怪、批量刷怪。

[@怪物攻城开始]
IF
ACT
SENDMSG0超级怪物攻城即将开始,所有玩家请前往盟重防守!
SENDMSG0超级怪物攻城即将开始,所有玩家请前往盟重防守!
SENDMSG0超级怪物攻城即将开始,所有玩家请前往盟重防守!
MONCLEAR3
MOBPLACE3330330祖玛教主510
MOBPLACE3330330沃玛教主1015
MOBPLACE3330330虹魔教主320
SENDMSG0祖玛教主、沃玛教主、虹魔教主已降临盟重!

SENDMSG0表示全服公告,重复多次可增强提示效果。MONCLEAR3用于清空盟重地图原有怪物,避免残留。MOBPLACE后面参数通常是地图编号X坐标Y坐标怪物名数量范围,具体以当前引擎说明为准。

第三步:多波次攻城设计

超级攻城可以设计成多波次,每波刷新不同怪物,间隔几分钟。

[@第一波攻城]
IF
ACT
SENDMSG0第一波怪物攻城开始!
MOBPLACE3330330祖玛卫士2010
MOBPLACE3330330沃玛战士3015

[@第二波攻城]
IF
ACT
SENDMSG0第二波怪物攻城开始!
MOBPLACE3330330祖玛教主310
MOBPLACE3330330沃玛教主515

[@第三波攻城]
IF
ACT
SENDMSG0最终波次!BOSS降临!
MOBPLACE3330330赤月恶魔15
MOBPLACE3330330魔龙教主210

对应AutoRunRobot.txt中写:

AutoRunNPCRUNONDAY20:00:00@第一波攻城
AutoRunNPCRUNONDAY20:05:00@第二波攻城
AutoRunNPCRUNONDAY20:10:00@第三波攻城

第四步:攻城结束清理

攻城结束后需要清理残留怪物,避免影响正常游戏。

[@攻城结束清理]
IF
ACT
MONCLEAR3
SENDMSG0怪物攻城已结束,残留怪物已清理。

如果希望保留部分普通怪物,只清理BOSS,可以用指定怪物清除命令,具体命令以当前引擎支持为准。部分引擎支持按怪物名清除,部分只能整图清空。

第五步:沙巴克攻城变体

如果希望怪物攻击沙巴克而非盟重,把地图编号改为沙巴克对应编号,坐标改为沙巴克皇宫附近。

[@沙巴克超级攻城]
IF
ACT
SENDMSG0沙巴克遭遇超级怪物袭击!
MONCLEAR沙巴克地图编号
MOBPLACE沙巴克地图编号100100祖玛教主510
MOBPLACE沙巴克地图编号100100沃玛教主510

沙巴克地图编号需要对照当前版本的MapInfo.txt确认,不同版本编号不同。

第六步:行会参与条件

如果希望只有占领沙巴克的行会成员才能领取攻城奖励,可以在怪物死亡触发中加行会判断。怪物死亡触发写在QFunction-0.txt的[@OnKillMob]中:

[@OnKillMob]
IF
ISONMAP3
ACT
CHECKISGUILDMASTER
ACT
GIVE攻城宝箱1
SENDMSG6你击败了攻城BOSS,获得奖励!

CHECKISGUILDMASTER用于检测是否为行会掌门,不同引擎命令可能不同。如果希望所有玩家都能获得奖励,去掉行会判断即可。

第七步:性能优化

超级攻城会一次性刷新大量怪物,需要注意性能。建议将刷怪数量控制在合理范围,避免单图怪物过多导致卡顿。多波次之间留足间隔,让玩家有时间清理。刷新坐标可以分散到多个点,避免所有怪物堆在同一位置。

示例:分散刷新坐标

MOBPLACE3330330祖玛教主25
MOBPLACE3300300祖玛教主25
MOBPLACE3360360祖玛教主15

第八步:部署与调试

修改AutoRunRobot.txt和RobotManage.txt后,在M2中重新加载机器人脚本。调试时按以下顺序检查:

定时触发时间是否正确,可在测试服把时间设为当前时间后几分钟验证
全服公告是否正常显示
MONCLEAR是否清空了旧怪
MOBPLACE是否在指定坐标刷新了怪物
怪物数量和范围是否符合预期
攻城结束后残留怪物是否被清理
多波次间隔是否合理

如果怪物不刷新,检查地图编号是否正确,MOBPLACE参数顺序是否与当前引擎一致。如果公告不显示,检查SENDMSG命令格式。如果清理不生效,确认MONCLEAR后面的地图编号是否正确。修改机器人脚本后务必重新加载,否则不会生效。
[顶部]