传奇添加怪物攻城脚本实战教程

来源: 作者: 点击:
添加怪物攻城脚本需修改服务端 Mir200\Envir 目录下的 Robot 系统文件。核心逻辑是利用“机器人脚本”定时触发刷怪指令,并配合 MISSION 命令让怪物向城内集中。

一、基础定时攻城脚本(GOM/GEE/通用引擎)

1. 设置触发时间(AutoRunRobot.txt)
在 Envir\AutoRunRobot.txt 末尾添加定时任务,设定每周六20:30触发:
#AutoRun NPC RUNONWEEK 6:20:30 @怪物攻城

RUNONWEEK 6 代表星期六,20:30 为开始时间。

2. 编写刷怪指令(RobotManage.txt)
在 Envir\Robot_def\RobotManage.txt 中添加攻城逻辑:
[@怪物攻城]
#if
#act
;全服公告
SENDMSG 1 【怪物攻城】大量怪物向比奇城袭来,请勇士速回城防守!
;刷怪命令:地图号3(比奇省),坐标330:330刷10只祖玛教主,范围5
MONGENEX 3 330 330 祖玛教主 10 5
;设置怪物集中点(向皇宫移动)
MISSION 3 330 330
PARAM1 330
PARAM2 330
PARAM3 10
PARAM4 5
MOBPLACE 祖玛教主

MISSION 配合 MOBPLACE 是关键,它会让刷出的怪物主动向指定坐标(如城门或安全区)移动,形成“攻城”态势,而非原地发呆。

二、进阶:多波次与沙巴克专属攻城

1. 多波次攻击(分阶段刷怪)
在 AutoRunRobot.txt 中设置多个时间点,分别触发不同的脚本段:
#AutoRun NPC RUNONWEEK 6:20:30 @攻城第一波
#AutoRun NPC RUNONWEEK 6:20:40 @攻城第二波
#AutoRun NPC RUNONWEEK 6:20:50 @攻城BOSS波

在 RobotManage.txt 中分别编写 [@攻城第一波](刷小怪)、[@攻城第二波](刷精英)、[@攻城BOSS波](刷BOSS)。

2. 沙巴克攻城(沙城地图)
若攻城主城为沙巴克(地图号通常为 0150),需修改刷怪坐标至沙巴克复活点或皇宫内:
[@沙城攻城]
#if
#act
MONGENEX 0150 100 100 沃玛教主 5 2
MISSION 0150 100 100
PARAM1 100
PARAM2 100
PARAM3 5
PARAM4 2
MOBPLACE 沃玛教主

坐标需根据 MapInfo.txt 中沙巴克皇宫的实际坐标调整,避免怪物刷在墙外。

三、手动触发NPC版(GM管理用)

除了定时,也可创建NPC供GM手动开启。在 Npc_def 目录新建 GM管理-3.txt:
[@main]
#if
ISADMIN
#act
SENDMSG 1 管理员开启了怪物攻城!
MONGENEX 3 330 330 祖玛教主 10 5
MISSION 3 330 330
PARAM1 330
PARAM2 330
PARAM3 10
PARAM4 5
MOBPLACE 祖玛教主
#elseact
SENDMSG 6 你没有权限!

此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脚本,无需重启服务端即可生效。