先确认两个现象不是一回事:随机卷点不动是地图被禁随机;新人一上线总在同一个点,是出生点配置固定。两套逻辑分开改。
一、地图不能随机传送:查MapInfo参数
进服务端Mir200\Envir\MapInfo.txt,找到对应地图那一行,格式大概这样:
[3盟重省]SAFE
如果后面带了下面这些参数,随机卷、随机石、传送戒指就会失效:
NORANDOMMOVE禁止随机传送卷
NOPOSITIONMOVE禁止传送戒指等定点传送
NOSPACEMOVE禁止回城卷/结婚戒指
NORECALL禁止记忆套装召回
NORE
NORECONNECT(地图号)掉线后重登被扔到指定地图
比如某张图写成:
[1050祖玛教主之家]FIGHTNORANDOMMOVENOPOSITIONMOVE
那在这张图里随机卷就是灰的。把NORANDOMMOVE和NOPOSITIONMOVE删掉,保存,M2点“重新加载地图配置”或者重启M2,再进图测试。
注意:参数名大小写不敏感,但拼写必须全对,NORANDOMMOVE少个字母地图会直接忽略,看起来像没生效。
二让某张图“能随机但限制范围”,不要加NORANDOMMOVE,用脚本层控制就行,地图参数保持干净。
二、道具级禁用:NOTALLOWUSEITEMS
有些版本不是禁地图,而是禁道具:
[1050祖玛教主之家]NOTALLOWUSEITEMS(随机传送卷随机石
回城卷)
这种地图参数里没写NORANDOMMOVE,但用了随机卷会被系统直接拦掉。想放开就把括号里的物品名去掉或删整段。
三、新人出生地为什么总在同一个点
不是bug,是默认机制。新角色创建后读三个地方,按顺序生效:
1.!Setup.txt全局出生点
路径Mir200\!Setup.txt,搜这段:
HomeMap=0
HomeX=289
HomeY=618
HomeMap是地图编号,对应MapInfo.txt里的编号;HomeX/HomeY是固定坐标。改成你想让新人出生的地图和坐标,保存重启M2。
三职业分开配也行:
WarriorHomeMap=0
WarriorHomeX=289
WarriorHomeY=618
WizardHomeMap=0
WizardHomeX=650
WizardHomeY=631
TaoistHomeMap=0
TaoistHomeX=334
TaoistHomeY=266
2.StartPoint.txt安全区出生点
路径Mir200\Envir\StartPoint.txt,格式:
;地图号XY禁言范围光环PK区PK火
0289618010400
最后一列“范围”如果是10,代表在10格内安全区随机;想完全固定,把范围改成0,坐标写死。
M2控制台里“选项-参数设置-坐标范围-新人出生点范围数”如果设成2,会随机读前两条记录,设成1就只认第一条。
3.数据库/存档层
角色表里LastMap、LastX、LastY控制老角色下线后上线位置;新角色只看上面两个配置文件。
四、下线再上线被扔回安全区随机点
这是另一个常见问题,根因通常是三个:
M2没开坐标保存
M2控制台:选项-参数设置-角色设置,勾“下线保存角色当前坐标”,取消“上线强制传送安全区”。
!Setup.txt里SaveUserPos=0
改成SaveUserPos=1,老角色才会记住下线位置。
登录脚本里有强制随机命令
查这几个文件:
Mir200\Envir\MapQuest_def\QFunction-0.txt
Mir200\Envir\QuestDiary\QManage.txt
Mir200\Envir\Market_Def里相关触发脚本
搜关键词:RANDOMMOVE、RandomMove、MAPMOVE、MoveToRandom。
看到类似:
[@Login]
ACT
RANDOMMOVE333033010
直接注释掉,前面加//或;,保存重载脚本。
如果想让上线固定回原坐标,不用写脚本,开SaveUserPos就行;只有要做
想强制飞到指定点才用:
[@Login]
IF
ACT
MAPMOVE3330330
五、想让新人出生点“随机”反而要手动做
原版机制是固定点。要真随机,得靠脚本在创建角色或首次登录时掷点:
[@Login]
IF
CHECKVARHUMAN已初始化=0
ACT
RANDOM14
CASE1
MAPMOVE0280600
CASE2
MAPMOVE0330330
CASE3
MAPMOVE3320320
CASE4
MAPMOVE3290610
SETVARHUMAN已初始化=1
CHECKVAR那段是自己加的标记,避免每次上线都重掷。GOM/GEE/Hero语法略有差异,Hero里RANDOM写法要按引擎文档调。
六、死亡复活点也是独立配置
死了以后回城还是回安全区,看两处:
MapInfo.txt里安全区地图带SAFE参数,默认复活在最近安全区。
部分版本在QFunction-0.txt有[@Death]或[@Revival]段,里面写了MAPMOVE强制回城。
想让复活点固定,就把脚本里的RANDOM分支删掉,写死MAPMOVE3330330。
七、调试顺序
先改MapInfo去掉NORANDOMMOVE,拿随机卷进图测,确认地图层放开。
再改!Setup.txt的HomeMap/HomeX/HomeY,建新号看出生点。
然后查StartPoint.txt范围值,设0固定。
最后清登录脚本里的RANDOMMOVE/MAPMOVE强制命令。
每次只改一处,重启或重载后建测试号验证,别一次性全改。
八、常见翻车点
改了MapInfo没重载:M2里“控制-重新加载-地图设置”点一下,不然读缓存。
坐标站在墙里:MAPMOVE目标点必须是可行走格,用M2“查看-地图信息”查安全区中心坐标。
三职业配置冲突:!Setup.txt里同时有HomeMap和三职业独立配置,引擎优先读三职业那段。
脚本热重载失败:部分引擎不认@Login热重载
重载,改完重启M2最稳。
备份习惯:动MapInfo.txt、!Setup.txt、StartPoint.txt、QFunction-0.txt前,每个文件复制一份.bak,改崩了直接覆原。
地图随机和出生点本质就是“参数开关+坐标配置+脚本触发”三层,先分层定位再动手,比到处改文件效率高得多。
一、地图不能随机传送:查MapInfo参数
进服务端Mir200\Envir\MapInfo.txt,找到对应地图那一行,格式大概这样:
[3盟重省]SAFE
如果后面带了下面这些参数,随机卷、随机石、传送戒指就会失效:
NORANDOMMOVE禁止随机传送卷
NOPOSITIONMOVE禁止传送戒指等定点传送
NOSPACEMOVE禁止回城卷/结婚戒指
NORECALL禁止记忆套装召回
NORE
NORECONNECT(地图号)掉线后重登被扔到指定地图
比如某张图写成:
[1050祖玛教主之家]FIGHTNORANDOMMOVENOPOSITIONMOVE
那在这张图里随机卷就是灰的。把NORANDOMMOVE和NOPOSITIONMOVE删掉,保存,M2点“重新加载地图配置”或者重启M2,再进图测试。
注意:参数名大小写不敏感,但拼写必须全对,NORANDOMMOVE少个字母地图会直接忽略,看起来像没生效。
二让某张图“能随机但限制范围”,不要加NORANDOMMOVE,用脚本层控制就行,地图参数保持干净。
二、道具级禁用:NOTALLOWUSEITEMS
有些版本不是禁地图,而是禁道具:
[1050祖玛教主之家]NOTALLOWUSEITEMS(随机传送卷随机石
回城卷)
这种地图参数里没写NORANDOMMOVE,但用了随机卷会被系统直接拦掉。想放开就把括号里的物品名去掉或删整段。
三、新人出生地为什么总在同一个点
不是bug,是默认机制。新角色创建后读三个地方,按顺序生效:
1.!Setup.txt全局出生点
路径Mir200\!Setup.txt,搜这段:
HomeMap=0
HomeX=289
HomeY=618
HomeMap是地图编号,对应MapInfo.txt里的编号;HomeX/HomeY是固定坐标。改成你想让新人出生的地图和坐标,保存重启M2。
三职业分开配也行:
WarriorHomeMap=0
WarriorHomeX=289
WarriorHomeY=618
WizardHomeMap=0
WizardHomeX=650
WizardHomeY=631
TaoistHomeMap=0
TaoistHomeX=334
TaoistHomeY=266
2.StartPoint.txt安全区出生点
路径Mir200\Envir\StartPoint.txt,格式:
;地图号XY禁言范围光环PK区PK火
0289618010400
最后一列“范围”如果是10,代表在10格内安全区随机;想完全固定,把范围改成0,坐标写死。
M2控制台里“选项-参数设置-坐标范围-新人出生点范围数”如果设成2,会随机读前两条记录,设成1就只认第一条。
3.数据库/存档层
角色表里LastMap、LastX、LastY控制老角色下线后上线位置;新角色只看上面两个配置文件。
四、下线再上线被扔回安全区随机点
这是另一个常见问题,根因通常是三个:
M2没开坐标保存
M2控制台:选项-参数设置-角色设置,勾“下线保存角色当前坐标”,取消“上线强制传送安全区”。
!Setup.txt里SaveUserPos=0
改成SaveUserPos=1,老角色才会记住下线位置。
登录脚本里有强制随机命令
查这几个文件:
Mir200\Envir\MapQuest_def\QFunction-0.txt
Mir200\Envir\QuestDiary\QManage.txt
Mir200\Envir\Market_Def里相关触发脚本
搜关键词:RANDOMMOVE、RandomMove、MAPMOVE、MoveToRandom。
看到类似:
[@Login]
ACT
RANDOMMOVE333033010
直接注释掉,前面加//或;,保存重载脚本。
如果想让上线固定回原坐标,不用写脚本,开SaveUserPos就行;只有要做
想强制飞到指定点才用:
[@Login]
IF
ACT
MAPMOVE3330330
五、想让新人出生点“随机”反而要手动做
原版机制是固定点。要真随机,得靠脚本在创建角色或首次登录时掷点:
[@Login]
IF
CHECKVARHUMAN已初始化=0
ACT
RANDOM14
CASE1
MAPMOVE0280600
CASE2
MAPMOVE0330330
CASE3
MAPMOVE3320320
CASE4
MAPMOVE3290610
SETVARHUMAN已初始化=1
CHECKVAR那段是自己加的标记,避免每次上线都重掷。GOM/GEE/Hero语法略有差异,Hero里RANDOM写法要按引擎文档调。
六、死亡复活点也是独立配置
死了以后回城还是回安全区,看两处:
MapInfo.txt里安全区地图带SAFE参数,默认复活在最近安全区。
部分版本在QFunction-0.txt有[@Death]或[@Revival]段,里面写了MAPMOVE强制回城。
想让复活点固定,就把脚本里的RANDOM分支删掉,写死MAPMOVE3330330。
七、调试顺序
先改MapInfo去掉NORANDOMMOVE,拿随机卷进图测,确认地图层放开。
再改!Setup.txt的HomeMap/HomeX/HomeY,建新号看出生点。
然后查StartPoint.txt范围值,设0固定。
最后清登录脚本里的RANDOMMOVE/MAPMOVE强制命令。
每次只改一处,重启或重载后建测试号验证,别一次性全改。
八、常见翻车点
改了MapInfo没重载:M2里“控制-重新加载-地图设置”点一下,不然读缓存。
坐标站在墙里:MAPMOVE目标点必须是可行走格,用M2“查看-地图信息”查安全区中心坐标。
三职业配置冲突:!Setup.txt里同时有HomeMap和三职业独立配置,引擎优先读三职业那段。
脚本热重载失败:部分引擎不认@Login热重载
重载,改完重启M2最稳。
备份习惯:动MapInfo.txt、!Setup.txt、StartPoint.txt、QFunction-0.txt前,每个文件复制一份.bak,改崩了直接覆原。
地图随机和出生点本质就是“参数开关+坐标配置+脚本触发”三层,先分层定位再动手,比到处改文件效率高得多。

