传奇怎么增加npc买卖东西
来源:夜神 | 更新时间:2026-05-01 00:50
增加npc买卖功能需要同时配置npc入口、交易脚本和商品库存,不能只在对话文本里增加购买按钮。入口文件使用`mir200\envir\merchant.txt`,脚本放在`mir200\envir\market_def`目录,玩家点击npc后,系统会按照入口第一列的脚本地址和第二列地图代码,读取对应的`脚本名-地图代码.txt`文件,并从`[@main]`开始执行。商人能否真正买卖,主要取决于脚本头部的交易类型定义、`[@buy]`与`[@sell]`标签,以及末尾的`[goods]`库存段落。

新增npc时,先备份`merchant.txt`,再复制一行已经可以正常交易的商人配置,只修改脚本路径、坐标和显示名称。`自定义商人/药品商人 3 340 340 药品商人 0 8 0 0 0 0 0`,其中第一列是`market_def`下的相对路径,不带`.txt`后缀,第二列是地图代码,第三、四列是x和y坐标,后面的字段控制名称、外观、移动和变色。按此写法,实际脚本应保存为`market_def\自定义商人\药品商人-3.txt`。坐标必须落在可通行格,地图代码必须与文件名后缀完全一致,不能把地图名称随意替换成内部编号。
交易脚本建议直接复制同引擎现成药店或武器店,再按需求修改,避免混用其他引擎的命令。基础结构可写成:`[@main]`中放欢迎语和`<买/@buy><卖/@sell><关闭/@exit>`,`[@buy]`显示购买提示,`[@sell]`显示出售提示,`[@exit]`关闭窗口,脚本末尾加入`[goods]`。商品格式通常是物品名称 数量 刷新时间,例如`强效金创药 10 10`、`超级魔法药 10 10`;前面的数量和时间必须沿用当前引擎现成商店的格式。`[goods]`主要控制npc出售的库存,不等于npc允许回收的物品;玩家能卖什么,还要看脚本头部保留的交易类别定义。

调整价格时,先确认脚本头部的物价倍率,`%100`通常表示基础价格,`%200`表示按两倍价格计算,但买入和卖出金额仍受物品数据库及引擎规则影响。新手阶段适合复制药店脚本,只加入红药、蓝药和随机传送卷;中期可复制武器店脚本,加入常用武器并保留修理功能;需要综合商店时,应分别确认药品、装备、材料的交易类别,再逐项测试购买、出售、背包满、金币不足和库存耗尽等情况。保存后使用引擎支持的npc重载功能,若没有重载命令则重启游戏服务端;测试时先用普通角色购买1件、购买达到库存上限,再出售1件可交易物品,确认物品、金币和商店库存均正常变化。
