使用传奇合击假人陪玩版本搭建单机环境时,若系统频繁触发自动攻城事件,需从服务端配置文件入手进行调整。该问题通常由默认脚本或定时任务引发,并非程序错误,可通过以下步骤彻底关闭。
首先定位攻城控制文件。在服务端根目录下找到“MirServerMir200EnvirMarket_def”路径,检查是否存在名为“CastleWar.txt”或“攻城设置.ini”的文件。部分版本将攻城逻辑写入“EventMgr.txt”或“AutoEvent.ini”。打开对应文件,查找包含“CastleWarStart”“StartWar”“攻城开启”等关键词的行。
若文件中存在类似“RunTimer CastleWar 18:00”或“DayOfWeek=6,7”等定时指令,说明系统设定每周六日或每日固定时段自动启动沙巴克攻城。删除整行或在行首添加“//”注释符号即可禁用。例如将“RunTimer CastleWar 20:00”改为“//RunTimer CastleWar 20:00”。
其次检查NPC脚本。进入“MirServerMir200EnvirNpc_def”目录,打开“沙巴克国王.txt”“攻城管理员.txt”等文件,查找是否包含“[@Main]”段落下自动调用攻城函数的命令,如“#ACT StartCastleWar”。将其整段注释或删除,防止NPC交互意外触发。
部分合击版本内置“假人陪玩”模块会模拟行会战,间接激活攻城机制。需进入“MirServerShareGuildBase”目录,打开“GuildConfig.ini”,将“EnableCastleWar=1”改为“EnableCastleWar=0”。同时检查“MirServerMir200!Setup.txt”中是否含有“CastleWarLevel=3”之类参数,可将其设为“CastleWarLevel=99”以提高触发门槛,变相禁用。
若上述操作后仍出现攻城提示,需排查地图触发器。在“MapQuest_def”目录下,检查“沙巴克.map”对应的脚本文件(如“31-1.txt”),查看是否有“OnMapEnter”事件调用攻城函数。删除相关语句即可。
完成修改后,务必重启M2Server服务使配置生效。进入游戏后,观察沙巴克区域是否仍有“攻城即将开始”公告。若无提示且假人正常挂机打怪,则说明已成功关闭自动攻城。
注意:不同合击版本文件命名略有差异,如“CastleWar.cfg”“WarControl.dat”等,核心逻辑一致——禁用定时器、关闭开关参数、清除NPC与地图触发。建议修改前备份原文件,便于回滚。

