在传奇单机版(Mir2引擎)土城(盟重省)加传送NPC需要做两件事:在Merchant.txt注册NPC位置和基础信息,在Market_Def目录建对应脚本文件写传送菜单和mapmove命令。做完后M2重载NPC即可生效。
一、确认土城地图编号与安全区坐标
打开服务端MirServer\Mir200\Envir\MapInfo.txt搜索"盟重"或"3",通常盟重省地图编号为3(比奇为0、沃玛为1、祖玛为2、封魔为4,不同端一致)。土城安全区常用坐标X=330Y=330或X=318Y=329,也可进游戏角色站在想放NPC的位置按Ctrl+F(部分端是F11/F12查坐标)记下XY。
二、在Merchant.txt注册传送NPC
进入MirServer\Mir200\Envir\Merchant.txt,拉到最末尾回车新起一行,按格式写入:
土城传送员3330330土城传送员073000
各字段含义(空格或Tab分隔):
•土城传送员—NPC脚本标识名(ScriptName),对应后面建的脚本文件名,不带后缀
•3—地图编号,3=盟重土城(比奇写0)
•330330—NPC在地图上的XY坐标
-土城传送员—游戏内显示的NPC名字(可改成"传送使者""老兵"等)
•0—是否为沙巴克NPC(0否1是)
•73—NPC外观代码,73是常见传送员形象(8是普通老兵、15是书店老头,可自选)
-000—是否随机移动/移动间隔/变色模式,一般填0固定位置
保存为ANSI编码。
三、编写传送脚本文件
进入MirServer\Mir200\Envir\Market_Def目录,新建文本文件命名为:
土城传送员-3.txt
注意文件名=Merchant.txt里的脚本标识+"-"+地图编号+".txt",地图号必须和Merchant.txt一致(土城是3),否则点NPC无反应。
脚本内容范例如下一个多点传送菜单(可照抄改地图编号):
[@main]
#SAY欢迎来到土城传送站,请选择目的地:\\
<传送到比奇城/@go_biqi>\\\
<传送到沃玛寺庙/@go_woma>\\\
<传送到祖玛神殿/@go_zuma>\\\
<传送到封魔谷/@go_fengmo>\\\
<离开/@exit>
[@go_biqi]
#ACT
MAPMOVE0330268
SENDMSG6已传送至比奇城安全区!
BREAK
[@go_woma]
#ACT
MAPMOVE13534
SENDMSG6已传送至沃玛寺庙一层!
BREAK
[@go_zuma]
#ACT
MAPMOVE26886
SENDMSG6已传送至祖玛一层!
BREAK
[@go_fengmo]
#ACT
MAPMOVE4237305
SENDMSG6已传送至封魔谷入口!
BREAK
[@exit]
#ACT
CLOSE
BREAK
说明:
•MAPMOVE地图编号XY—核心传送指令,地图编号对照MapInfo.txt确认(常见:比奇0沃玛1祖玛2盟重3封魔4苍月5潘夜6等)
•SENDMSG6—黄色系统提示,可省略
-BREAK—每段结束必须写,否则脚本不终止
•若只想做一个直达尸王殿的NPC,删掉菜单只留[@main]直接写MAPMOVED4013030(D401是常见尸王殿编号,以你MapInfo.txt为准)
保存为ANSI编码。
四、让NPC生效
•启动M2Server.exe,点菜单"控制→重新加载→NPC管理(或所有NPC)",提示加载完成即可。
•若重载后不显示,重启所有服务端(DBServer→LoginSrv→Gate→M2顺序启动)。
-进游戏到土城指定坐标应看到NPC,右键对话出现菜单点选项即传送。
五、常见问题排查
•NPC不显示:Merchant.txt坐标被墙或NPC叠在其他NPC身上,微调XY如改328332;确认地图号写对(土城是3不是0);Market_Def里文件名-地图号不匹配会导致不刷出。
-点NPC无反应/说默认话:脚本文件名和Merchant.txt脚本标识不一致,或脚本编码非ANSI导致引擎读不到,用Notepad++转ANSI再存。
•传送后卡墙/掉坑:MAPMOVE坐标不在安全区,去MapInfo.txt查该地图STARTXSTARTY附近的安全坐标替换。
-想加在比奇城:Merchant.txt写比奇传送员0330268比奇传送员073000,脚本文件命名比奇传送员-0.txt,MAPMOVE目标地图号照改。
一、确认土城地图编号与安全区坐标
打开服务端MirServer\Mir200\Envir\MapInfo.txt搜索"盟重"或"3",通常盟重省地图编号为3(比奇为0、沃玛为1、祖玛为2、封魔为4,不同端一致)。土城安全区常用坐标X=330Y=330或X=318Y=329,也可进游戏角色站在想放NPC的位置按Ctrl+F(部分端是F11/F12查坐标)记下XY。
二、在Merchant.txt注册传送NPC
进入MirServer\Mir200\Envir\Merchant.txt,拉到最末尾回车新起一行,按格式写入:
土城传送员3330330土城传送员073000
各字段含义(空格或Tab分隔):
•土城传送员—NPC脚本标识名(ScriptName),对应后面建的脚本文件名,不带后缀
•3—地图编号,3=盟重土城(比奇写0)
•330330—NPC在地图上的XY坐标
-土城传送员—游戏内显示的NPC名字(可改成"传送使者""老兵"等)
•0—是否为沙巴克NPC(0否1是)
•73—NPC外观代码,73是常见传送员形象(8是普通老兵、15是书店老头,可自选)
-000—是否随机移动/移动间隔/变色模式,一般填0固定位置
保存为ANSI编码。
三、编写传送脚本文件
进入MirServer\Mir200\Envir\Market_Def目录,新建文本文件命名为:
土城传送员-3.txt
注意文件名=Merchant.txt里的脚本标识+"-"+地图编号+".txt",地图号必须和Merchant.txt一致(土城是3),否则点NPC无反应。
脚本内容范例如下一个多点传送菜单(可照抄改地图编号):
[@main]
#SAY欢迎来到土城传送站,请选择目的地:\\
<传送到比奇城/@go_biqi>\\\
<传送到沃玛寺庙/@go_woma>\\\
<传送到祖玛神殿/@go_zuma>\\\
<传送到封魔谷/@go_fengmo>\\\
<离开/@exit>
[@go_biqi]
#ACT
MAPMOVE0330268
SENDMSG6已传送至比奇城安全区!
BREAK
[@go_woma]
#ACT
MAPMOVE13534
SENDMSG6已传送至沃玛寺庙一层!
BREAK
[@go_zuma]
#ACT
MAPMOVE26886
SENDMSG6已传送至祖玛一层!
BREAK
[@go_fengmo]
#ACT
MAPMOVE4237305
SENDMSG6已传送至封魔谷入口!
BREAK
[@exit]
#ACT
CLOSE
BREAK
说明:
•MAPMOVE地图编号XY—核心传送指令,地图编号对照MapInfo.txt确认(常见:比奇0沃玛1祖玛2盟重3封魔4苍月5潘夜6等)
•SENDMSG6—黄色系统提示,可省略
-BREAK—每段结束必须写,否则脚本不终止
•若只想做一个直达尸王殿的NPC,删掉菜单只留[@main]直接写MAPMOVED4013030(D401是常见尸王殿编号,以你MapInfo.txt为准)
保存为ANSI编码。
四、让NPC生效
•启动M2Server.exe,点菜单"控制→重新加载→NPC管理(或所有NPC)",提示加载完成即可。
•若重载后不显示,重启所有服务端(DBServer→LoginSrv→Gate→M2顺序启动)。
-进游戏到土城指定坐标应看到NPC,右键对话出现菜单点选项即传送。
五、常见问题排查
•NPC不显示:Merchant.txt坐标被墙或NPC叠在其他NPC身上,微调XY如改328332;确认地图号写对(土城是3不是0);Market_Def里文件名-地图号不匹配会导致不刷出。
-点NPC无反应/说默认话:脚本文件名和Merchant.txt脚本标识不一致,或脚本编码非ANSI导致引擎读不到,用Notepad++转ANSI再存。
•传送后卡墙/掉坑:MAPMOVE坐标不在安全区,去MapInfo.txt查该地图STARTXSTARTY附近的安全坐标替换。
-想加在比奇城:Merchant.txt写比奇传送员0330268比奇传送员073000,脚本文件命名比奇传送员-0.txt,MAPMOVE目标地图号照改。

