传奇服务端的英雄脚本管理,核心取决于引擎类型和脚本功能模块。不同引擎对英雄专属脚本的存放路径有严格区分,搞错路径会导致修改无效或服务端无法正常加载。同时脚本的运行依赖引擎自动加载机制,理解这套机制才能准确控制脚本生效时机。
**引擎差异决定英雄脚本核心存放目录**
英雄脚本的位置直接跟服务端使用的引擎挂钩,目前GOM、GEE、HERO三种引擎覆盖了市面上绝大多数版本。
GOM引擎的英雄脚本集中在服务端根目录下,路径为Mirserver\Mir200\Envir\Hero。这个Hero文件夹是GOM引擎专属的,里面包含三个核心文件:HeroSkill.txt控制英雄技能释放顺序、冷却时间和释放条件;HeroAttr.txt控制英雄初始属性、成长属性和等级提升加成;HeroFollow.txt控制英雄跟随主号的距离和攻击优先级。除此以外,Envir文件夹下的MapQuest_def文件夹中也会存放部分英雄合击触发脚本和任务脚本,文件名通常以HeroHj或HeroTask开头。
GEE引擎则没有单独的Hero文件夹,英雄脚本直接放在Mirserver\Mir200\Envir目录下。核心文件命名跟GOM一致,同样是HeroSkill.txt、HeroAttr.txt和HeroFollow.txt。如果版本包含英雄合击功能,合击相关脚本会存放在Envir\Robot_def文件夹中,文件名通常为HeroHjRobot.txt。
HERO引擎的路径最为简洁,英雄脚本直接放在服务端根目录下的Hero文件夹,无需进入Mir200子目录。除了上述三个核心文件外,HERO引擎还多了一个HeroHj.txt专门控制合击释放逻辑和伤害参数,同时HeroEquip.txt用于修改英雄穿戴装备的属性加成。
**各功能模块脚本的分布位置**
英雄脚本并非全部堆在一个目录里,不同功能类型的脚本分布在Envir下的不同子文件夹中。
MapQuest_def文件夹存放的是任务型英雄脚本,其中QManage.txt是全局管理脚本,控制英雄出生属性、等级成长关联规则,以及角色登录时加载的英雄数据。这个文件也负责执行英雄相关的计时任务和活动任务。
Market_Def文件夹存放NPC交互脚本和触发类脚本。QFunction-0.txt是触发类脚本的核心文件,英雄的双击物品触发、攻击触发、死亡触发等逻辑都写在这里面。例如玩家双击英雄相关道具,对应的触发段就在QFunction-0.txt中执行。
QuestDiary文件夹用于存放被其他脚本调用的功能子脚本。当脚本中出现#CALL [\\文件路径\文件名.txt] 这样的调用命令时,系统会默认从这个文件夹查找对应文件。
Robot_def文件夹负责机器人自动执行脚本。AutoRunRobot.txt控制执行时间周期,RobotManage.txt存放具体执行内容,两者配合实现定时刷新的英雄活动或定时触发的英雄属性变化。
**脚本运行的完整启动流程**
传奇服务端的脚本本身无法独立运行,必须依托引擎来完成加载和执行。启动服务端时,引擎会自动扫描Envir文件夹及其子目录下的所有脚本文件并加载进内存,这个过程不需要手动干预。
具体来说,打开GameCenter.exe启动游戏控制器,依次启动各个网关和M2引擎后,引擎就会自动读取Mir200\Envir目录下的所有TXT格式脚本文件。英雄脚本和普通NPC脚本的加载机制完全一致,只要脚本文件存放在正确的路径下,引擎在启动阶段就会一并加载。
脚本的生效时机分两种。一种是实时生效类,修改脚本后直接在M2引擎的控制台点击"重新加载"对应模块,无需重启整个服务端。另一种是启动加载类,例如英雄属性、技能等基础脚本,修改后必须关闭GameSvr窗口再重新启动服务端才能生效,否则修改内容不会被引擎读取。部分服务端支持在引擎控制台输入特定命令来指定脚本运行,具体命令可查阅对应引擎的说明书。
如果脚本修改后不生效,排查路径是否正确是第一优先级。打开Mir200\Config文件夹下的Setup.txt,查找HeroScriptPath字段,该字段标注的路径就是当前版本英雄脚本的实际存放位置。另外直接在Envir文件夹内搜索含Hero关键词的文件,也能快速定位所有英雄相关脚本。脚本文件格式均为TXT文本,记事本即可编辑,但编辑时不能删除核心命令,且服务端运行期间不能直接修改正在加载的脚本文件,需先关闭再操作。

