|
本帖最后由 托托 于 2015-12-13 21:08 编辑
作为一个圣骑 自从用了GC发现无敌都开不下来就趟不太合适,就想研究下方案运行过程中如何插入技能
发现论坛里已经有解决方案 开关宏控制插入技能: 开关宏教程
仔细阅读后发现此解法不适合我原因有:
1.操作起来比较麻烦 如果技能多要搞好久
2.强迫症病发 如果用这个宏替换原来的技能 那么不开GC的时候按这个宏是无效的 搞2个按键界面太乱 更是麻烦
所以有了如下方法:
不需要FH解锁 OLUA就可以了
原理:订阅战斗记录 找到因卡CD问题未施法成功的技能,随后施放,如技能CD则跳过,超过1.5未施放成功跳过,如果几乎同时按下了制裁 无敌,并都未施放成功,以后一个为准
首先创建一个自定义脚本,就叫“插入技能”吧 注意是脚本不是宏
然后点编辑
如下代码复制进去保存 技能部分根据自己需要调整 前面是技能ID+个逗号 后面的--之后是注释 可有可无
关于支持的技能(无GCD技能就不用加了,反正都能按的出来)
1.不需要目标可以释放的 或 当目标为敌方默认对自己施放的 类似骑士无敌 自由 圣疗 法师冰箱 小德超凡之盟
2.对当前目标释放的 类似制裁或一般伤害技能
3.对友方释放的也可以加入进去,比如保护,但在施放期间请务必保持当前目标放在友方身上
- local SpellList = {
- 642, -- 圣盾术
- 105593, -- 制裁之拳
- 121783, -- 超脱
- }
- F=F or CreateFrame("frame")
- F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")F:SetScript("OnEvent",function(_,_,_,e,_,_,whocast,_,_,_,_,_,_,spellID,_,_,retext)
- if(e=="SPELL_CAST_FAILED" and whocast==GetUnitName("player") and retext=="尚未恢复")
- then
- for i=1,#SpellList do
- if spellID==SpellList[i]
- then
- waitToCast={spellID,GetTime()}
- end
- end
- end
- end)
- if (waitToCast ~= nil) then
- if (amSpellCooldown(waitToCast[1])>1.5 or GetTime()-waitToCast[2]>1.5)
- then
- waitToCast=nil
- else
- if amSpellCooldown(waitToCast[1])==0
- then
- CastSpellByName(tostring(select(1,GetSpellInfo(waitToCast[1]))))
- end
- end
- end
复制代码
无视我的GC版本吧。。买不起新版。。旧版6.2又不让用只能自己随便改改 能跑起来就行
然后新建个施法方案,排在最上面,再选添加宏/脚本,选刚刚建立的叫插入技能的脚本
然后添加条件,添加函数,计算逻辑表达式
填入参数
- F==nil or waitToCast~=null
复制代码 选择返回值
然后就搞定了,技能什么的根本不用动
再也不用担心无敌开不出来就扑了!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?加入我们
x
评分
-
查看全部评分
|