增加传奇npc买卖功能,核心是同时配置npc对话脚本和商品数据,单独添加其中一项通常无法正常交易。先备份服务端脚本,再找到目标npc对应的脚本文件,在对话选项中加入购买和出售入口,常见功能命令为@buy和@sell,部分引擎还会使用@fastbuy实现快捷买卖;具体命令必须以当前引擎已有npc的写法为准,不能直接照搬其他版本。npc脚本主要负责显示按钮和调用功能,商品配置文件则负责物品名称、价格、数量以及购买权限,两者缺一不可。

配置普通商店时,建议先复制一个已经能够正常交易的商人脚本,再替换npc名称、地图坐标和商品列表,这比从空白脚本开始更稳定。对话菜单可按购买物品—出售物品—退出的顺序排列,购买入口指向购买命令,出售入口指向出售命令;如果需要修理功能,再单独加入普通修理或特殊修理选项。商品数据中至少要确认物品名称或编号、购买价格、出售价格和库存参数,价格应设置为大于零的有效数值,库存或可购买数量不能为零;若服务器采用无限库存,按照现有商店的无限数量字段填写,不要擅自增加陌生参数。常见传奇服务端会将交易类npc放在merchant.txt或同类商店配置中,而npcs.txt更常用于管理、传送等功能较固定的npc。

完成脚本和商品表后,应按照保存文件—重载脚本或重启服务端—进入地图—点击npc—测试购买—测试出售的顺序验证。第一次测试只放入一件低价值消耗品,确认金币扣除、物品进入背包和数量变化都正确,再加入装备、材料和批量商品。随后分别测试金币不足、背包已满、出售不可回收物品、购买数量超过库存等情况;这些测试可以判断限制条件是否由引擎自动处理,还是需要在脚本中增加判断。若点击npc没有菜单,优先检查脚本首行命令、npc名称、地图坐标和脚本关联;若能打开菜单但没有商品,重点检查商品配置路径、物品编号、价格字段及重载是否生效。

不同用途应采用不同的交易配置:药水、回城卷和基础装备适合设置为双向买卖,购买价格保持稳定,出售价格低于购买价格,避免玩家通过反复倒卖刷金币;矿石、材料和任务物品可设置为只出售给npc,用于回收玩家背包物品;活动道具和限量装备则应增加等级、权限、任务状态或库存限制,避免新角色直接购买高价值物品。若使用快捷购买功能,应先确认普通购买和出售已经单独测试成功,再添加快捷入口;若服务器存在多个同名npc,还要确保修改的是实际生效的地图脚本。按照脚本调用功能、商品表提供数据、重载后逐项验证的方式配置,通常就能稳定实现npc买卖物品。
