传奇添加英雄合击脚本实操流程:M2引擎开关与QFunction触发配置详解

来源: 作者: 点击:
在GOM、GEE、HERO等主流传奇引擎里添加英雄合击脚本,本质是“引擎开关 + 数据库技能条目 + QFunction/QuestDiary脚本触发 + 客户端补丁”四块联动。原版1.76无英雄系统,必须用明确带“合击/Hero/Combo”标记的端,否则后面脚本写了也不生效。

一、前置确认与引擎开关
1. 确认引擎与端版本
查看 Mir200 下的 M2Server.exe 属性或版本说明,确认是 GOM、GEE、Hero、LegendM2 等支持英雄的引擎;目录里应有 HeroDB、HeroModule.dll、Envir\Market_Def、QFunction-0.txt 等文件。
2. 开启英雄系统
• !Setup.txt 或 Config.ini 里搜 Hero,确认 HeroMode=1 或 AllowHero=1,没有就手动加一行;

• 启动 M2Server → 选项 → 功能设置 → 英雄设置,勾选“允许召唤英雄”“允许英雄升级”“允许合击技能释放”;

- 合击参数里设能量/怒气上限(如 ComboEnergyMax=100 或 ComboNeedRage=500),积累规则填打怪加几点、受击加几点;
• 保存后重启 M2Server,控制台出现“英雄模块已加载 / 英雄系统就绪”才算成功。

二、技能数据库与物品配置
1. Skill.DB / MagicDB / SkillInfo.dat
用 DBC2000 或引擎自带技能管理加一条合击技能:
• SkillID 自定义不重复(如1001)

- Name=雷霆一击 / 破魂斩 / 劈星斩
• Type=999 或 12(合击专属类型,按引擎要求填)

• HeroJob=主职业,英雄职业(如 1,1 战战、1,3 战道)

• Level=40、MP=50、Damage、Range、CoolDown 填好

- Icon 对应客户端 Data 里的图标索引
重载技能库或点“加载技能配置”生效。
2. Item.DB 加合击技能书
新增“破魂斩秘籍”之类道具,类型选技能书,UseLevel=40,绑定 SkillID=1001,勾选可交易/可丢弃,怪掉或NPC发。
3. StdItems.txt 武器关联(部分引擎需要)
屠龙等武器加一行 ComboSkill=1001,否则只靠 HeroSkill.txt 不触发。

三、核心触发脚本写法(以 QFunction-0.txt / QuestDiary 为例)
文件位置:Mir200\Envir\QFunction-0.txt 或 Envir\QuestDiary\合击技能\xxx.txt

1. 基础条件检测 + 释放(GOM/GEE 常用)

[@ComboSkill1]
#IF
CHECKNOBJTYPE PLAYER
CHECKHEROEXIST
CHECKRAGE 500
CHECKSPELL 1001 1
#ACT
CASTCOMBOSKILL 1
SENDMSG 6 $USERNAME 与英雄释放了合击:雷霆一击!
#ELSEACT
SENDMSG 6 英雄未召唤或怒气/技能不足,无法合击!

CASTCOMBOSKILL 后的编号对应 ComboSkill.dat 或 HeroSkill.txt 里的合击ID。

2. Hero引擎风格(SkillInfo.dat + QManage.txt)

[@HeroComboTrigger]
#IF
CheckHeroExist
CheckHeroLevel >=40
CheckItem 5001 1
CheckSkill 1001 1
#ACT
TakeItem 5001 1
HeroSkill 1001
PlaySound 2001
SendMsg 6 0 255 0 英雄合击已触发!
#ELSEACT
SendMsg 6 255 0 0 条件不满足:英雄等级/令牌/技能缺失

配套 HeroAI.txt 里写目标筛选与范围伤害:

[@ComboAttack]
#IF
CheckSkill 1001 1
CheckMonsterNear 5
#ACT
MonAttack 1001 3
MapEffect 10


3. 学习合击书脚本(NPC发书)
Market_Def\英雄使者.txt:

[@LearnComboSkill]
#IF
CHECKLEVEL 40
CHECKHEROEXIST 1
CHECKITEM 合击秘籍 1
#ACT
TAKE 合击秘籍 1
HeroLearnSkill 1001
SENDMSG 7 成功学习合击【破魂斩】,怒气满按F11释放
#ELSESAY
需等级≥40、已召英雄、背包有合击秘籍


4. 快捷键绑定
M2 → 游戏命令 → 快捷键设置,把 @ComboSkill 绑到 F11(或 Ctrl+S、V 键),客户端 HeroSkill.ini 里 HotKey 对应虚拟码同步改。

四、地图与模式限制
• MapQuest_def\地图名.txt 里加 ALLOWCOMBOATTACK,没加的地图禁合击;

• 英雄必须切到攻击/主动模式(HEROMODE 1),跟随模式不响应合击;

- 主号与英雄需同时装备允许合击的武器(StdItems 里标了 ComboSkill 的);
• 怒气/能量从主号或火龙之心扣,蓝不够放不出。

五、客户端补丁
把合击技能图标、.wil/.wzl 特效、HeroSkill.ini 放进客户端 Data 与 C:\LegendHero 目录,登录器生成时勾选英雄补丁,不然服务端放了脚本、客户端看不到图标和特效。

六、测试顺序与常见卡点
1. 启动顺序:LoginSrv → DBServer → M2Server(看英雄模块加载)→ GameSrv → 登录器;
2. 建主号 → @CallHero 或 Ctrl+E 召英雄 → 打怪看怒气槽 → 满后按绑定键;
3. 放不出排查:
• Hero.ini 里 HeroEnable=0 → 改1

• ComboSkill.dat 里 SkillEnable=0 → 改1

• QFunction 里漏 CHECKHEROEXIST → 补上

- 脚本文件没存 ANSI 编码 → Notepad++ 转 ANSI 防乱码
• 端本身不支持英雄 → 换合击端

4. 技能误触/不扣怒气 → 检查 Random 概率段、CheckRage 数值、CoolDown 是否重叠触发

不同引擎命令字略有差异(CASTCOMBOSKILL / ComboAttack / HeroSkill / MagSelfFunc 999),动手前先对一遍所用引擎的合击脚本模板再改 ID 和职业组合,别直接混抄 GOM 和 Hero 的段子。