给npc增加买卖功能,核心是同时完成功能声明、对话入口、商品清单三步:在npc脚本头部加入(@buy @sell),在[@main]中添加购买和出售链接,再按照当前引擎的商店格式补充商品段。只修改npc对话文字而没有声明功能,点击按钮通常不会打开交易面板;常见脚本中,@buy用于购买,@sell用于出售。

操作前先复制原npc脚本,确认该npc实际调用的文件,再优先套用同一引擎已有的药店、武器店或首饰店模板。核心结构可参考:(@buy @sell)、%100、[@main]、<购买/@buy>、<出售/@sell>;其中百分比、地图参数和分类参数应直接沿用原模板,不要随意删除。npc已经存在但无法交易时,重点检查是否改到了正确的脚本文件;负责npc名称、地图和坐标的配置文件,与负责买卖界面的交易脚本并不是同一部分。

商品内容应放在当前引擎规定的商品段中,常见写法是使用[goods]并逐行填写物品名称及对应参数。第一次测试建议只加入3至5种物品,例如基础药品、回城用品或低级装备,确认能正常显示、购买、扣除金币并进入背包后,再扩充到10至20种。物品名称必须与数据库或现有商店模板中的标准名称一致,数量、价格、刷新时间等字段要照抄同引擎示例的顺序;不同引擎的字段含义可能不同,不能直接混用其他版本的商店格式。

测试应按买一件、买多件、卖一件、金币不足、背包已满依次进行,并重新登录确认交易结果是否保存。购买无反应时,检查头部是否缺少@buy、按钮是否写成/@buy;出售无反应时,检查@sell和出售链接是否同时存在。窗口能打开但没有商品,通常要核对[goods]拼写、物品名称和参数格式;买卖功能都失效,则重新确认脚本路径、括号符号、空行位置,并使用引擎支持的脚本重载功能,若没有重载功能就重启服务端。只需要买卖时,头部保留@buy @sell即可,不必额外加入修理、仓库或升级功能,避免菜单和权限产生冲突。