当前位置:

传奇单机增加npc


增加npc的核心步骤是同时修改npc位置配置和npc对话脚本两个文件,单独新建脚本不会让人物出现在地图中。先关闭正在运行的服务端,备份`mirserver\mir200\envir`目录,再打开`merchant.txt`与`market_def`文件夹;常见单机传奇结构中,`merchant.txt`负责地图、坐标、名称和外观,`market_def`负责点击npc后显示的内容与功能。修改前最好复制一份原文件,便于出现加载失败时直接恢复。

新建npc时,应先确定地图代码和可站立坐标,再建立带地图后缀的脚本文件。例如要在地图代码为3的区域、坐标330、330处增加新手指南,可在`market_def`中新建`新手指南-3.txt`,随后在`merchant.txt`追加一行:`新手指南 3 330 330 新手指南 0 15 0 0 0`。其中第一个新手指南对应脚本名称,`3`是地图代码,两个`330`分别是横向和纵向坐标,第二个新手指南是游戏内显示名称,`15`通常代表npc外观编号,其余参数应尽量照抄同地图已有npc的格式,避免不同引擎字段数量不一致。

npc脚本应先用最简单的主菜单测试显示和点击功能,避免一开始加入传送、扣金币或任务判断。可在`新手指南-3.txt`写入标准主菜单内容,例如使用`[@main]`作为入口,配置欢迎文字和一个返回按钮;确认人物能够正常对话后,再逐步加入`checklevel`等级判断、`checkgold`金币判断、`take`扣除物品或金币、`mapmove`传送等指令。普通说明npc不需要等级门槛,传送npc则应在脚本中明确等级、金币和目标地图条件,条件不满足时保留返回入口,防止玩家点击后窗口卡死。

完成文件修改后,保存并重启m2或重新加载npc配置,进入对应地图检查名称、外观、坐标和对话是否全部生效。npc不显示时,优先检查脚本文件名是否严格对应,连字符必须使用英文半角`-`,地图后缀必须与`merchant.txt`中的地图代码一致;只显示名字但没有人物形象时,检查外观编号和参数位置;能看到npc但无法对话时,检查脚本是否放在`market_def`根目录或配置行指定的子目录中。坐标被障碍物、建筑或安全区边界占用时,应把x或y各调整1至3格重新测试。

不同用途应采用不同配置方案:新手说明npc使用固定外观和无条件对话,传送npc重点检查目标地图代码、坐标和费用,商店npc则应沿用原有商店脚本的商品字段,管理类npc不要直接套用普通商人配置。测试时可先只保留一个新增npc,确认能够出现、点击并执行第一项功能后,再复制配置到其他地图;需要移动npc时只修改`merchant.txt`中的地图代码或x、y坐标,并同步准备对应地图后缀的脚本文件,这样能减少重复加载和脚本错配造成的问题。