当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本释放技能写法:服务端QF触发与脱机挂机命令对照

热度:
传奇里“脚本释放技能”分两条完全不通的体系:服务端M2脚本(QF/QFunction/HeroAI里写,给NPC、触发、英雄AI用)和客户端脱机/辅助挂机脚本(你前面写的那种全局+挂机文本)。两者命令不一样,混着写必然按了不放。

一、服务端脚本释放技能(M2侧)
通用引擎(GOM/GEE/HERO/翎风)核心命令:
•有施展动作:ReleaseMagic技能ID强化(0/1)等级目标(1攻击对象/2自身)

•无动作(推荐,不吃后摇):ReleaseMagicEX技能ID强化等级目标

-翎风系扩展:ReleaseMagicEX技能ID强化等级目标是否算CD(0算/1不算)是否伤害触发(0否/1是)
•英雄释放前缀加H.:H.ReleaseMagicEX技能ID强化等级目标

-分身前缀FS.:FS.ReleaseMagicEX...

技能ID去D:\Mirserver\Mir200\Envir\MagicList.txt或Skill.DB查,烈火一般10/101,火墙22,雷电11,冰咆哮33,流星火雨58,合击技能501起。目标参数写1是对当前锁敌释放,写2是给自己上buff(治愈术、魔法盾)。

触发标签写哪:
•物理攻击触发→[@Attack]下放ReleaseMagicEX10031(3级烈火打当前目标)

•魔法攻击触发→[@MagicAttack]下用Equal<技能ID>判断本次施法,再跟ReleaseMagicEX

-被击触发→[@Struck]/[@MagicStruck]
•登录/上线→[@Login]

•英雄AI独立文件HeroAI.txt里写[@ComboAttack]控制英雄出招

条件判定必须前置,不然技能放不出来:
IF

CHECKJOB1;1战士2法师3道士
CHECKLEVELEX>=35;够学技能等级
CHECKMAGIC10;已学烈火(10为技能ID)
CHECKMP>=20;蓝够
CHECKTIME1;自定义定时器防连发
ACT

ReleaseMagicEX10031
SETTIMER18;烈火8秒冷却锁

注意:在[@Attack]里用ReleaseMagicEX火墙(持续伤害技)要把“是否伤害触发”置0,否则火墙每次烫怪再触发[@MagicStruck]容易递归死循环。

二、英雄自动放技能(合击服重点)
英雄不是用ReleaseMagicEX直接控的,走两条路:
1)M2侧HeroAI.txt写死逻辑:检测5格有怪+英雄有蓝→Act里H.ReleaseMagicEX技能ID0等级1;合击则检测火龙之心+怒气≥100→HeroSkill合击ID或ComboAttack1。
2)客户端辅助/脱机脚本模拟按键:Ctrl+E切英雄攻击态→Ctrl+W锁同一目标→等黄怒满→发Ctrl+S放合击;主号内功连击发Ctrl+D。你前面那段挂机脚本里“战斗段”只写边打边走没写技能,辅助不会自动替你按Ctrl+D/S,要在辅助“技能设置”页单独勾主号烈火/火墙/连击、英雄自动技能,或脚本里加“按键Ctrl+D”指令。

三、脱机挂机脚本(你用的那种文本格式)释放技能写法
你之前贴的脚本是“全局脚本+挂机脚本”混合文本,这类格式各辅助解析不同,但释放技能常见写法有三种:
•直接喊技能名(部分端支持):使用[烈火剑法]/释放[火墙]/英雄释放[雷电术]

•按键模拟(最稳,绕过物品名匹配):按键[Ctrl+D]放主号连击;按键[Ctrl+S]放合击;按键[F1]若你把烈火绑在F1

•延迟必须夹在中间:按键[Ctrl+D]等待[800]毫秒再下一步,不等待引擎没收到连击内力判定会吞指令

战士挂机示例片段:
<战斗>
如果[自己][职业]==战士
那么按键[Ctrl+D];内功连击
等待[1200]毫秒
如果[自己][烈火剑法][可用]==1
那么按键[F1];F1绑烈火
等待[800]毫秒
边打边走到[...]

法师挂机示例片段:
如果[自己][魔法]>=30
那么释放[火墙];辅助认技能名就放,不认就改按键[F2]
等待[500]毫秒
那么释放[冰咆哮]
道士示例:
英雄释放[施毒术];注意很多辅助区分“主号释放”和“英雄释放”两栏
主号释放[灵魂火符]

四、放不出来的硬排查(对照你前面脚本风格)
1.技能名不是数据库全名:服务端叫“烈火剑法”就写烈火剑法,叫“强化烈火(3级)”就得抄全名,差一字辅助不认。
2.没锁目标就放指向技:火墙/冰咆哮/烈火都要求Ctrl+W锁了怪再按,全局脚本里只写“使用[火墙]”没先锁敌,坐标丢脚下或哑火。
3.内力/怒气/蓝不满足:连击吃内力(F10内功槽),合击吃黄怒+火龙之心,火墙吃法蓝,脚本不判资源直接按就是空按。
4.冷却没等:烈火8秒、合击30~60秒,脚本里按键后不加等待[8000]毫秒,下一轮又按Ctrl+D或F1被引擎拒。
5.英雄在休息态:Ctrl+E没切到攻击/跟随攻击,脚本喊“英雄释放[雷电术]”英雄不动。
6.改键冲突:F12里把合击从Ctrl+S改成F1,脚本还发Ctrl+S就无效;反之辅助里按键写F1但游戏里F1绑的是随机传送,也会乱跳。
7.服务端禁脚本施法:部分HERO端在M2“游戏设置-脚本”里勾了“禁止ReleaseMagic触发”,QF里写百遍也不出,只能走客户端按键模拟。

五、最小可跑服务端示例(战士攻击触发烈火)
路径:Mir200\Envir\QuestDiary\技能触发\烈火.txt
[@Attack]
IF

CHECKJOB1
CHECKMAGIC10
CHECKMP>=20
CHECKTIMER1
ACT

ReleaseMagicEX10031
SETTIMER18
ELSEACT

;条件不满啥也不做

英雄配合(HeroAI.txt):
[@HeroAutoFire]
IF

CheckHeroOnline
CheckMonsterNear5
CHECKMAGIC11
ACT

H.ReleaseMagicEX11031

六、和你前几段脚本的接法
你之前元宝牧场挂机脚本的<战斗>段只写了“边打边走到XY”没写任何技能指令,辅助默认不会自动放烈火/火墙/合击。要么在辅助GUI里勾“主号自动烈火”“主号内功连击Ctrl+D”“英雄自动技能”“合击怒满自动Ctrl+S”,要么在<战斗>循环里插入:
按键[Ctrl+W]等待[200]毫秒按键[Ctrl+D]等待[1500]毫秒
(战士)如果[自己][烈火可用]==1那么按键[F1]等待[8000]毫秒
(合击)如果[英雄][怒气]==满那么按键[Ctrl+S]等待[1000]毫秒
坐标前缀mapid错了寻路先炸,技能指令根本轮不到执行——和你之前“计算路径错误”是同一类病因,先修坐标再补技能行。

七、各引擎差异速记
•GOM/GEE:ReleaseMagicEX五参版,H.前缀控英雄,[@Attack]可用。

-HERO:ReleaseMagic四参,HeroAI.txt单独管英雄,QF里也能H.ReleaseMagic。
•翎风:ReleaseMagicEX六参,多“是否算CD”“是否伤害触发”两参,火墙务必置触发0。

-蓝月/3K商业端:脚本层常禁ReleaseMagic,只能走客户端按键模拟Ctrl+D/W/S或F1~F8。
•你写的“如果[自己][武器][持久]<10那么使用[修复神水]”这种是中控脱机文本格式,释放技能用“按键[xxx]”比“释放[技能名]”稳,因为前者绕开服务端物品/技能名匹配,直接送键盘消息给客户端。
[顶部]