添加怪物攻城脚本需修改服务端Mir200\Envir目录下的Robot系统文件。核心逻辑是利用“机器人脚本”定时触发刷怪指令,并配合MISSION命令让怪物向城内集中。
一、基川时攻城脚本(GOM/GEE/通用引擎)
1.设置触发时间(AutoRunRobot.txt)
在Envir\AutoRunRobot.txt末尾添加定时任务,设定每周六20:30触发:
#AutoRunNPCRUNONWEEK6:20:30@怪物攻城
RUNONWEEK6代表星期六,20:30为开始时间。
2.编写刷怪指令(RobotManage.txt)
在Envir\Robot_def\RobotManage.txt中添加攻城逻辑:
[@怪物攻城]
#if
#act
;全服公告
SENDMSG1【怪物攻城】大量怪物向比奇城袭来,请勇士速回城防守!
;刷怪命令:地图号3(比奇省),坐标330:330刷10只祖玛教主,范围5
MONGENEX3330330祖玛教主105
;设置怪物集中点(向皇宫移动)
MISSION3330330
PARAM1330
PARAM2330
PARAM310
PARAM45
MOBPLACE祖玛教主
MISSION配合MOBPLACE是关键,它会让刷出的怪物主动向指定坐标(如城门或安全区)移动,形成“攻城”态势,而非原地发呆。
二、进阶:多波次与沙巴克专属攻城
1.多波次攻击(分阶段刷怪)
在AutoRunRobot.txt中设置多个时间点,分别触发不同的脚本段:
#AutoRunNPCRUNONWEEK6:20:30@攻城第一波
#AutoRunNPCRUNONWEEK6:20:40@攻城第二波
#AutoRunNPCRUNONWEEK6:20:50@攻城BOSS波
在RobotManage.txt中分别编写[@攻城第一波](刷小怪)、[@攻城第二波](刷精英)、[@攻城BOSS波](刷BOSS)。
2.沙巴克攻城(沙城地图)
若攻城主城为沙巴克(地图号通常为0150),需修改刷怪坐标至沙巴克复活点或皇宫内:
[@沙城攻城]
#if
#act
MONGENEX0150100100沃玛教主52
MISSION0150100100
PARAM1100
PARAM2100
PARAM35
PARAM42
MOBPLACE沃玛教主
坐标需根据MapInfo.txt中沙巴克皇宫的实际坐标调整,避免怪物刷在墙外。
三、手动触发NPC版(GM管理用)
除了定时,也可创建NPC供GM手动开启。在Npc_def目录新建GM管理-3.txt:
[@main]
#if
ISADMIN
#act
SENDMSG1管理员开启了怪物攻城!
MONGENEX3330330祖玛教主105
MISSION3330330
PARAM1330
PARAM2330
PARAM310
PARAM45
MOBPLACE祖玛教主
#elseact
SENDMSG6你没有权限!
此NPC仅GM可见,点击后立即触发攻城。
四、常见错误与排查
1.怪物原地不动:必须使用MISSION+MOBPLACE组合。若只用MONGEN或MONGENEX,怪物只会原地刷新,不会“攻”城。
2.时间不触发:检查AutoRunRobot.txt的时间格式,必须为时:分:秒,且星期数(1-7)正确。修改后需在M2控制台重载机器人脚本。
3.地图代码错误:确认刷怪地图编号(如比奇城是3,盟重省是4)在MapInfo.txt中存在且非安全区(安全区刷怪会卡住)。
4.怪物名称:MONGENEX和MOBPLACE中的怪物名称必须与Monster.DB数据库完全一致,区分大小写。
修改脚本后,务必在M2Server的管理菜单中点击重载机器人脚本和重载NPC脚本,无需重启服务端即可生效。
一、基川时攻城脚本(GOM/GEE/通用引擎)
1.设置触发时间(AutoRunRobot.txt)
在Envir\AutoRunRobot.txt末尾添加定时任务,设定每周六20:30触发:
#AutoRunNPCRUNONWEEK6:20:30@怪物攻城
RUNONWEEK6代表星期六,20:30为开始时间。
2.编写刷怪指令(RobotManage.txt)
在Envir\Robot_def\RobotManage.txt中添加攻城逻辑:
[@怪物攻城]
#if
#act
;全服公告
SENDMSG1【怪物攻城】大量怪物向比奇城袭来,请勇士速回城防守!
;刷怪命令:地图号3(比奇省),坐标330:330刷10只祖玛教主,范围5
MONGENEX3330330祖玛教主105
;设置怪物集中点(向皇宫移动)
MISSION3330330
PARAM1330
PARAM2330
PARAM310
PARAM45
MOBPLACE祖玛教主
MISSION配合MOBPLACE是关键,它会让刷出的怪物主动向指定坐标(如城门或安全区)移动,形成“攻城”态势,而非原地发呆。
二、进阶:多波次与沙巴克专属攻城
1.多波次攻击(分阶段刷怪)
在AutoRunRobot.txt中设置多个时间点,分别触发不同的脚本段:
#AutoRunNPCRUNONWEEK6:20:30@攻城第一波
#AutoRunNPCRUNONWEEK6:20:40@攻城第二波
#AutoRunNPCRUNONWEEK6:20:50@攻城BOSS波
在RobotManage.txt中分别编写[@攻城第一波](刷小怪)、[@攻城第二波](刷精英)、[@攻城BOSS波](刷BOSS)。
2.沙巴克攻城(沙城地图)
若攻城主城为沙巴克(地图号通常为0150),需修改刷怪坐标至沙巴克复活点或皇宫内:
[@沙城攻城]
#if
#act
MONGENEX0150100100沃玛教主52
MISSION0150100100
PARAM1100
PARAM2100
PARAM35
PARAM42
MOBPLACE沃玛教主
坐标需根据MapInfo.txt中沙巴克皇宫的实际坐标调整,避免怪物刷在墙外。
三、手动触发NPC版(GM管理用)
除了定时,也可创建NPC供GM手动开启。在Npc_def目录新建GM管理-3.txt:
[@main]
#if
ISADMIN
#act
SENDMSG1管理员开启了怪物攻城!
MONGENEX3330330祖玛教主105
MISSION3330330
PARAM1330
PARAM2330
PARAM310
PARAM45
MOBPLACE祖玛教主
#elseact
SENDMSG6你没有权限!
此NPC仅GM可见,点击后立即触发攻城。
四、常见错误与排查
1.怪物原地不动:必须使用MISSION+MOBPLACE组合。若只用MONGEN或MONGENEX,怪物只会原地刷新,不会“攻”城。
2.时间不触发:检查AutoRunRobot.txt的时间格式,必须为时:分:秒,且星期数(1-7)正确。修改后需在M2控制台重载机器人脚本。
3.地图代码错误:确认刷怪地图编号(如比奇城是3,盟重省是4)在MapInfo.txt中存在且非安全区(安全区刷怪会卡住)。
4.怪物名称:MONGENEX和MOBPLACE中的怪物名称必须与Monster.DB数据库完全一致,区分大小写。
修改脚本后,务必在M2Server的管理菜单中点击重载机器人脚本和重载NPC脚本,无需重启服务端即可生效。

