增加npc必须同时完成入口配置和功能脚本两部分,单独新建脚本或只修改npc列表都不能形成完整npc。先备份服务端文件,再进入mir200\envir目录,使用merchant.txt登记npc位置、名称和外观,同时在market_def目录创建对应脚本。merchant.txt负责让npc出现在地图中,market_def中的脚本负责玩家点击后的对话、任务、传送或兑换功能,两者通过脚本名和地图编号关联。

配置npc时,先确定地图编号、可行走坐标和外观代码,再在merchant.txt末尾新增一行,常用字段顺序为脚本名 地图编号 x坐标 y坐标 显示名称 标志 外观代码 是否属于城堡 是否移动 移动间隔 是否变色 变色速度。例如在地图3的353、337位置增加名为测试npc的角色,可填写测试npc 3 353 337 测试npc 0 73 0 0 0 0 0;其中73只是示例外观代码,实际应优先使用客户端已经存在的npc形象。地图编号必须与服务器地图配置一致,x、y坐标必须落在地图有效范围内,并且不能放在墙体、障碍物或无法站立的格子上。
建立脚本时,文件名必须与配置中的脚本名和地图编号完全对应,例如建立market_def\测试npc-3.txt,文件名中的测试npc对应第一列,3对应第二列,扩展名使用.txt。脚本通常从[@main]开始,最简单的npc可以写成[@main]后接say,再添加文字和功能按钮,例如<打开仓库/@仓库>;按钮跳转到[@仓库]后,再编写具体执行命令。脚本只负责功能,不负责npc的地图位置和外观,因此入口行、文件路径、文件名三项必须同时正确;npc能显示但点击无反应,通常是脚本缺失、后缀地图号不匹配或入口标签写错。

完成文件后,在引擎控制器中执行重新加载npc或所有npc,再切换地图、重新登录或小退重进检查效果;如果当前引擎不支持在线重载,则需要重启相关引擎进程。测试时按能否看到npc、名称是否正确、点击是否弹出对话、按钮能否跳转、功能执行后数据是否变化的顺序验证。新手阶段建议先在安全地图用单一传送功能测试,确认坐标、外观和脚本关联无误后,再加入任务条件、等级检测、物品消耗或奖励逻辑;正式使用时,每个功能都应设置明确的检测条件和失败提示,避免玩家重复领取奖励或在不满足条件时执行传送、兑换等操作。