传奇合击假人单机版彻底关闭自动攻城改法

来源: 作者: 点击:
合击假人陪玩单机端自己跳攻城,不是 bug,是版本作者把“假人自动建会+定时 StartSabukWar”写进机器人脚本和 M2 沙巴克配置里了,触发源有三处:Robot_def 定时任务、QuestDiary 沙巴克脚本、M2 沙巴克设置/假人系统开关。三处一起锁才不会再弹,只改一处大概率下次还触发。

先停服务端再动手,改完必须重开 M2Server,热加载不生效。

一、Robot_def 定时任务(最核心触发点)
进 MirServer\Mir200\Envir\Robot_def,开 AutoRunRobot.txt,搜“攻城”“攻沙”“沙巴克”“Sabuk”“Castle”“GongCheng”,看到类似下面这种整行删掉或在行首加英文分号:
;#AutoRun NPC RUNONDAY 20:00 @攻沙设置
;#AutoRun NPC MIN 60 @假人攻城
;#AutoRun NPC RUNONSEC 3600 @开始攻城
同目录开 RobotManage.txt,搜 [@攻沙设置] [@开始攻城] [@假人攻城] [@DummyCastle] 这类标签段,整段前面每行加 ; 注释或把标签段清空。不清执行段,定时器空跑也会调起来。

二、QuestDiary 里的沙巴克脚本
进 Mir200\Envir\QuestDiary,按文件夹名找“沙巴克”“自动攻城”“城池活动”“沙城任务”,GOM/GEE 也可能在 QuestDiary\沙巴克攻城\*.txt,HERO 在 HeroDB\Quest\沙巴克\GuildWar.txt。打开搜 StartSabukWar、MapMove 3(沙巴克地图号)、AddAttackSabukAll、申请攻城,把定时触发段注释掉;整个文件夹不想要直接重命名加 .bak。顺手开 MapQuest_def\QManage.txt 搜“攻城”“Sabuk”,把登录或每小时执行的攻城传送段也注释。

三、M2 引擎双层开关(防脚本改了还自动开)
开 M2Server.exe → 选项 → 参数设置(或功能设置)→ 沙巴克设置 / 攻城战设置:
• “自动开启攻城战”“定时自动开启”“攻城间隔时间”取消勾选,间隔改 0

- “攻城时自动传送在线玩家至沙巴克”取消勾选(不然你打怪被传进去)
• 攻城开始/结束时间改成 00:00–00:01 这种无效区间

GOM 路径也可能是“攻城管理”菜单,同理全取消。
再进 选项 → 假人系统 → 假人攻城(或基本设置),把“允许假人参与攻城”“假人自动创建行会”“开启假人攻城”全部关掉;AttackCastle=1 的配置文件(Envir\Dummy 或假人系统.txt)改成 AttackCastle=0。

四、Castle.ini 硬锁(兜底)
进 Mir200\GuildBase\Castle\Castle.ini(有的版本叫 SabukW.txt / Sabuk.txt),找:
CastleWarOpen=1 改 CastleWarOpen=0
CastleWarDay=0
CastleWarTime=0
Enable=1 改 Enable=0
存盘。这个文件是引擎读沙城状态的底层,脚本全清了但这边还 1,部分引擎仍会起战。

五、正在攻城里想立刻停
不用关服,GM 命令直接输:
GOM/GEE:结束攻城 / 关闭沙城 / 取消攻城
翎风:@关闭模拟攻城
假人会强制踢出沙城地图,但定时到了还会再触发,上面文件不改等于白停。

六、想留假人陪玩只去攻城
Robot_def 里只注释攻城相关行,保留 @假人打怪 @假人喊话;假人系统里关“参与攻城”开“自动打怪”;Castle.ini 保持 CastleWarOpen=0。这样假人满街跑不打沙巴克。

改之前把 Envir 整个夹子复制一份叫 Envir_bak,改崩了解压回去。三处(Robot_def + QuestDiary + M2开关)全改完重启 M2Server,进游戏等过原本设的攻城点时间,没弹公告没假人往沙城跑就是干净了。