一、找到NPC核心配置文件
路径:服务端`Mir200\Envir\Merchant.txt`
这是所有NPC的户籍档案,用记事本打开后格式如下:
```
盟重省333333传送员03002
(地图名X坐标Y坐标NPC名称外观编号方向脚本编号是否自动寻路)
```
关键参数:
•外观编号:第5列数字决定NPC形象(传送员默认是0=老头)
•坐标:第2、3列调整NPC站立位置
---
二、修改NPC外观编号(变石头关键)
1.在Merchant.txt中找到要改的NPC行
2.将第5列的外观编号改为石头的编码(常用石头编码:423~435)
```
盟重省333333传送员4303002←外观改为430号(巨石)
```
---
三、准备石头素材(3种方法)
|方法|操作步骤|适用场景|
|------|---------|--------|
|1.调用客户端自带素材|查看`Data\Npc.wil`文件中的石头编号(需用WIL编辑器打开)|原版客户端已有石头|
|2.自定义新增素材|用PS制作50x50像素BMP图,导入到`Data\Npc.wil`空白位置|完全原创造型|
|3.替换已有素材|将自制石头图覆盖`Npc.wil`中430号的位置|保留原编号|
避坑指南:
•必须保存为8位色BMP格式
•素材尺寸需与NPC动作帧数匹配(静态石头只需1帧)
---
四、调整NPC位置(防止穿模)
1.用地图编辑器打开`Map\盟重省.map`
2.在坐标(333333)处检查地面是否允许放置物体
3.在Merchant.txt中微调坐标:
```
盟重省335335传送员4303002←右移2格避开树木
```
---
五、生效与测试
1.修改后保存Merchant.txt
2.重启服务端(必须彻底关闭M2再启动)
3.客户端需同步更新(若改了Npc.wil需打包成补丁)
4.游戏中输入`@清除地面`刷新NPC
---
六、高阶技巧
1.动态悬浮石头:
在`Market_Def\传送员.txt`脚本开头添加:
```lua
#ACT
SetIcon043011-20←设置悬浮高度
```
2.点击特效:
在QFunction-0.txt中添加触发:
```lua
[@点击传送员]
#ACT
PlayEffect343010←点击时触发碎石特效
```
---
七、常见问题排查
|问题现象|解决方案|
|---------|---------|
|NPC变成透明人|检查Npc.wil编号是否与服务端设置一致|
|石头显示错乱|确认BMP素材未超过文件最大帧数限制|
|NPC无法对话|脚本路径错误,检查Merchant.txt第7列脚本编号|
---
按照以上步骤操作,你可以把任何NPC改成宝箱、神兽甚至动态特效。记得修改前备份`Merchant.txt`和`Npc.wil`文件,避免改错后无法恢复!
路径:服务端`Mir200\Envir\Merchant.txt`
这是所有NPC的户籍档案,用记事本打开后格式如下:
```
盟重省333333传送员03002
(地图名X坐标Y坐标NPC名称外观编号方向脚本编号是否自动寻路)
```
关键参数:
•外观编号:第5列数字决定NPC形象(传送员默认是0=老头)
•坐标:第2、3列调整NPC站立位置
---
二、修改NPC外观编号(变石头关键)
1.在Merchant.txt中找到要改的NPC行
2.将第5列的外观编号改为石头的编码(常用石头编码:423~435)
```
盟重省333333传送员4303002←外观改为430号(巨石)
```
---
三、准备石头素材(3种方法)
|方法|操作步骤|适用场景|
|------|---------|--------|
|1.调用客户端自带素材|查看`Data\Npc.wil`文件中的石头编号(需用WIL编辑器打开)|原版客户端已有石头|
|2.自定义新增素材|用PS制作50x50像素BMP图,导入到`Data\Npc.wil`空白位置|完全原创造型|
|3.替换已有素材|将自制石头图覆盖`Npc.wil`中430号的位置|保留原编号|
避坑指南:
•必须保存为8位色BMP格式
•素材尺寸需与NPC动作帧数匹配(静态石头只需1帧)
---
四、调整NPC位置(防止穿模)
1.用地图编辑器打开`Map\盟重省.map`
2.在坐标(333333)处检查地面是否允许放置物体
3.在Merchant.txt中微调坐标:
```
盟重省335335传送员4303002←右移2格避开树木
```
---
五、生效与测试
1.修改后保存Merchant.txt
2.重启服务端(必须彻底关闭M2再启动)
3.客户端需同步更新(若改了Npc.wil需打包成补丁)
4.游戏中输入`@清除地面`刷新NPC
---
六、高阶技巧
1.动态悬浮石头:
在`Market_Def\传送员.txt`脚本开头添加:
```lua
#ACT
SetIcon043011-20←设置悬浮高度
```
2.点击特效:
在QFunction-0.txt中添加触发:
```lua
[@点击传送员]
#ACT
PlayEffect343010←点击时触发碎石特效
```
---
七、常见问题排查
|问题现象|解决方案|
|---------|---------|
|NPC变成透明人|检查Npc.wil编号是否与服务端设置一致|
|石头显示错乱|确认BMP素材未超过文件最大帧数限制|
|NPC无法对话|脚本路径错误,检查Merchant.txt第7列脚本编号|
---
按照以上步骤操作,你可以把任何NPC改成宝箱、神兽甚至动态特效。记得修改前备份`Merchant.txt`和`Npc.wil`文件,避免改错后无法恢复!

