传奇设置npc功能的核心,是先把npc放进正确的配置入口,再在脚本头部声明功能参数,最后用对话链接调用对应功能。常见传奇服务端中,交易、购买、出售、修理、仓库类npc主要由 `mir200\envir\merchant.txt` 与 `market_def` 脚本目录配合完成;城门、城墙、沙城管理等固定管理类npc,则使用 `npcs.txt` 和 `npc_def` 目录。没有服务端文件权限时无法直接修改,架设者应先备份 `envir` 文件夹,并确认当前引擎的目录名称、字段顺序和命令格式,不能把其他引擎的脚本直接复制使用。

普通商店npc应先登记位置,再绑定脚本文件。编辑 `merchant.txt` 时,重点检查调用文件、地图号、x坐标、y坐标、npc名称、标志、外观和索引号,地图编号或坐标填错会导致npc不显示或出现在错误位置;管理类npc则在 `npcs.txt` 中填写名称、代码、地图、坐标、标志和外观,并将对应文本放入 `npc_def`。完成定位后,在npc脚本顶部写入功能参数,例如 `(@fastbuy @buy @sell @repair @s_repair)`,即可开启快速买卖、普通购买、出售、普通修理和特殊修理,再在 `[@main]` 对话段中添加 `<&购买物品/@buy>`、`<&出售物品/@sell>`、`<&普通修理/@repair>` 等链接。
商店库存需要通过 `[goods]` 单独配置,脚本中应先保留 `[@main]` 对话内容,再在后面写入物品名称、数量、刷新时间和摆放位置。例如 `回城卷 50 5 0` 表示第一个格子每5分钟补充50个,`回城卷包 60 6 1` 表示第二个格子每6分钟补充60个;价格倍率可用 `%100` 表示原价,`%150` 表示1.5倍价格。需要绑定金币购买时加入 `@bindbuy`,需要仓库存取时加入 `@storage` 和 `@getback`,需要武器升级或装备强化时再启用对应命令。`[goods]` 不能放在 `[@main]` 前面,否则商店列表可能无法正常读取;只设置出售、修理或仓库功能时,也不应误加无关库存参数。

设置完成后应按重载或重启服务端—确认npc出现—打开对话—逐项点击功能—检查扣费和刷新的顺序测试,至少分别购买一件物品、出售一件物品、普通修理一次和特殊修理一次,确认金币、绑定金币、装备耐久与库存数量变化正确。若npc用于沙城交易,索引号设为 `1` 后会按沙城npc规则收取税费,并可能享受相关折扣;攻城期间这类npc还可能暂时消失,不能按普通商店故障处理。需要加入任务、活动或自定义奖励时,应把逻辑放入当前引擎支持的 `qfunction`、`questdiary` 或对应npc脚本中,并先用低价值物品和测试角色验证条件、变量、奖励及重复领取限制,确认无误后再开放给玩家。