单机传奇怪物攻城配置与刷怪脚本实战

来源: 作者: 点击:
单机架设中实现“怪物攻城”,本质是在主城地图(如比奇0、盟重3)按特定时间或指令刷新大量怪物。核心操作围绕修改刷怪文件、配置时间脚本及手动触发指令展开。

一、 基础配置:修改 MonGen.txt 定义攻城怪物

攻城怪物数据存储在服务端 Mir200\Envir\MonGen.txt 文件中。你需要按照固定格式添加刷新规则,而非使用M2的图形界面。

1. 格式解析
单行格式为:地图编号 怪物名称 刷新数量 坐标X 坐标Y 范围 间隔(秒)
- 地图编号:比奇城通常为 0,盟重城为 3。
• 范围:填 0 表示固定点刷新;填 10 表示在坐标周围10格内随机刷新。

- 间隔:单位是秒,用于控制波次频率。

2. 实战配置示例
在 MonGen.txt 末尾添加以下内容,实现比奇城多波次攻城:
0 祖玛卫士 20 330 330 10 600
0 沃玛教主 5 350 320 5 1200
0 赤月恶魔 1 300 300 0 0

说明:上述配置表示在比奇城(0)随机刷新20只祖玛卫士(每600秒一波),以及5只沃玛教主。最后一行坐标范围0表示赤月恶魔固定在坐标点刷新,间隔0表示只刷一次。

3. 生效步骤
修改保存后,必须在 M2Server 控制台点击 “控制”->“重新加载”->“重读怪物刷新”。此时进入比奇城,怪物会立即按设定规则自动刷新。

二、 进阶控制:定时脚本与手动触发

若需实现“每周六20点自动开启”或“GM指令触发”,需编辑脚本文件。

1. 定时自动攻城(修改 QManage.txt)
在 Mir200\Envir\MapQuest_Def\QManage.txt 的 [@OnTimerX] 或时间检测段添加逻辑:
#IF
CheckTime 20:00 20:05 ; 检测周六20点
#ACT
GMEXECUTE 开始攻城 ; 执行攻城命令
SENDMSG 0 【怪物攻城】活动开启!怪物大军入侵比奇!

此脚本配合系统的定时器,可在指定时间自动激活攻城事件。

2. GM指令手动触发(修改 UserCmd.txt)
对于单机测试,最便捷的方式是添加自定义指令。
- 步骤1:打开 Mir200\Envir\UserCmd.txt,添加一行:开始攻城 10
• 步骤2:打开 QFunction-0.txt,添加触发段:
[@UserCmd10]
#IF
ISADMIN ; 检测是否为GM
#ACT
PARAM1 0 ; 地图0
PARAM2 330
PARAM3 330
PARAM4 10
MOBPLACE 祖玛卫士 50 ; 在指定区域放置50只祖玛卫士
SENDMSG 0 怪物攻城已由GM手动开启!

保存后,在游戏内输入 @开始攻城 即可瞬间刷怪。

三、 单机特殊设置:取消安全区与时间同步

1. 取消主城安全区属性
默认情况下,比奇城是安全区,怪物刷出后无法攻击玩家。需在 M2Server 中取消安全区设置:
• 进入 M2 → 选项 → 参数设置 → 地图参数。

• 找到地图0(比奇),取消勾选 “安全区” 选项。

• 保存后重启M2生效,此时怪物在城内可正常攻击。

2. 解决单机时间不同步问题
部分单机端使用“游戏运行时间”而非本地电脑时间,可能导致定时脚本不触发。
• 方法A(推荐):在 M2 → 选项 → 时间控制 中,勾选 “同步系统时间”。

• 方法B:修改 Mir200\!Setup.txt,设置 TimeSync=1 和 LocalTime=1。

重启服务端后,游戏内时间将与电脑时间一致,确保定时脚本准时运行。

四、 常见架设问题排查

• 怪物刷出后不动:通常是怪物AI未加载。在M2控制台输入 @加载怪物AI,或重启服务端解决。

• 怪物不刷新:检查 MonGen.txt 格式是否正确(必须用空格分隔,不能使用TAB键)。修改后务必执行 “重读怪物刷新”。

• 指令无效:确认 UserCmd.txt 中的编号(如10)与 QFunction-0.txt 中的 [@UserCmd10] 严格对应。

通过上述文件修改与脚本配置,无需依赖复杂插件即可在单机端实现完整的怪物攻城玩法。