欢迎来到天易开区网
登录注册丨 注册
主页 > 游戏攻略 >

传奇单机增加npc


增加普通npc时,优先修改 `merchant.txt` 和 `market_def`,不要先动数据库;前提是已经关闭服务端或完成 `mirserver` 目录备份,并确认目标地图代码、可站立坐标和npc外观编号。常见传奇单机服务端中,`merchant.txt`负责登记npc脚本、地图、坐标和显示信息,`market_def`负责保存npc对话、商店或任务脚本,两者缺一都会导致npc不显示、无法点击或提示脚本不存在。

添加普通npc的正确顺序是先建脚本、再登记入口、最后重载服务端。打开 `mirserver\mir200\envir\market_def`,新建 `新手向导-3.txt`,其中3必须换成目标地图在地图配置中的代码,文件名中间使用英文半角短横线;脚本至少要有 `[@main]` 作为入口,再编写 `say` 对话内容和按钮跳转。若npc放在子目录,例如 `market_def\功能npc\新手向导-3.txt`,登记时第一列应写相对路径 `功能npc/新手向导`,不能写完整磁盘路径,也不要把 `.txt` 扩展名填入第一列。

在 `mirserver\mir200\envir\merchant.txt` 末尾增加一行即可完成npc位置登记,示例可写为:`新手向导 3 330 330 新手向导 0 8 0 0 0 0 0`。其中第1列对应脚本路径,第2列是地图代码,第3、4列是x、y坐标,第5列是游戏内显示名称,第7列通常是外观编号,后面的参数控制城堡归属、是否移动、移动间隔和变色效果;不同引擎对第6列及后续参数的解释可能不同,应直接参照当前 `merchant.txt` 中已有npc的列数和写法。330、330只是示例,实际坐标必须位于地图有效范围内,并且不能落在墙体、门、传送点或其他npc重叠位置。

保存后先检查三处名称是否完全一致:`merchant.txt`第一列、脚本文件名去掉地图后缀的部分、脚本所在目录路径;例如第一列写新手向导,脚本就应为 `新手向导-3.txt`。随后启动或重启m2及相关服务端程序,进入对应地图检查npc名称、外观和对话按钮;支持动态刷新的引擎可以尝试 `@reloadnpc`,不支持时必须完整重启服务端。最常见的失败原因是把地图名称误填成地图代码、把 `market_def` 写成 `npc_def`、漏写 `-3`、坐标不可通行,以及脚本入口不是 `[@main]`。

新手阶段适合先添加一个无奖励的说明npc或传送npc,只测试显示、点击和地图跳转;制作任务、兑换或商店npc时,再复制已有同类脚本并逐项替换文本、条件和奖励,能减少脚本命令不兼容的问题。需要城堡管理、固定官员等系统型npc时,应改用 `npcs.txt` 配合 `npc_def`,其文件通常按npc名称-地图代码对应,不能把这套固定npc配置和普通商人npc的 `merchant.txt`、`market_def` 体系混写。