传奇单机下线回安全区随机飞脚本关闭方法

来源: 作者: 点击:
自己架设的传奇单机出现“下线再上线就在安全区随机飞”,根本原因是服务端内置了离线挂机脚本或假人脚本。该功能设计初衷是模拟在线人数,但单机环境下会导致角色无法原地登录。只需删除或注释对应脚本即可解决。

一、 核心排查:QFunction-0.txt 脚本

绝大多数“下线传送”逻辑写在 QFunction-0.txt 中。该文件位于服务端 MirServer\Mir200\Envir\Market_Def 目录下。

1. 打开脚本文件:用记事本打开 QFunction-0.txt。
2. 搜索关键词:按 Ctrl+F 搜索以下触发标签:
* [@LogOut](下线触发)
◦ [@OffLine](离线触发)

◦ [@PlayOffline](离线挂机触发)

3. 注释或删除:找到包含 mapmove(地图移动)或 Random(随机坐标)命令的代码段。不要直接删除文件,建议在行首添加英文分号 ; 进行注释。
* 错误示例:

[@LogOut]
#if
#act
mapmove 3 330 330 ; 下线传送到土城

◦ 修正后:

;[@LogOut] ; 在行首加 ; 注释掉整个触发段
;#if
;#act
;mapmove 3 330 330

4. 保存重启:保存文件后,重启服务端M2Server,测试下线是否恢复正常。

二、 假人脚本清理:QuestDiary 目录

部分版本为了制造“人多”的假象,会将离线角色设为假人并随机移动。

1. 进入目录:打开 MirServer\Mir200\Envir\QuestDiary。
2. 查找假人文件:搜索包含“假人”、“离线”、“Offline”、“FengHa”等字样的 .txt 文件。
3. 处理文件:
◦ 删除法:直接删除这些txt文件(建议先备份)。

* 禁用法:打开文件,查找 mapmove 或 MOVR(随机坐标)命令,在行首添加 ; 注释。
4. 重启生效:修改后必须重启M2Server,否则假人脚本会继续运行。

三、 地图配置文件检查:MapInfo.txt

若特定地图下线后强制回城,需检查地图属性。

1. 打开文件:找到 MirServer\Mir200\Envir\MapInfo.txt。
2. 搜索关键词:查找你下线的地图名称(如“祖玛神殿”),查看其后是否带有 NORECONNECT(3) 或 RECONNECT(0) 参数。
* NORECONNECT(3):小退后重新连接游戏时,角色会被传送到3号地图(通常为盟重土城)。
* RECONNECT(0):传送到0号地图(比奇)。
3. 修改参数:将 NORECONNECT 或 RECONNECT 整行删除,或改为 CHECKQUEST 等非传送指令。保存后重启M2。

四、 机器人脚本:Robot.txt 与 Robot_def

若问题表现为“每隔几分钟自动飞”,需检查机器人脚本。

1. 关闭机器人:打开 MirServer\Mir200\Envir\Robot.txt,查看 #AutoRun NPC 后的执行周期。若周期过短(如1秒),且指向的脚本文件包含传送命令,需将其注释。
2. 检查脚本内容:进入 MirServer\Mir200\Envir\Robot_def 目录,检查被调用的脚本(如 AutoRunRobot.txt),删除其中的 mapmove 相关行。

五、 快速定位技巧

若无法确定脚本位置,可使用文本编辑器的“全局搜索”功能(如Notepad++的“在文件中查找”),搜索整个 Envir 目录下的 mapmove + “安全区地图编号”(通常为3或0),即可快速定位所有传送脚本。

核心要点:单机架设无需假人脚本,直接注释 QFunction-0.txt 中的 [@LogOut] 段和 QuestDiary 下的假人文件,即可彻底解决下线随机飞的问题。