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

