在自架传奇服务端中添加传送NPC,需修改服务端配置文件并编写脚本。以下以在土城(盟重省)添加一个直达尸王殿的NPC为例,分步说明。
第一步:确定NPC基本信息与存放位置
1.服务端目录:操作均在服务端主目录下进行,通常为D:\MirServer\。
2.NPC脚本存放路径:NPC对话脚本通常存放在Mir200\Envir\Market_Def\或Mir200\Envir\Npc_def\目录下。请先查看该目录下是否存在以“盟重省”或“土城”命名的文件夹,若无,可直接在Market_Def根目录下操作。
3.NPC总控文件:所有NPC的列表定义在Mir200\Envir\Merchant.txt文件中。
第二步:编写NPC传送脚本
在Market_Def目录(或其中的“盟重省”子目录)下,新建一个文本文件。文件名可自定义,例如“尸王殿传送员.txt”。用记事本打开,写入以下基础脚本内容:
[@main]
欢迎使用尸王殿直达服务!\\
<前往尸王殿/@go>\
<离开/@exit>
[@go]
#IF
#ACT
mapmoveD717100100
SendMsg5已成功传送至尸王殿!
break
[@exit]
#IF
#ACT
close
break
脚本关键点说明:
•[@main]:NPC的默认对话界面。
•<前往尸王殿/@go>:在对话框中创建一个名为“前往尸王殿”的按钮,点击后触发[@go]段脚本。
•mapmoveD717100100:核心传送命令。D717是尸王殿的地图编号,100100是传送后的坐标。这两个参数必须根据你服务端的实际设置进行修改。
•SendMsg5:向玩家发送一条绿色系统提示消息。
第三步:获取尸王殿准确地图编号与坐标
1.查找地图编号:打开Mir200\Envir\MapInfo.txt文件,使用搜索功能查找“尸王殿”。你会找到类似[D717尸王殿]的行,其中D717即为该地图的编号。请以你文件中的实际编号为准。
2.确定安全坐标:传送目标坐标应设置为该地图内的一个安全、空旷位置,避免玩家被传送到墙壁或怪物堆中。你可以通过游戏内实地跑图记录坐标,或使用服务端配套的地图编辑器查看。
第四步:在Merchant.txt中注册NPC
打开Mir200\Envir\Merchant.txt文件,在文件末尾新建一行,按以下格式添加:
盟重省/尸王殿传送员3330330尸王殿传送员080
参数详解(以空格分隔):
•盟重省/尸王殿传送员:指定脚本文件路径和名称。若脚本直接放在Market_Def下,可只写“尸王殿传送员”;若放在“盟重省”子文件夹下,则需加上路径。
•3:地图编号,3代表盟重土城。
•330330:NPC在土城地图中出现的坐标,可自行调整到合适位置。
•尸王殿传送员:NPC头顶显示的名称。
•0:NPC外观代码,0通常为默认男性角色外观,可根据需要更改。
•8:表示该NPC属于沙巴克城(非沙城玩家也可对话),若无需此属性可改为0。
•0:固定参数。
第五步:重启服务端并测试
保存所有修改的文件后,必须完全重启传奇服务端程序(包括M2Server等核心程序),修改才能生效。重启后,登录游戏,前往土城坐标(330330)附近,即可看到新添加的“尸王殿传送员”NPC,对话点击“前往尸王殿”即可传送。
注意事项与排查
•脚本编码:确保脚本文件以ANSI编码保存,否则可能导致乱码或失效。
•坐标有效性:确保NPC放置坐标和传送目标坐标都在可行走的地面区域。
•文件一致性:Merchant.txt中指定的脚本文件名必须与实际创建的脚本文件名称完全一致(包括路径)。
•地图编号核对:务必使用MapInfo.txt中查到的真实尸王殿地图编号,不同服务端版本可能不同。
按照以上步骤操作,即可成功添加一个从土城直达尸王殿的传送NPC。如需添加更多传送目的地,可在脚本中参照格式增加对应的按钮和传送命令段。
第一步:确定NPC基本信息与存放位置
1.服务端目录:操作均在服务端主目录下进行,通常为D:\MirServer\。
2.NPC脚本存放路径:NPC对话脚本通常存放在Mir200\Envir\Market_Def\或Mir200\Envir\Npc_def\目录下。请先查看该目录下是否存在以“盟重省”或“土城”命名的文件夹,若无,可直接在Market_Def根目录下操作。
3.NPC总控文件:所有NPC的列表定义在Mir200\Envir\Merchant.txt文件中。
第二步:编写NPC传送脚本
在Market_Def目录(或其中的“盟重省”子目录)下,新建一个文本文件。文件名可自定义,例如“尸王殿传送员.txt”。用记事本打开,写入以下基础脚本内容:
[@main]
欢迎使用尸王殿直达服务!\\
<前往尸王殿/@go>\
<离开/@exit>
[@go]
#IF
#ACT
mapmoveD717100100
SendMsg5已成功传送至尸王殿!
break
[@exit]
#IF
#ACT
close
break
脚本关键点说明:
•[@main]:NPC的默认对话界面。
•<前往尸王殿/@go>:在对话框中创建一个名为“前往尸王殿”的按钮,点击后触发[@go]段脚本。
•mapmoveD717100100:核心传送命令。D717是尸王殿的地图编号,100100是传送后的坐标。这两个参数必须根据你服务端的实际设置进行修改。
•SendMsg5:向玩家发送一条绿色系统提示消息。
第三步:获取尸王殿准确地图编号与坐标
1.查找地图编号:打开Mir200\Envir\MapInfo.txt文件,使用搜索功能查找“尸王殿”。你会找到类似[D717尸王殿]的行,其中D717即为该地图的编号。请以你文件中的实际编号为准。
2.确定安全坐标:传送目标坐标应设置为该地图内的一个安全、空旷位置,避免玩家被传送到墙壁或怪物堆中。你可以通过游戏内实地跑图记录坐标,或使用服务端配套的地图编辑器查看。
第四步:在Merchant.txt中注册NPC
打开Mir200\Envir\Merchant.txt文件,在文件末尾新建一行,按以下格式添加:
盟重省/尸王殿传送员3330330尸王殿传送员080
参数详解(以空格分隔):
•盟重省/尸王殿传送员:指定脚本文件路径和名称。若脚本直接放在Market_Def下,可只写“尸王殿传送员”;若放在“盟重省”子文件夹下,则需加上路径。
•3:地图编号,3代表盟重土城。
•330330:NPC在土城地图中出现的坐标,可自行调整到合适位置。
•尸王殿传送员:NPC头顶显示的名称。
•0:NPC外观代码,0通常为默认男性角色外观,可根据需要更改。
•8:表示该NPC属于沙巴克城(非沙城玩家也可对话),若无需此属性可改为0。
•0:固定参数。
第五步:重启服务端并测试
保存所有修改的文件后,必须完全重启传奇服务端程序(包括M2Server等核心程序),修改才能生效。重启后,登录游戏,前往土城坐标(330330)附近,即可看到新添加的“尸王殿传送员”NPC,对话点击“前往尸王殿”即可传送。
注意事项与排查
•脚本编码:确保脚本文件以ANSI编码保存,否则可能导致乱码或失效。
•坐标有效性:确保NPC放置坐标和传送目标坐标都在可行走的地面区域。
•文件一致性:Merchant.txt中指定的脚本文件名必须与实际创建的脚本文件名称完全一致(包括路径)。
•地图编号核对:务必使用MapInfo.txt中查到的真实尸王殿地图编号,不同服务端版本可能不同。
按照以上步骤操作,即可成功添加一个从土城直达尸王殿的传送NPC。如需添加更多传送目的地,可在脚本中参照格式增加对应的按钮和传送命令段。

