按gom引擎传奇服务端的常用结构,增加一个可正常交互的npc必须同时完成位置登记和脚本配对两步,只有其中一步时,npc可能不出现,或出现后点击无反应。操作前先备份`mir200\envir\merchant.txt`和`market_def`目录,再打开`merchant.txt`,新增一行:`测试npc 3 353 337 测试npc 0 15 0 0 0 0 0`。其中第1项是脚本名,第2项是地图代码,第3、4项是x、y坐标,第5项是游戏内显示名称,第7项是外观编号,其余参数使用0代表不属于沙城、不移动、不变色。坐标必须落在可行走且未被其他npc占用的格子,否则即使配置格式正确,也可能无法正常显示或点击。

脚本文件必须按照脚本名-地图代码.txt的规则放入`mir200\envir\market_def`目录,因此上面的配置对应文件应为`market_def\测试npc-3.txt`,不能写成`测试npc.txt`,也不要把`-3`或`.txt`再填入`merchant.txt`第一列。新手最稳妥的做法是复制一个已经能正常打开对话框的npc脚本,改名后再调整文字和功能;如果采用文件夹分类,可将第一列写成`功能/测试npc`,并建立`market_def\功能\测试npc-3.txt`。自定义外观时,第7项必须使用客户端已有的npc素材编号,`15`只能作为示例,若编号与素材不匹配,常见表现是只显示名称、不显示人物图像。
脚本入口决定npc被点击后的实际功能,文件内至少应保留当前服务端常用的主入口标签,常见写法为`[@main]`或`[@main]`,大小写应直接参照现有npc脚本。最小测试内容可以先写成一段欢迎文字,确认点击流程正常后,再逐步加入传送、商店、任务或兑换功能;对话按钮通过标签跳转到对应功能段,条件判断、扣除物品和发放奖励也应分别放在对应分支中。若想制作传送npc,先确认目标地图代码、坐标和玩家等级条件,再把传送动作写入按钮触发段,避免一开始就叠加多个功能导致排查困难。第一列路径、地图代码和文件名后缀必须完全对应,脚本缺少主入口时,npc通常能够显示,但不会弹出有效对话。

保存两个文件后,在m2管理工具中执行npc重新加载;若当前服务端不支持单独刷新,就停止并重新启动相关引擎,再进入游戏测试。成功标准包括npc出现在指定坐标、外观显示完整、点击后弹出对话、按钮能跳转到目标标签,涉及物品或货币的功能还要用条件不足和条件满足两种角色状态各测试一次。新手建议先在空闲地图使用简单对话npc验证坐标和路径,确认无误后再加入交易或任务;需要批量增加npc时,可统一使用文件夹和命名规则,并为每个npc分配独立脚本名,避免多个入口共用文件后互相改动。若当前服务端使用的是`npcs.txt`配合`npc_def`登记固定npc,则应沿用对应的登记文件和脚本目录,不要把两套配置方式混写。