增加传奇npc需要同时完成位置登记、脚本匹配、引擎加载三步:先在服务端的npc配置文件中写入地图、坐标和显示信息,再在对应脚本目录创建同名脚本,最后通过引擎控制台重新加载npc。操作前先备份`mir200\envir`目录,确认当前服务端使用的是`merchant.txt+market_def`还是`npcs.txt+npc_def`,两套配置不能混写;功能型商人、传送员通常走前者,固定系统npc通常走后者。只建立脚本而没有配置行,地图中不会出现npc;只建立配置行而没有脚本,npc可能显示但无法正常打开对话。

功能型npc应先修改`mir200\envir\merchant.txt`,每行至少明确脚本地址、地图代码、x坐标、y坐标、显示名称和外观编号,常用完整格式为:`土城服务npc/综合服务 3 340 340 综合服务员 0 8 0 0 0 0 0`。其中地图代码为`3`,坐标为`340,340`,外观编号为`8`,后面的参数依次控制标志、沙巴克归属、是否移动和变色效果;不需要移动或变色时通常填`0`。随后在`market_def`下建立对应文件`土城服务npc\综合服务-3.txt`,脚本地址、地图代码和文件名中的英文短横线必须完全对应,地图代码写错一位、坐标落在阻挡格或文件名多写`.txt`,都会导致npc不显示或无法点击。

npc脚本至少要有`[@main]`入口,先用最简单的对话测试显示是否正常,再逐步加入商店、传送、任务或兑换功能。例如主菜单可以使用`say`输出说明和按钮,传送按钮进入功能标签后执行`mapmove 3 330 330`,完成操作后用`goto @main`返回主菜单;如果需要等级、金币、物品或任务条件,应把条件检查放在实际操作前,并沿用当前服务端已有脚本的指令格式,不要直接套用其他引擎的写法。只做展示型npc时保留文字即可;做传送或兑换型npc时,必须同时检查目标地图、目标坐标、消耗数量和失败提示,避免玩家点击后无响应或资源已扣除却没有获得奖励。
完成文件保存后,在引擎控制器中执行控制—重新加载—所有npc,再回到npc所在地图测试四项内容:人物是否出现、名称和外观是否正确、点击后是否进入`[@main]`、每个按钮是否能完成预期动作。修改名称或外观后画面没有变化时,先切换地图、回城或重新登录刷新客户端显示;仍未生效,则按配置路径、地图代码、坐标、脚本文件名、脚本入口顺序排查。若要增加固定系统npc,应改用`npcs.txt`登记名称、管理编号、地图、坐标和图标,再在`npc_def`中建立对应脚本;若当前引擎的重载功能不读取新增文件,再保存备份后重启服务端,让配置重新载入。