传奇怎么增加npc买卖东西

来源:无限开服网 时间:2026-09-21 10:27

在传奇中增加npc买卖功能,核心是把npc放入交易配置,并在脚本头部加入@buy和@sell命令,再用对话入口调用对应功能。交易类npc通常配置在服务端 `mir200\envir\merchant.txt`,脚本文件放在 `market_def` 目录;`npcs.txt` 更适合国王、城门管理员等管理型npc,不适合直接承担完整的买卖功能。先复制一个已经能正常交易的npc配置,修改调用脚本、地图编号、坐标、名称和外观,避免手动漏写字段导致npc无法点击。

新增脚本时,第一步在文件顶部写入交易参数,例如 `(@buy @sell)`,需要快速购买时可写成 `(@fastbuy @buy @sell)`;第二步设置价格比例,`%100`代表基础售价,`%150`代表按基础价格的1.5倍出售;第三步建立主对话入口,在 `[@main]` 中加入 `<购买物品/@buy>`、`<出售物品/@sell>`和`<关闭/@exit>`。只写对话文字而没有加入命令,npc即使能够点击,也不会弹出交易界面;只加入 `@buy` 则只能购买,想让玩家把物品卖回npc,必须同时加入 `@sell`。

需要自定义固定库存时,应在主对话段落之后加入 `[goods]`,不要把它放在 `[@main]` 前面。每行通常按照物品名称、库存数量、刷新时间、摆放位置填写,例如 `回城卷 50 5 0`,表示库存为50个、每5分钟补充一次、放在第一个商品位置;第二件物品的位置编号应保持不同,否则可能出现商品覆盖或显示顺序异常。自定义库存适合新手商店、药店和活动商店,能够精确控制药品、回城卷、材料的数量;只想开放某类标准物品时,可使用引擎已有分类参数,例如药剂常用 `+0`、`+42`,武器常用 `+5`、`+6`、`+43`,衣服和防具可使用对应装备分类参数。

不同成长阶段应采用不同的库存方案:新角色阶段优先放置药水、随机传送卷和回城卷,库存数量建议不低于单次练级消耗的2倍,刷新时间控制在5至10分钟,减少反复回城;中期角色可增加技能书、基础武器和维修相关商品,但应分开设置价格,避免把高级装备按普通商店价格出售;后期或高人流地图适合使用固定 `[goods]` 清单,并根据服务器经济设置价格比例,绑定货币商品则不能用普通 `@buy` 代替,应单独加入 `@bindbuy` 入口。出售功能的回收价格、可出售物品范围和装备属性限制由引擎规则决定,不能仅靠主对话文字改变。

完成修改后,先按引擎提供的npc脚本重载功能刷新;没有重载功能时,重启对应服务,再依次测试点击npc、打开购买界面、购买1件和购买满数量、出售普通物品、出售带持久或属性的装备,并检查金币、背包空间和库存刷新是否正确。常见错误包括脚本文件名与 `merchant.txt` 调用路径不一致、物品名称与数据库名称不同、`[goods]`位置错误、库存数量或刷新时间写成空值,以及只修改脚本却没有刷新服务。确认购买价格、出售价格、数量扣除和补货时间都正常后,再复制到其他地图;不同npc应使用独立脚本,避免修改一个商店时连带改变全部npc。