传奇怎么增加npc买卖东西

时间:2026-04-13 05:14 来源:本站

增加npc买卖功能,核心是修改交易类npc脚本,而不是单独更换npc外观。先在服务端的 `\mir200\envir\merchant.txt` 中确认npc调用的脚本名称、地图编号和坐标,再到 `\mir200\envir\market_def\` 找到对应脚本文件;普通交易npc一般放在 `market_def`,`npcs.txt` 更多用于城门、城堡管理等特殊npc。修改前先复制一份原文件,避免脚本错误导致npc消失或无法点击。

启用买卖功能时,要在脚本第一行加入功能参数,并在对话页面加入对应按钮,最基础的写法是:`(@buy @sell)`,下面接价格和商品分类参数,再进入 `[@main]` 对话段。`[@main]` 下添加 `<购买物品/@buy>`、`<出售物品/@sell>` 和 `<关闭/@exit>`。其中 `@buy` 打开金币购买界面,`@sell` 打开出售界面;只写功能参数但没有对话按钮,玩家通常无法从npc窗口进入对应功能。若还要提供普通修理,可增加 `@repair`;特殊修理则增加 `@s_repair`,但按钮名称和脚本命令必须保持对应。

指定npc实际出售的物品时,应在 `[@main]` 之后加入 `[goods]`,不能把它放到 `[@main]` 前面。每行依次填写物品名称、库存数量、刷新时间和摆放位置,`[goods]`、`回城卷 50 5 0`、`随机传送卷 80 8 5`,表示回城卷库存50个、每5分钟刷新一次并放在第一个格子,随机传送卷库存80个、每8分钟刷新一次并放在第六个格子。商品名称必须与服务端物品名称完全一致,数量和刷新时间使用正整数,摆放位置不要重复,否则可能出现商品覆盖、空格或显示错位。

需要批量开放某一类商品时,可以使用分类参数代替逐件填写;例如 `+0`、`+42` 常用于药剂类,`+5`、`+6`、`+43` 常用于兵器类,`+10`、`+11`、`+58`、`+81` 常用于衣服、腰带和靴子,`+19`、`+20`、`+21` 常用于项链。价格比例使用 `%100`、`%150` 等参数,`%100`表示原始物价,`%150`表示按原价的1.5倍出售。新手npc建议只放回城卷、随机卷、药水等高频消耗品;中期可加入修理材料和基础装备;后期再配置稀有装备,并降低库存数量、延长刷新时间,避免商店直接破坏玩家交易市场。

完成修改后,先检查脚本首行括号、命令拼写、`[@main]`位置和`[goods]`区段,再用一个测试角色依次验证点击npc、打开购买界面、购买一件商品、库存扣减、刷新补货和出售物品。npc无法点击时,优先检查`merchant.txt`调用路径、地图编号、脚本文件名以及脚本首行参数;能点击但没有商品时,重点检查是否遗漏`@buy`、是否缺少购买按钮、`[goods]`是否放错位置或物品名称是否写错。确认基础功能正常后,再逐项增加商品,便于准确定位异常配置。