先确认两个现象不是一回事:随机卷点不动是地图被禁随机;新人一上线总在同一个点,是出生点配置固定。两套逻辑分开改。
一、地图不能随机传送:查 MapInfo 参数
进服务端 Mir200\Envir\MapInfo.txt,找到对应地图那一行,格式大概这样:
[3 盟重省] SAFE
如果后面带了下面这些参数,随机卷、随机石、传送戒指就会失效:
NORANDOMMOVE 禁止随机传送卷
NOPOSITIONMOVE 禁止传送戒指等定点传送
NOSPACEMOVE 禁止回城卷/结婚戒指
NORECALL 禁止记忆套装召回
NORE
NORECONNECT(地图号) 掉线后重登被扔到指定地图
比如某张图写成:
[1050 祖玛教主之家] FIGHT NORANDOMMOVE NOPOSITIONMOVE
那在这张图里随机卷就是灰的。把 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,格式:
;地图号 X Y 禁言 范围 光环 PK区 PK火
0 289 618 0 10 4 0 0
最后一列“范围”如果是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
RANDOMMOVE 3 330 330 10
直接注释掉,前面加 // 或 ; ,保存重载脚本。
如果想让上线固定回原坐标,不用写脚本,开 SaveUserPos 就行;只有要做
想强制飞到指定点才用:
[@Login]
IF
ACT
MAPMOVE 3 330 330
五、想让新人出生点“随机”反而要手动做
原版机制是固定点。要真随机,得靠脚本在创建角色或首次登录时掷点:
[@Login]
IF
CHECKVAR HUMAN 已初始化 = 0
ACT
RANDOM 1 4
CASE 1
MAPMOVE 0 280 600
CASE 2
MAPMOVE 0 330 330
CASE 3
MAPMOVE 3 320 320
CASE 4
MAPMOVE 3 290 610
SETVAR HUMAN 已初始化 = 1
CHECKVAR 那段是自己加的标记,避免每次上线都重掷。GOM/GEE/Hero 语法略有差异,Hero 里 RANDOM 写法要按引擎文档调。
六、死亡复活点也是独立配置
死了以后回城还是回安全区,看两处:
MapInfo.txt 里安全区地图带 SAFE 参数,默认复活在最近安全区。
部分版本在 QFunction-0.txt 有 [@Death] 或 [@Revival] 段,里面写了 MAPMOVE 强制回城。
想让复活点固定,就把脚本里的 RANDOM 分支删掉,写死 MAPMOVE 3 330 330。
七、调试顺序
先改 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,改崩了直接覆原。
地图随机和出生点本质就是“参数开关+坐标配置+脚本触发”三层,先分层定位再动手,比到处改文件效率高得多。
传奇地图随机失效与新人出生点固定修改完整教程
来源:
作者:
点击:

