单机版传奇(GOM/GEE/Hero/Blue引擎)一到固定时间就弹出"沙巴克攻城战开始"并自动刷弓箭手、城门关闭,是因为服务端内置了定时攻城脚本或M2的攻城事件开关没关。去掉方法分三步,按引擎版本对号入座。
一、M2Server关闭攻城事件(最直接)
打开 M2Server 控制台 → 选项 → 功能设置 → 攻城战设置(部分版本在"参数设置—城堡管理"或"游戏控制—城堡")。
• 找到"攻城战时间"或"自动攻城"选项,把星期几、几点几分那一行全部清空或改为00:00:00。
• 取消勾选"启用自动攻城"、"到达时间自动开始攻城"、"攻城期间自动关闭城门"。
• 部分版本在"查看—城堡信息"里有"攻城区间",把起始日和结束日设成相同(如1月1日到1月1日),或直接清空日期段。
点保存,重启M2Server。这是最根本的方法,改完后不会再自动触发。
二、修改机器人定时脚本(防残留触发)
即使关了M2攻城事件,部分版本还留有机器人脚本定时触发,需要手动清理。
打开 Mir200\Envir\Robot_def\AutoRunRobot.txt,查找与攻城相关的行,如:
AutoRun NPC DAY 1 @StartCastleWar
AutoRun NPC WEEK 2 20:00 @攻城开始
AutoRun NPC TIME 20:00 @城堡争夺
在这些行前面加 ; 注释掉(分号表示整行禁用),或者直接删除整行。
然后打开 RobotManage.txt,找到对应的 [@StartCastleWar] [@攻城开始] [@城堡争夺] 等段,全部删除或加 ; 注释掉。保存后在M2点"重新加载机器人脚本"。
三、清除城堡归属与NPC脚本(彻底断绝)
如果前两步做完,假人还是会莫名其妙往沙巴克跑,可能是城堡归属脚本在作祟。
• 进入 Mir200\Envir\Market_Def\ 目录,找到与沙巴克相关的NPC脚本文件,如 CastleMaster-0.txt(沙城管理员)、SabukWallGate-0.txt(城墙守卫)、GuardNpc-0.txt 等,在M2上把这些NPC禁用或删除对应文件。
• 在 M2Server → 查看 → 城堡信息 → 把"占领行会"设为空(无行会占领),保存后沙巴克处于无主状态,不会触发攻防逻辑。
• 如果版本带了"自动夺城"功能(部分合击版特有),在 QFunction-0.txt 或 QManage.txt 里搜索 @GetCastle、@CastleWar、@SabukWar 等关键字,找到后整段删除或注释掉。
四、针对合击假人版的特殊情况
合击假人版本常自带"假人自动攻沙"脚本,让假人定时去攻城。这种情况除了上面的通用操作,还要额外处理:
• 在 DummyConfig\ 目录下找假人的AI配置文件(如 假人001.txt),打开查看是否有 AttackSabukWall=1 或 AutoCastleWar=1 之类的参数,改成0或删除该行。
• 在 QManage.txt 的 [@Login] 段,检查是否有假人登录后自动加入攻城阵营的命令,如 CASTLEWARJOIN、SABUKWARJOIN 等,找到后删除。
• 在 RobotManage.txt 搜索 "攻沙" "攻城" "城堡" 等关键词,把所有相关段注释掉。
五、验证是否已取消
重启M2Server和游戏服务端,进游戏观察。正常现象:沙巴克城门一直开着,弓箭手不刷,NPC不喊话,右上角没有攻城倒计时。如果还有假人在固定时间往沙巴克聚集,说明还有残留脚本没清,回到第二步和第三步再仔细检查一遍 RobotManage.txt 和 QFunction-0.txt。
六、常见遗漏点
• 改了M2攻城设置但没点"保存"或没重启M2,导致改动没生效。
• 删了 AutoRunRobot.txt 的行但忘了删 RobotManage.txt 里对应的 [@xxx] 段,脚本执行时报错但不影响,可能还会触发。
• 版本用了 D:\MirServer\Mir200\Castle\ 下的 Castle.txt 或 SabukW.txt 配置攻城时间,需要在文本里直接改 StartDay=0 EndDay=0 或清空时间字段。
• GEE引擎部分版本在"M2—列表信息二—攻城设置"里有个"攻城周期"也要清空,不止是功能设置里的时间。
按M2关事件→清机器人脚本→清城堡归属的顺序操作,合击假人版再加一步检查假人AI配置和攻沙相关命令,重启服务端后自动攻城就会彻底消失。
传奇单机自动攻城怎么关闭 取消城堡占领脚本与M2攻城事件触发设置
来源:
作者:
点击:

