在传奇服务端架设中,NPC(非玩家角色)是实现传送、任务、装备合成等核心玩法的关键。要在M2引擎中成功添加一个全新的NPC,必须同时完成“参数配置”和“脚本编写”两个核心步骤。以下是详细的操作流程:
第一步:配置NPC基础参数
所有的NPC显示信息都保存在服务端的配置文件中。首先打开服务端目录,找到 Mir200Envir 文件夹,使用记事本或专业编辑器打开 MerChant.txt 文件。在这个文件中,每一行代表一个NPC的配置信息,参数之间使用空格隔开。
你可以拉到文件最下方,复制一行现有的NPC代码作为模板进行修改。标准的参数格式通常如下:
脚本文件名 地图号 X坐标 Y坐标 NPC名字 外观代码 是否属于沙巴克 刷新间隔
例如,如果你想在比奇省(通常地图号为3)的安全区添加一个名为“新手引导员”的NPC,代码可以这样写:
新手村新手引导员 3 330 330 新手引导员 20 0 0
这里需要特别注意几个关键点:地图号必须准确(如3代表比奇,0代表盟重);坐标可以通过游戏内按 Ctrl+F 查看当前人物的位置来获取;外观代码决定了NPC的长相,可以在M2引擎控制台的“查看”->“查看NPC信息”或帮助文档的NPC代码表中找到对应的数字;脚本文件名不需要加 .txt 后缀。
第二步:创建对应的脚本文件
在 MerChant.txt 中写好参数后,必须创建对应的脚本文件,否则NPC无法点击或点击无反应。根据上面填写的 脚本文件名(例如 新手村新手引导员),你需要在 Mir200Envirmarket_def 目录下,先新建一个名为 新手村 的文件夹,然后在该文件夹内新建一个文本文档,命名为 新手引导员-3.txt。
这里有一个极易出错的细节:脚本文件的命名规则必须是“名字-地图号.txt”。如果你的NPC在盟重(地图0),文件名就必须是 名字-0.txt。如果文件名或后缀不对,M2引擎加载时会报错提示找不到文件。
第三步:编写脚本内容
打开刚刚创建好的 新手引导员-3.txt,写入基础的脚本框架。一个最简单的对话框脚本如下:
[@main]
IF
ACT
SAY
你好,欢迎来到新手村! \
[@main] 是NPC被点击时触发的默认标签,#SAY 后面跟随的是NPC对玩家说的话, 代表换行。
第四步:在M2引擎中加载NPC
完成上述文件配置和脚本编写后,NPC并不会立刻出现在游戏中,需要让M2引擎重新读取数据。打开M2Server(M2引擎控制台),点击顶部菜单栏的“控制”或“管理”,找到“重新加载”选项,选择“重新加载NPC”或“重载所有NPC”。
此时观察控制台下方的日志窗口。如果提示“加载NPC成功”且没有报错,说明操作正确;如果提示“文件未找到”或“格式错误”,请回头检查 MerChant.txt 中的空格是否缺失,或者 market_def 里的脚本文件名是否与配置完全一致(包括地图号后缀)。
第五步:游戏内验证与调试
加载成功后,进入游戏,通过命令传送到你设置的地图和坐标(如比奇 330 330)。此时你应该能看到新添加的NPC站在指定位置。点击NPC,如果弹出了你在脚本中编写的对话框,说明添加成功。
如果需要修改NPC的位置,只需在 MerChant.txt 中修改X和Y坐标,保存后再次点击M2引擎的“重新加载NPC”即可,无需重启整个服务端。如果需要更换NPC的外观,直接修改 MerChant.txt 中的外观代码数字,重新加载后在游戏中刷新即可看到变化。

