传奇服务端中,英雄相关功能由专用脚本控制,其文件位置与普通角色脚本分离。所有脚本均在服务端启动后由M2Server进程调用,通过事件标签触发执行。
一、英雄脚本存放目录
进入服务端主目录 Mir200Envir,英雄专属脚本位于以下路径:
Mir200EnvirHeroQuestDiary:存放英雄行为逻辑(如召唤、升级、技能);
Mir200EnvirHeroMarket_def:定义英雄可使用的商店;
Mir200EnvirHeroNpc_def:配置英雄专属NPC对话。
核心文件为 Hero.txt,位于 Mir200Envir 根目录,控制英雄全局开关与基础属性。
二、普通脚本与英雄脚本区别
普通玩家脚本存放在 Mir200EnvirQuestDiary,而英雄脚本必须放入 HeroQuestDiary 子目录。例如:
玩家登录脚本:QuestDiaryLogin.txt;
英雄登录脚本:HeroQuestDiaryHLogin.txt。
若将英雄逻辑写入普通脚本,系统不会识别,导致功能失效。
三、脚本运行触发机制
脚本不主动运行,仅在特定事件发生时由服务端调用。常见触发点包括:
登录事件:角色上线时自动读取 Login.txt 或 HLogin.txt;
地图移动:进入坐标(100,100)触发 [@MapMove_100_100];
NPC对话:点击NPC执行 [@Main] 或自定义标签;
定时器:通过 TIMER 指令循环调用指定标签。
英雄专属事件需在 Hero.txt 中启用 HERO_ENABLE=1,否则所有英雄脚本被忽略。
四、关键英雄脚本文件说明
HLogin.txt:英雄创建、属性初始化、装备继承逻辑;
HeroLevelUp.txt:英雄升级时触发的经验分配与技能学习;
HeroCall.txt:处理召唤/收回英雄的指令(如使用“英雄召唤卷轴”);
HeroAttack.txt:定义英雄自动攻击怪物的条件与行为。
五、脚本调用规则
在任意脚本中可通过 #CALL 指令引用其他文件。例如在普通NPC脚本中调用英雄功能:
IF
CHECKHERO
ACT
CALL [HeroQuestDiaryHeroCall.txt]
CHECKHERO 判断当前角色是否拥有英雄,避免无英雄玩家误触发。
六、验证脚本是否生效
修改脚本后必须重启M2Server。测试方法:
创建带英雄的角色;
执行对应操作(如升级、召唤);
观察服务端日志是否有“Load Hero Script”记录;
检查客户端是否返回预期反馈(如提示文字、状态变化)。
若无效,确认:
文件路径是否包含 Hero 子目录;
脚本编码为ANSI(非UTF-8);
Hero.txt 中英雄功能已开启。
传奇脚本运行完全依赖服务端事件驱动,英雄功能需严格区分文件位置与调用逻辑,确保系统正确识别并执行。

