在土城添加直达尸王殿的传送NPC,需修改MerChant.txt注册NPC位置,并在Market_Def目录下编写传送脚本。核心命令为mapmove,需准确填写尸王殿的地图编号与坐标。
一、MerChant.txt 添加NPC注册信息
打开服务端目录 Mir200\Envir\MerChant.txt,在文件末尾新增一行NPC配置。
配置格式示例(以盟重土城为例):
尸王殿传送员 3 330 320 尸王殿传送员 0 8 0 0 0
参数拆解说明:
• 尸王殿传送员:脚本文件名(不含后缀),需与后续创建的脚本文件名称对应。
* 3:地图编号。3通常代表盟重省(土城),具体编号请查看 MapInfo.txt。
* 330 320:NPC在土城地图中的坐标(X Y),可使用地图查看工具选取空地。
* 0:NPC面向方向(0-7)。
• 8:NPC外观代码(APPR),8通常为老兵形象,可修改为其他数值改变外观。
* 0 0 0:分别代表是否沙城NPC、是否移动、移动间隔,一般填0即可。
二、编写传送脚本文件
在 Mir200\Envir\Market_Def 目录下,新建文本文件并命名为 尸王殿传送员-3.txt(注意:-3对应土城地图编号,若地图编号为5则写-5)。
脚本内容示例:
[@main]
#SAY
你好,我可以直接送你前往尸王殿,是否前往?\ \
<传送至尸王殿/@传送> <关闭/@exit>
[@传送]
#IF
; 此处可添加条件,如 checklevel 35(检测等级35级)
; 或 checkitem 金币 10000(检测1万金币)
#ACT
; 扣除费用 take 金币 10000
mapmove D401 30 30
SENDMSG 6 传送成功!已到达尸王殿。
#ELSEACT
MESSAGEBOX 条件不足,无法传送!
关键命令说明:
• mapmove D401 30 30:核心传送命令。D401为尸王殿地图编号(常见编号有D401、Q004、SHR01等,请务必查看服务端 MapInfo.txt 确认),30 30为殿内安全坐标。
• 条件判断:#IF 段可添加 checklevel(等级)、checkgold(金币)等检测,#ACT 段内 take 命令用于扣除费用。
三、重载NPC与坐标确认
1. 重载生效:修改并保存文件后,打开M2Server(引擎控制器),点击“控制” -> “重新加载” -> “所有NPC”。无需重启服务端,游戏内即可看到新增NPC。
2. 地图编号确认:若传送后位置错误或提示无效地图,请检查 Mir200\Envir\MapInfo.txt 文件,搜索“尸王殿”或“Sewer”确认正确的地图编号。
3. 坐标调整:若传送至尸王殿后卡墙,需调整 mapmove 后的坐标参数,通常改为地图中心点或空旷区域。
注意:若MerChant.txt中地图编号写错(如将3写成0),M2启动时会报“Merchant Initalize fail”错误,NPC将无法显示。脚本文件必须放在 Market_Def 目录下,且文件名中的地图编号后缀(如-3)必须与MerChant.txt中的地图编号一致。

