传奇怎么设置npc功能
设置npc功能的核心是把npc入口、脚本文件、功能标签三部分正确对应,再重新加载npc使配置生效。开始操作前先确认服务端使用的引擎和目录结构,因为不同引擎的字段顺序、脚本命令和文件位置并不完全相同。采用常见mirserver、blue类结构时,普通服务npc通常由`merchant.txt`登记,脚本放在`market_def`目录;固定系统npc则多由`npcs.txt`登记,并与`npc_def`中的脚本配合。已有npc只需修改对应脚本,不必重复添加入口;只有地图上没有该角色时,才需要同时配置npc信息和脚本文件。

新增npc应按备份文件—登记入口—创建脚本—加载测试的顺序执行。先复制保存原有的`merchant.txt`和相关脚本,再新增一行npc配置,依次填写脚本路径、地图编号、横坐标、纵坐标、显示名称、标志参数和外观编号,坐标必须选在可行走且不被障碍物遮挡的位置。假设地图编号为3、坐标为330、330、npc名称为综合服务,脚本入口写成综合服务,对应文件通常应放在`market_def\综合服务-3.txt`,文件名中的连接符要使用英文半角字符。地图编号改变后,脚本文件名后缀也要同步改变,否则npc可能出现但点击后提示找不到脚本。
npc对话功能应从`[@main]`开始设计,先用主菜单区分传送、仓库、装备修理或任务领取,再为每个按钮建立独立标签。例如主菜单可写成`<传送服务/@传送服务>`和`<仓库服务/@仓库服务>`,玩家点击按钮后分别跳转到对应标签;功能执行完毕后需要继续显示菜单时,再使用`goto @main`返回入口。标签名称必须保持唯一,按钮跳转名与标签名必须完全一致,不能把一个引擎的命令格式直接复制到另一个引擎中使用,尤其要区分gom、gee、blue等脚本语法。

带消耗或权限的npc功能必须先判断条件,再执行扣除和奖励动作。传送功能可设置等级、金币或任务状态限制,例如等级达到40级且金币不少于100000时才允许传送;仓库、领取奖励和兑换功能则应检查物品数量、背包空位、每日次数或活动开关。脚本流程应遵循条件判断—执行动作—提示结果的顺序,不能先扣金币再判断地图是否可进入,也不能在背包满时直接发放装备。新手角色应重点测试免费功能和低门槛功能,中期角色测试等级、金币、物品组合条件,高等级角色再测试限时活动、次数限制和多项奖励同时发放。
修改完成后,在引擎控制器中执行控制—重新加载—所有npc,再回到游戏检查npc名称、外观、位置、对话按钮和实际结果;部分客户端需要切换地图、小退或重新进入场景,才会刷新显示。npc无法点击时,优先核对地图编号、坐标和入口配置;点击后无对话时,检查脚本路径、文件名后缀以及是否存在`[@main]`;按钮没有反应时,检查标签拼写和跳转关系;功能重复扣除时,则要检查同一动作是否被两个标签连续调用。普通商人、传送员和服务员适合放在`merchant.txt`与`market_def`中,系统型固定npc则应按照`npcs.txt`与`npc_def`的对应关系配置,确认入口、脚本和生效流程全部一致后再开放给玩家使用。