传奇服务端怪物攻城配置与脚本触发位置详解

来源: 作者: 点击:
怪物攻城功能并非在M2窗口直接点击开启,其核心配置位于服务端 Mir200\Envir 目录下,通过修改文本文件与脚本实现。具体操作路径取决于你想要的是“全服自动攻城”还是“手动触发刷怪”。

一、标准沙巴克怪物攻城(自动定时)

此模式通常与沙巴克攻城绑定,在指定时间自动触发。

1. 基础配置路径:进入 MirServer\Mir200\Envir\Castle 目录,打开 SabukW.txt 文件。此处可设置攻城总开关(Enable=1)、攻城日期(如每周三、六)及开始时间(如 20:00)。
2. 刷怪脚本路径:攻城怪物的具体刷新逻辑在 MirServer\Mir200\Envir\MapQuest_def 目录中,通常由 QManage.txt 或 沙巴克.txt 等脚本控制。脚本内使用 MONGEN 或 MobPlace 命令在地图指定坐标刷出怪物。
3. 触发机制:系统通过 MirServer\Mir200\Envir\Robot_def 目录下的 AutoRunRobot.txt(定时器)与 RobotManage.txt(执行脚本)配合,在设定时间读取攻城配置并触发刷怪脚本。

二、自定义怪物攻城(手动/NPC触发)

如果你需要在任意地图(如比奇城)或非攻城时间手动开启怪物攻城,需通过NPC或GM命令调用脚本。

1. NPC脚本路径:在 MirServer\Mir200\Envir\Npc_def 目录下创建或修改NPC脚本(如 怪物攻城-3.txt)。在脚本中使用 #ACT 段配合 MONGEN 命令来生成怪物。例如:#ACT MONGEN 祖玛卫士 10 5(在NPC所在位置刷10只祖玛卫士,5秒内刷完)。
2. GM命令触发:拥有权限的GM在游戏中输入 @MobPlace 怪物名 数量 或 @RecallMob 怪物名 数量,可直接在脚下刷出攻城怪物。此命令直接由M2引擎处理,无需修改文件。

三、常见“调不出来”的排查点

• 脚本未生效:修改完 SabukW.txt 或 NPC脚本后,必须在M2菜单点击“重新读取→城堡数据”或“重新读取→NPC脚本”,改动才会生效,仅重启服务端有时无效。

- 地图参数错误:检查 MirServer\Mir200\Envir\MapInfo.txt,确保刷怪的地图编号正确,且地图属性包含 FIGHT(战斗区域),若设为 SAFE(安全区)则无法刷怪。
- 怪物名称校验:脚本中的怪物名称必须与 Monster.DB 数据库里的名字完全一致(包括空格和符号),否则M2会报错且不刷怪。

若需快速测试,最直接的方法是使用GM命令在安全区外地图手动刷怪,若能刷出则证明引擎功能正常,问题出在定时脚本或城堡配置上。