一、准备工作:找到关键文件
1.1必须定位的2个核心文件
•NPC配置文件:`D:\MirServer\Mud2\NPC\npc.txt`(所有NPC数据来源)
•地图脚本文件:`D:\MirServer\Mud2\Map\MapInfo.txt`(地图坐标定义)
1.2提前备份文件
在修改任何文件前,务必将这两个文件复制到桌面备份(防止改错导致游戏崩溃)
---
二、具体操作步骤(附代码示例)
2.1在土城添加传送NPC
1.打开npc.txt文件
用记事本打开`npc.txt`,在文件末尾添加以下代码:
```txt
##土城传送员101
NPCName=传送员小明
MapName=比奇省
X=327
Y=345
Dir=0
Script=传送至尸王殿
```
参数说明:
•`MapName`:必须与地图文件中的名称完全一致(比奇省=土城)
•`X/Y`:用官方地图工具查看土城中心点坐标(默认327345)
•`Script`:对应后续脚本名称
2.保存文件(切记不要用记事本直接保存,改用Notepad++避免乱码)
2.2编写传送脚本
1.打开MapInfo.txt
找到尸王殿地图定义段落(通常名为`骷髅洞穴`或`鬼王殿`),复制其地图ID。例如:
```txt
[Map003]
Name=骷髅洞穴
StartX=100
StartY=100
```
2.创建新脚本文件
在服务端目录新建`D:\MirServer\Mud2\Script\传送至尸王殿.txt`,写入以下代码:
```lua
--传送至尸王殿
functionOnClick()
localmapid=GetMapID("骷髅洞穴")--对应MapInfo.txt中的地图名称
localx=100--尸王殿出生点X坐标
localy=100--尸王殿出生点Y坐标
PlayerSetPos(mapidxy)
SendMsg(PlayerID"[系统]已传送到尸王殿!")
end
```
---
三、测试与验证
3.1重启服务端
依次重启以下服务:
1.DBSrv.exe(数据库服务)
2.LoginSrv.exe(登录服务)
3.M2Server.exe(游戏主服务)
3.2客户端验证
1.进入土城(坐标327345附近)
2.找到「传送员小明」NPC对话
3.观察是否弹出传送提示并到达目标位置
---
四、常见问题排查
4.1NPC不显示
•检查`npc.txt`文件编码是否为ANSI(用Notepad++转换)
•确认NPC坐标是否在土城可视范围内(建议X/Y在300-350之间)
4.2传送后卡进墙里
•在MapInfo.txt中确认目标地图的`StartX/Y`坐标是否在安全区域
•修改尸王殿出生点坐标为`x=150y=150`(通常更靠近入口)
4.3脚本报错
•检查脚本文件名是否与NPC配置中的`Script`参数完全一致
•确认`骷髅洞穴`地图名称与MapInfo.txt中的定义完全相同(包括标点符号)
---
五、进阶玩法:批量添加传送NPC
5.1创建传送列表
在`D:\MirServer\Mud2\Script\传送列表.txt`中编写:
```lua
--土城→沃玛寺庙
functionGoToWOM()
localmapid=GetMapID("沃玛寺庙")
PlayerSetPos(mapid200200)
end
--比奇→毒蛇山谷
functionGoToDSSG()
localmapid=GetMapID("毒蛇山谷")
PlayerSetPos(mapid5080)
end
```
5.2关联NPC菜单
修改`npc.txt`中的Script参数:
```txt
Script=菜单1|GoToWOM|GoToDSSG
```
---
六、注意事项
1.坐标获取工具:推荐使用「传奇地图编辑器2023」查看精确坐标
2.防刷机制:在脚本中加入冷却时间限制(例如每小时只能传送3次)
3.多开兼容:如果使用多开器,需在DBConfig.ini中设置`AllowMultiClient=1`
---
终极提示:所有地图名称、坐标参数必须与服务端实际数据完全一致。建议先用记事本搜索`骷髅洞穴`等关键词确认地图ID,避免手动输入错误。
1.1必须定位的2个核心文件
•NPC配置文件:`D:\MirServer\Mud2\NPC\npc.txt`(所有NPC数据来源)
•地图脚本文件:`D:\MirServer\Mud2\Map\MapInfo.txt`(地图坐标定义)
1.2提前备份文件
在修改任何文件前,务必将这两个文件复制到桌面备份(防止改错导致游戏崩溃)
---
二、具体操作步骤(附代码示例)
2.1在土城添加传送NPC
1.打开npc.txt文件
用记事本打开`npc.txt`,在文件末尾添加以下代码:
```txt
##土城传送员101
NPCName=传送员小明
MapName=比奇省
X=327
Y=345
Dir=0
Script=传送至尸王殿
```
参数说明:
•`MapName`:必须与地图文件中的名称完全一致(比奇省=土城)
•`X/Y`:用官方地图工具查看土城中心点坐标(默认327345)
•`Script`:对应后续脚本名称
2.保存文件(切记不要用记事本直接保存,改用Notepad++避免乱码)
2.2编写传送脚本
1.打开MapInfo.txt
找到尸王殿地图定义段落(通常名为`骷髅洞穴`或`鬼王殿`),复制其地图ID。例如:
```txt
[Map003]
Name=骷髅洞穴
StartX=100
StartY=100
```
2.创建新脚本文件
在服务端目录新建`D:\MirServer\Mud2\Script\传送至尸王殿.txt`,写入以下代码:
```lua
--传送至尸王殿
functionOnClick()
localmapid=GetMapID("骷髅洞穴")--对应MapInfo.txt中的地图名称
localx=100--尸王殿出生点X坐标
localy=100--尸王殿出生点Y坐标
PlayerSetPos(mapidxy)
SendMsg(PlayerID"[系统]已传送到尸王殿!")
end
```
---
三、测试与验证
3.1重启服务端
依次重启以下服务:
1.DBSrv.exe(数据库服务)
2.LoginSrv.exe(登录服务)
3.M2Server.exe(游戏主服务)
3.2客户端验证
1.进入土城(坐标327345附近)
2.找到「传送员小明」NPC对话
3.观察是否弹出传送提示并到达目标位置
---
四、常见问题排查
4.1NPC不显示
•检查`npc.txt`文件编码是否为ANSI(用Notepad++转换)
•确认NPC坐标是否在土城可视范围内(建议X/Y在300-350之间)
4.2传送后卡进墙里
•在MapInfo.txt中确认目标地图的`StartX/Y`坐标是否在安全区域
•修改尸王殿出生点坐标为`x=150y=150`(通常更靠近入口)
4.3脚本报错
•检查脚本文件名是否与NPC配置中的`Script`参数完全一致
•确认`骷髅洞穴`地图名称与MapInfo.txt中的定义完全相同(包括标点符号)
---
五、进阶玩法:批量添加传送NPC
5.1创建传送列表
在`D:\MirServer\Mud2\Script\传送列表.txt`中编写:
```lua
--土城→沃玛寺庙
functionGoToWOM()
localmapid=GetMapID("沃玛寺庙")
PlayerSetPos(mapid200200)
end
--比奇→毒蛇山谷
functionGoToDSSG()
localmapid=GetMapID("毒蛇山谷")
PlayerSetPos(mapid5080)
end
```
5.2关联NPC菜单
修改`npc.txt`中的Script参数:
```txt
Script=菜单1|GoToWOM|GoToDSSG
```
---
六、注意事项
1.坐标获取工具:推荐使用「传奇地图编辑器2023」查看精确坐标
2.防刷机制:在脚本中加入冷却时间限制(例如每小时只能传送3次)
3.多开兼容:如果使用多开器,需在DBConfig.ini中设置`AllowMultiClient=1`
---
终极提示:所有地图名称、坐标参数必须与服务端实际数据完全一致。建议先用记事本搜索`骷髅洞穴`等关键词确认地图ID,避免手动输入错误。

