单机传奇没有传送员是因为服务端Envir目录下缺少NPC注册信息或脚本文件,需要通过修改Merchant.txt注册NPC位置并编写Market_Def脚本来实现,核心操作均在服务端Mir200文件夹内完成。
修改Merchant.txt注册传送员
打开服务端路径D:\Mirserver\Mir200\Envir\Merchant.txt,在文件末尾按格式添加一行NPC数据。
• 格式参数为:脚本路径文件名 地图编号 X坐标 Y坐标 显示名称 标志位 外观代码 移动属性。
- 以盟重土城(地图3)坐标330,330添加为例:传送员 3 330 330 传送员 0 73 0 0 0 3 2000 3。
• 脚本路径文件名“传送员”对应后续要建的脚本名,地图编号3可用游戏内@map命令查当前图号,外观代码73是老人形象可自定,各参数间必须用空格隔开。
创建Market_Def脚本文件
进入D:\Mirserver\Mir200\Envir\Market_Def目录,新建一个文本文档并重命名。
• 文件名必须与Merchant.txt里的脚本名对应,格式为“名称-地图号.txt”,上述例子需命名为“传送员-3.txt”。
- 若Merchant.txt里写了子路径如“盟重省\传送员”,则需在Market_Def下建“盟重省”文件夹再把脚本放进去。
编写传送脚本内容
用记事本打开刚建的传送员-3.txt,写入基础脚本定义对话与传送命令。
- [@main]
• #say 欢迎来到传送驿站!\请选择要去的地方:\<比奇城>\
• [@比奇城]
• #act mapmove 0 330 268
• #say 正在传往比奇城...
• [@main]是点击NPC弹出的主界面,<比奇城>是链接点击后跳转到[@比奇城]段,#act后接执行命令,mapmove 0 330 268代表传送到地图0(比奇)坐标330,268,不同引擎也可用MAP 0代替mapmove。
重载与测试生效
保存所有文件后回到M2Server引擎控制器,点击顶部菜单“控制-重新加载-所有NPC”即可热更新,无需重启服务端。
• 进游戏跑到设置的330,330坐标处就能看到传送员,点击对话测试是否能传送到目标地图。
- 若看不见NPC检查Merchant.txt文件名与Market_Def文件名是否完全一致含-地图号,坐标是否踩在障碍物和墙里,脚本编码需存为ANSI防乱码。
利用现有NPC改造
如果不想新建NPC,可打开Market_Def里已有的如“比奇老兵-0.txt”,在[@main]底下加新的链接和[@段]写入mapmove命令,同样重载NPC就能让老兵兼做传送员。
- 查现有NPC坐标可在游戏内走到NPC旁按F1或输入@mobinfo看信息,再去Merchant.txt核对行列参数。
• 修改原脚本前备份一份txt文件,改崩了直接覆盖还原避免进游戏报错。

