传奇单机上线随机飞?三步锁定坐标保存与脚本

来源: 作者: 点击:
自己架设的传奇单机,下线再上线总被“弹”到安全区随机位置,本质是坐标未保存或上线强制重置。按以下顺序排查,90%的问题集中在M2参数与脚本上。

一、核心排查:M2Server参数设置(首要步骤)

这是最常见的原因,引擎未开启坐标保存或强制安全区上线。

1.修改角色设置
◦打开M2Server.exe→【选项】→【参数设置】→【角色设置】。

*找到“下线保存角色当前坐标”,必须勾选(未勾选则上线读不到坐标,默认随机)。
*找到“上线强制传送至安全区”或“上线保护传送”,必须取消勾选(若勾选则无视保存坐标,强制飞安全区)。
*点击【保存】,重启M2Server(仅保存不重启不生效)。

2.检查登录网关配置
*进入MirServer\LoginGate\或LoginSrv\目录,打开LoginSrv.ini。
◦搜索SaveRolePos,确保其值等于1(开启坐标保存)。

*搜索SpawnAtSafeArea,若存在则改为0(关闭上线强制安全区生成)。

二、脚本排查:删除上线随机传送命令

部分版本为了制造“人多”的假象,在登录脚本中加入了随机移动指令。

1.定位脚本文件
◦进入MirServer\Mir200\Envir\QuestDiary\。

◦重点检查Login.txt(登录触发)、QManage.txt(全局管理)、QFunction-0.txt(功能脚本)。

2.搜索并注释
◦用记事本打开上述文件,搜索关键词:RANDOMMOVE、RandomMove、移动到安全区。

*找到类似#ACTRANDOMMOVE333033010的代码行(意为在3地图330330附近10格内随机移动)。
*解决方案:在代码行最前面加//注释掉,例如改为//#ACTRANDOMMOVE333033010,保存文件。

三、数据库与存档验证(终极手段)

若上述两步无效,可能是数据库字段未更新或存档损坏。

1.检查数据库坐标
◦打开数据库(如MirDB.mdb或MySQL),找到角色表(Character或RoleInfo)。

*查看你的角色数据,检查LastMap(最后地图)、LastX、LastY字段。
*若下线后这些字段未更新,说明坐标写入失败,需检查DBServer配置或数据库权限。

2.修复损坏存档
◦进入MirServer\Mir200\Save\目录,找到对应角色名的.mir或.txt存档文件。

*备份后删除该文件,重启服务端。游戏会强制读取数据库中的初始坐标(通常是安全区中心),解决因存档错乱导致的随机飞。

四、验证修改效果

完成任何一步修改后,必须执行以下操作验证:
1.完全关闭服务端所有程序(LoginGate、M2等)。
2.重新启动整个服务端。
3.登录游戏,走到一个非安全区的固定位置(如仓库角落)。
4.下线等待10秒,再上线。若位置未变,则问题解决。

提示:若使用了“假人陪玩”脚本,部分假人脚本会包含随机移动逻辑,需在假人配置文件中关闭“上线随机”选项。
[顶部]