传奇单机版服务端在土城盟重添加传送NPC注册Merchant.txt与Market_Def脚本写法

来源: 作者: 点击:
在传奇单机版(Mir2引擎)土城(盟重省)加传送NPC需要做两件事:在Merchant.txt注册NPC位置和基础信息,在Market_Def目录建对应脚本文件写传送菜单和mapmove命令。做完后M2重载NPC即可生效。

一、确认土城地图编号与安全区坐标

打开服务端 MirServer\Mir200\Envir\MapInfo.txt 搜索"盟重"或"3",通常盟重省地图编号为 3(比奇为0、沃玛为1、祖玛为2、封魔为4,不同端一致)。土城安全区常用坐标 X=330 Y=330 或 X=318 Y=329,也可进游戏角色站在想放NPC的位置按Ctrl+F(部分端是F11/F12查坐标)记下XY。

二、在Merchant.txt注册传送NPC

进入 MirServer\Mir200\Envir\Merchant.txt,拉到最末尾回车新起一行,按格式写入:

土城传送员 3 330 330 土城传送员 0 73 0 0 0


各字段含义(空格或Tab分隔):
• 土城传送员 — NPC脚本标识名(ScriptName),对应后面建的脚本文件名,不带后缀

• 3 — 地图编号,3=盟重土城(比奇写0)

• 330 330 — NPC在地图上的X Y坐标

- 土城传送员 — 游戏内显示的NPC名字(可改成"传送使者""老兵"等)
• 0 — 是否为沙巴克NPC(0否1是)

• 73 — NPC外观代码,73是常见传送员形象(8是普通老兵、15是书店老头,可自选)

- 0 0 0 — 是否随机移动/移动间隔/变色模式,一般填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
MAPMOVE 0 330 268
SENDMSG 6 已传送至比奇城安全区!
BREAK

[@go_woma]
#ACT
MAPMOVE 1 35 34
SENDMSG 6 已传送至沃玛寺庙一层!
BREAK

[@go_zuma]
#ACT
MAPMOVE 2 68 86
SENDMSG 6 已传送至祖玛一层!
BREAK

[@go_fengmo]
#ACT
MAPMOVE 4 237 305
SENDMSG 6 已传送至封魔谷入口!
BREAK

[@exit]
#ACT
CLOSE
BREAK


说明:
• MAPMOVE 地图编号 X Y — 核心传送指令,地图编号对照MapInfo.txt确认(常见:比奇0 沃玛1 祖玛2 盟重3 封魔4 苍月5 潘夜6等)

• SENDMSG 6 — 黄色系统提示,可省略

- BREAK — 每段结束必须写,否则脚本不终止
• 若只想做一个直达尸王殿的NPC,删掉菜单只留[@main]直接写MAPMOVE D401 30 30(D401是常见尸王殿编号,以你MapInfo.txt为准)

保存为ANSI编码。

四、让NPC生效

• 启动M2Server.exe,点菜单"控制→重新加载→NPC管理(或所有NPC)",提示加载完成即可。

• 若重载后不显示,重启所有服务端(DBServer→LoginSrv→Gate→M2顺序启动)。

- 进游戏到土城指定坐标应看到NPC,右键对话出现菜单点选项即传送。

五、常见问题排查

• NPC不显示:Merchant.txt坐标被墙或NPC叠在其他NPC身上,微调XY如改328 332;确认地图号写对(土城是3不是0);Market_Def里文件名-地图号不匹配会导致不刷出。

- 点NPC无反应/说默认话:脚本文件名和Merchant.txt脚本标识不一致,或脚本编码非ANSI导致引擎读不到,用Notepad++转ANSI再存。
• 传送后卡墙/掉坑:MAPMOVE坐标不在安全区,去MapInfo.txt查该地图STARTX STARTY附近的安全坐标替换。

- 想加在比奇城:Merchant.txt写比奇传送员 0 330 268 比奇传送员 0 73 0 0 0,脚本文件命名比奇传送员-0.txt,MAPMOVE目标地图号照改。