传奇如何增加npc
增加npc的关键是同时完成位置登记、脚本绑定和外观资源配置,单独修改其中一项通常只能看到名字,无法正常对话或显示模型。先停止服务端并备份整个版本,确认使用的是哪类引擎:常见mirserver/gom结构一般修改envir目录下的merchant.txt和market_def脚本目录;采用数据库管理的版本,则应在npclist等npc配置表中新增记录,不能直接套用merchant格式。

采用merchant结构时,先打开mir200\envir\merchant.txt,在末尾增加一行,常见格式为脚本名 地图编号 x坐标 y坐标 显示名称 标志 外观 移动设置等字段。例如在3号地图的353、337坐标放置测试npc,可写成测试npc 3 353 337 测试npc 0 15 0 0。地图编号、坐标和名称必须对应实际地图,坐标必须是有效可站立位置,脚本名不能与现有npc重复;空格或制表符通常都能分隔字段,但不要混入全角空格。
完成位置登记后,在mir200\envir\market_def目录新建与登记名称对应的脚本文件,例如测试npc-3.txt,再复制一个已经能正常使用的npc脚本作为模板,只替换对白、条件和执行指令。部分引擎会根据地图编号自动匹配文件名,因此登记表里通常填写测试npc,文件名保留-3.txt后缀,不能把完整文件名再次写进脚本字段。新手最稳妥的做法是先复制药店或传送员脚本,只改一句对白测试显示,确认成功后再加入传送、兑换、任务或商店功能。
外观配置应最后处理,因为脚本能执行并不代表客户端一定有对应模型。外观字段通常引用npc资源中的编号,不同端的编号表和计算方式并不统一,优先复制同一版本中已经显示正常的npc外观值;如果人物名称能看到、模型不显示,先检查外观编号、客户端补丁和资源文件是否匹配,再检查服务端是否读取了正确的配置目录。采用npclist表的版本,则需要保证id唯一,同时填写script、mapname、x、y、name和appr等基础字段,导出数据后再重启相关服务。
测试时按启动服务端—进入目标地图—走到坐标附近—点击npc—执行最简单对白—再测试完整功能的顺序进行,避免一开始就排查多个故障。npc不出现时先查地图编号和坐标,不对话时查脚本路径、文件名和脚本语法,只显示名称时查外观编号与客户端资源;若新增npc后旧npc消失,通常是配置分隔符、字段数量或文件编码异常。新手适合使用已有npc模板,熟悉脚本后再增加条件判断和功能按钮,最终以能定位、能交互、能执行对应功能为完成标准。

