来源:新鸿开服网 编辑:埃洛欧 时间:2025-12-26 09:23
设置传奇npc功能的核心是同时完成摆放定义和对话脚本两部分:前者决定npc出现在哪张地图、哪个坐标以及显示形象,后者决定npc能否买卖、修理、存取物品或执行自定义服务。常见mirserver结构中,交易、传送、仓库、打造等功能优先放在服务端 `\mir200\envir\merchant.txt` 中,城堡管理、开关城门等特殊管理类npc使用 `npcs.txt`;修改前先停止服务端并备份 `envir` 文件夹,避免格式错误导致npc消失或服务端加载失败。

添加普通功能npc时,先在 `merchant.txt` 中新增一行,再在 `\mir200\envir\market_def\` 下建立对应脚本文件,文件名和原有npc保持同一命名规则。定义行通常需要填写调用脚本、地图编号、x坐标、y坐标、npc名称、标志、外观和索引号,例如地图编号为0、坐标为468、226时,npc会出现在比奇对应位置;坐标必须落在可行走区域,地图编号和脚本调用路径必须与服务端现有配置一致。索引号一般填写0,只有沙城类npc才使用特殊索引,相关npc可能受到攻城期间隐藏、税收或折扣规则影响,不要把普通商店误设为沙城npc。
启用具体功能时,在脚本头部声明对应命令,并在 `[@main]` 中添加玩家可点击的跳转选项。常用功能包括 `@buy` 购买、`@bindbuy` 绑定金币购买、`@sell` 出售、`@repair` 普通修理、`@s_repair` 特殊修理、`@storage` 存入仓库、`@getback` 取出物品和 `@makedrug` 打造装备;对话入口可写成类似购买物品/@buy的链接形式。商店npc除了声明购买命令,还要在脚本后加入 `[goods]`,每行填写物品名称、数量、刷新时间和摆放格,例如数量50、刷新5分钟、位置0,表示库存补充50个并放在第一个格子;价格参数使用 `%100` 为原价,`%150` 则为原价的1.5倍。
自定义服务应把条件检查放在功能跳转之前,先判断等级、金币、背包空位、任务变量或指定道具,再执行扣除和奖励,避免玩家绕过限制重复领取。打造类npc需要声明 `@makedrug`,并在脚本后使用 `[makeitems]` 列出可制作物品及职业限制;若设置等级40、消耗10万金币和3个材料,就应按检查等级—检查金币—检查材料—扣除资源—发放成品的顺序执行。不同引擎的传送、变量、任务判断和窗口命令并不完全通用,最稳妥的做法是复制本服已有同类npc的命令写法,只替换地图、坐标、物品和条件。
测试npc时应按显示位置—点击对话—功能入口—条件限制—扣除资源—获得结果的顺序逐项验证。npc不出现,重点检查地图编号、坐标、外观代码、调用路径和文件名;能出现但没有按钮,检查命令是否写在npc脚本头部以及 `[@main]` 标签是否正确;购买窗口为空,检查是否声明 `@buy` 并正确填写 `[goods]`;打造列表为空,检查 `@makedrug` 与 `[makeitems]` 是否同时存在。`[goods]`、`[makeitems]` 等数据段应放在 `[@main]` 修改后重载脚本或重启对应服务端,再用普通玩家账号验证实际扣费、库存刷新和权限效果。
上一篇:传奇什么职业强一点
下一篇:传奇城主奖励怎么领取