您现在的位置:主页 > 文章中心 > 精彩专题 >

传奇单机增加npc

来源:夜神 | 更新时间:2026-07-20 08:37

使用 mirserver 目录结构的传奇单机端,增加普通对话、传送或商店npc最稳妥的方法,是同时修改 `merchant.txt` 和 `market_def` 中的脚本文件,再通过引擎重载npc生效。先复制一个功能相近、已经能正常显示的npc记录,不要直接凭空填写全部参数,这样可以避免地图编号、外观代码和引擎字段不匹配。普通服务npc优先放在 `merchant.txt`,城堡管理类或固定管理类npc才考虑使用 `npcs.txt` 与 `npc_def`。

添加前必须先备份服务端并确认地图代码、坐标和脚本名称三项信息。进入 `mirserver\mir200\envir\mapinfo.txt` 查询地图代码,不能把游戏内显示的地图名称直接当作代码;x、y坐标必须是整数,并且所在格能让角色站立,建议先在游戏中找一名已有npc,记录其附近的可通行坐标,再避开城门、障碍物和传送点。修改文件前停止相关引擎进程,至少保留 `merchant.txt`、原npc脚本和地图配置三份备份,出现无法启动或npc消失时可立即还原。

npc入口和对话脚本必须使用同一套名称规则。打开 `mirserver\mir200\envir\market_def`,新建或复制脚本,例如入口名称使用新手指南,地图代码为 `3`,文件应命名为 `新手指南-3.txt`;如果脚本放进子目录,则入口中也要保留相同的目录路径。脚本至少应保留可执行的 `[@main]` 段落,例如先复制一个能打开对话框的npc脚本,再只替换欢迎语和功能文字。文件扩展名必须是 `.txt`,名称后的连接符使用英文半角短横线,不能写成中文破折号,也不能漏掉地图代码。

`merchant.txt`中的配置行决定npc出现的位置、名称和外观,建议直接复制同类记录后只改必要字段。以土城代码 `3`、坐标 `353 337`、显示名新手指南为例,可按原文件字段顺序写成类似新手指南 3 353 337 新手指南 0 73 0,其中第一项对应 `market_def` 下的脚本路径,第二项是地图代码,第三、四项是x/y坐标,第五项是显示名称,后续字段通常涉及方向、外观、城堡属性和移动设置。不同引擎的字段数量可能不同,原文件已有11列或更多时不要删列;外观代码应优先沿用已显示正常的npc,代码无效时可能只显示名字、显示空白或无法点击。

生效测试应按保存文件—重新加载所有npc—切换地图画面—点击对话的顺序进行。部分引擎可在m2控制台执行控制—重新加载—所有npc,没有该功能时直接重启服务端并重新登录;只修改显示名称后仍看不到变化,可小退、回城或重新进入地图刷新画面。若npc完全不出现,先检查地图代码和坐标;若只出现名字却不能对话,检查入口名称、脚本路径及 `-地图代码.txt` 文件名;若点击后报错,恢复原脚本逐段替换内容。新手搭建时先做一个仅显示文字的npc,确认位置和点击正常后,再加入传送、兑换、商店或任务功能,能明显降低排错范围。