这是服务端脚本或地图单元格设定导致的,和客户端没关系。角色一上线服务端就执行了一段传送命令,最常见有四种情况:
一、下线坐标被写进回城/回主城脚本触发
很多版本在QFunction-0.txt或QManage.txt里写了[@Login]段,包含判断下线地图并自动传回安全区、主城或回血池的逻辑。比如:
[@Login]
#IF
EQUALOLDMapID3
#ACT
MAPMOVE3330330
如果你上次下线正好在盟重(地图ID通常是3),上线时脚本反复判断符合条件就连刷MAPMOVE或MOV命令,就会出现"站在原地被不停传送到固定坐标",看起来像绕圈传送。部分脚本还带延时循环检测,每秒执行一次就更明显。
修复方法:
用Notepad++打开MirServer\Mir200\Envir\QuestDiary\下所有文件夹中的QFunction-0.txt和QManage.txt,搜索[@Login]段,找到含有MAPMOVE、MOV、GOTO、Call等传送指令且判断旧地图的行,整段暂时注释掉(行首加;)保存,然后在M2Server点"重新加载脚本"或重启M2Server再登录测试。如果不再乱传说明就是这段登录触发脚本的问题,按需修改条件(如加判断IsNewHuman或检测首次登录标志)而不是完全删掉。
二、上线点踩中地图传送格(MapCell/MapFlag)
传奇地图文件(.map)里可以埋设特殊单元格,角色踏入就执行传送到另一地图坐标,部分老版本地图盟重安全区边缘或下线点恰好被刷了CellType=传送格。你上线后角色微调站立位置(部分引擎自动做微小坐标校正)触发了该格子的传送,传完又落回附近再次触发,形成循环绕圈。
修复方法:
用WIL编辑器或MapEditor(如LegendMapEditor、MapEdit)打开MirServer\Mir200\Map\对应的盟重地图文件(通常3.map或012.map之类),查看角色下线坐标处是否有红色或特殊标记的传送单元,删掉或改成普通地面格后保存,重启服务端。不会用地图编辑器可临时换个下线点——在!Setup.txt或M2参数里把"初始城市/回城地图坐标"改成盟重其他安全区格子(如300300改310310)避开那个格。
三、机器人脚本定时把你拉回某点
Robot_def\AutoRunRobot.txt里如果有定时执行检测在线玩家坐标并强制MAPMOVE回某点的脚本(部分版本用来防止卡死或做自动回安全区功能),且条件写得宽松(如检测在线即执行),也会每秒把你传一下。
修复方法:
打开Robot_def\AutoRunRobot.txt,搜索含MAPMOVE、MOV的定时行,注释掉保存,再到RobotManage.txt找到对应[@段]同样注释,重载机器人脚本测试。
四、假人/陪玩脚本误绑到你角色
极少数合击假人版把假人AI脚本写成检测同名角色上线后执行移动模拟,碰巧你建的角色名和DummyNameList.txt中某个假人名一致,被当成假人控制不断发传送指令。
修复方法:
检查MirServer\Mir200\Envir\DummyNameList.txt,看有没有和你游戏角色一模一样的名字,有则删掉那行并重载假人列表;或新建一个完全不同名字的角色登录验证。
排查顺序建议
先注释QFunction-0.txt的[@Login]段重载脚本——这是90%情况的元凶。还有问题再用地图编辑器查传送格,最后排查机器人脚本和假人重名。改完记得重新加载脚本或重启M2Server使修改生效。
一、下线坐标被写进回城/回主城脚本触发
很多版本在QFunction-0.txt或QManage.txt里写了[@Login]段,包含判断下线地图并自动传回安全区、主城或回血池的逻辑。比如:
[@Login]
#IF
EQUALOLDMapID3
#ACT
MAPMOVE3330330
如果你上次下线正好在盟重(地图ID通常是3),上线时脚本反复判断符合条件就连刷MAPMOVE或MOV命令,就会出现"站在原地被不停传送到固定坐标",看起来像绕圈传送。部分脚本还带延时循环检测,每秒执行一次就更明显。
修复方法:
用Notepad++打开MirServer\Mir200\Envir\QuestDiary\下所有文件夹中的QFunction-0.txt和QManage.txt,搜索[@Login]段,找到含有MAPMOVE、MOV、GOTO、Call等传送指令且判断旧地图的行,整段暂时注释掉(行首加;)保存,然后在M2Server点"重新加载脚本"或重启M2Server再登录测试。如果不再乱传说明就是这段登录触发脚本的问题,按需修改条件(如加判断IsNewHuman或检测首次登录标志)而不是完全删掉。
二、上线点踩中地图传送格(MapCell/MapFlag)
传奇地图文件(.map)里可以埋设特殊单元格,角色踏入就执行传送到另一地图坐标,部分老版本地图盟重安全区边缘或下线点恰好被刷了CellType=传送格。你上线后角色微调站立位置(部分引擎自动做微小坐标校正)触发了该格子的传送,传完又落回附近再次触发,形成循环绕圈。
修复方法:
用WIL编辑器或MapEditor(如LegendMapEditor、MapEdit)打开MirServer\Mir200\Map\对应的盟重地图文件(通常3.map或012.map之类),查看角色下线坐标处是否有红色或特殊标记的传送单元,删掉或改成普通地面格后保存,重启服务端。不会用地图编辑器可临时换个下线点——在!Setup.txt或M2参数里把"初始城市/回城地图坐标"改成盟重其他安全区格子(如300300改310310)避开那个格。
三、机器人脚本定时把你拉回某点
Robot_def\AutoRunRobot.txt里如果有定时执行检测在线玩家坐标并强制MAPMOVE回某点的脚本(部分版本用来防止卡死或做自动回安全区功能),且条件写得宽松(如检测在线即执行),也会每秒把你传一下。
修复方法:
打开Robot_def\AutoRunRobot.txt,搜索含MAPMOVE、MOV的定时行,注释掉保存,再到RobotManage.txt找到对应[@段]同样注释,重载机器人脚本测试。
四、假人/陪玩脚本误绑到你角色
极少数合击假人版把假人AI脚本写成检测同名角色上线后执行移动模拟,碰巧你建的角色名和DummyNameList.txt中某个假人名一致,被当成假人控制不断发传送指令。
修复方法:
检查MirServer\Mir200\Envir\DummyNameList.txt,看有没有和你游戏角色一模一样的名字,有则删掉那行并重载假人列表;或新建一个完全不同名字的角色登录验证。
排查顺序建议
先注释QFunction-0.txt的[@Login]段重载脚本——这是90%情况的元凶。还有问题再用地图编辑器查传送格,最后排查机器人脚本和假人重名。改完记得重新加载脚本或重启M2Server使修改生效。

