传奇怎么增加npc买卖东西

时间:2026-06-15 09:00来源:华旺开服网

增加npc买卖功能,关键是完成npc注册、交易命令和商品清单三步,不能只在对话框里添加购买文字。使用支持常见传奇脚本格式的服务端时,交易类npc通常放在服务端的 `mir200\envir\merchant.txt` 中,对应脚本存放在 `market_def` 文件夹;`npcs.txt` 更适合国王、城堡管理员等管理型npc。已有商店可直接修改原脚本,新建商店则先在 `merchant.txt` 写入调用文件、地图号、坐标、名称、外观和索引,再建立同名脚本文件。坐标必须放在可通行位置,npc名称、地图编号和脚本文件名必须保持一致,否则游戏中可能看不到npc或点击后没有对话。

启用买卖功能时,应先在脚本头部加入 `(@buy @sell)`,再配置价格倍率和经营类别,最小可用结构为:`(@buy @sell)`、`%100`、`+3`、`+25`、`+30`、`[@main]`,对话内容写成 `<购买物品/@buy>`、`<出售物品/@sell>` 和 `<关闭/@exit>`。其中 `@buy` 调出购买界面,`@sell` 调出出售界面,`%100`代表原始物价,改成 `%150`就是按基础价格的1.5倍出售;`+3、+25、+30`通常对应杂货类别,药店可用 `+0、+42`,兵器店可用 `+5、+6、+43`,衣服店可用 `+10、+11、+58、+81`。只经营药品就不要混入兵器或装备类别,避免一个npc收售过多无关物品。

需要限定具体库存时,应在 `[@main]` 相关脚本之后增加 `[goods]` 段,而不是把它写到 `[@main]` 之前。常用格式为物品名称 数量 刷新时间 摆放位置,例如 `回城卷 50 5 0`,表示库存50个、每5分钟刷新、放在第1个格子;第二行可写 `随机传送卷 80 8 1`,表示库存80个、每8分钟刷新、放在第2个格子。物品名称必须与服务端物品数据库中的名称完全一致,数量和刷新时间使用正整数,摆放位置不要重复;如果只配置了 `@buy` 却没有 `[goods]`,购买窗口可能能打开但没有商品。出售功能则主要受交易类别代码控制,想限制收购范围时,应只保留对应的 `+` 分类参数。

测试npc时应按保存脚本—重载或重启服务端—进入地图—点击npc—分别测试购买和出售的顺序进行,具体采用重载还是重启取决于所用引擎是否支持脚本热更新。购买测试至少准备一笔足够支付商品的金币,出售测试准备一件属于已开放类别的物品,并检查数量、价格和库存刷新是否正常。npc无法点击,优先检查注册文件、地图号、坐标和脚本文件名;能点击但没有买卖按钮,检查第一行是否写入 `@buy @sell`;按钮能显示却无商品,检查 `[goods]`位置、物品名称和库存格式。新手阶段建议设置一个只卖回城卷、药品的基础商店,价格使用 `%100`;中期可按地图需求增加装备分类;高等级区域再单独创建限定装备商店,减少价格混乱和库存维护量。