hl2086 发表于 2023-10-9 10:17:41

求助:暗牧噬灵疫病释放规则

暗牧的噬灵疫病只能对一个目标释放生效,切换至另一个目标释放,则上一个的噬灵疫病就消失了。
有没什么方法能解决这个问题:上一个目标的噬灵疫病还没消失时,即使切换了也不 顶掉这个技能


懒动行不行 发表于 2023-10-9 10:23:46

使用战斗事件记录来追踪噬灵疫病只是否命中以及是否从怪物身上消失,只有消失后再允许再次释放
{:5_251:}{:5_251:}{:5_251:}

hl2086 发表于 2023-10-9 10:29:31

懒动行不行 发表于 2023-10-9 10:23 AM
使用战斗事件记录来追踪噬灵疫病只是否命中以及是否从怪物身上消失,只有消失后再允许再次释放
{ ...

不会写,求大佬赐教:):)

vshrd 发表于 2023-10-9 14:10:19

hl2086 发表于 2023-10-9 10:29 AM
不会写,求大佬赐教

既不会事件有没有高级解锁器的话
这个实现就暂时不用考虑了= =搞不定的
只能单目标

贾维斯117 发表于 2023-10-9 16:03:41

还有种办法,借腹生子,找个buff倒计时的插件,把里面的针对guid的倒计时改为全局变量,然后用魔蜂获取来判断,等于借了那个插件的代码来做判断,不过,不懂lua的话估计难度不低于自己写事件{:5_183:}

懒动行不行 发表于 2023-10-9 16:39:10

本帖最后由 懒动行不行 于 2023-10-9 04:50 PM 编辑

F=CreateFrame("Frame")
F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
F:SetScript("OnEvent",function(self,event,_,subevent,_,_,_,_,_,_,_,_,_,_,spellname)
local a=a or 0
local b=b or 0
if subevent=="SPELL_CAST_SUCCESS" and spellname=="噬灵疫病”then
a=1
end
if subevent=="SPELL_AURA_REMOVED" and spellname=="噬灵疫病”then
b=1
a=0
end
if BeeUnitBuff("噬灵疫病","target",0,2)<0 and (a==0 or b==1) then
BeeRun("噬灵疫病")
end
end)


大概想了个思路,因为没办法上游戏,需要楼主自己验证
当检测到目标身上的噬灵疫病没有后,那么根据2条来判断是否施放噬灵疫病:
1、已经检测到噬灵疫病从任意生物身上消失的战斗事件记录,或
2、没有检测到对任意生物施放噬灵疫病成功的战斗事件记录

思路大致是这个思路,可能有我没想到的问题,楼主慢慢摸索吧
{:5_164:}


hl2086 发表于 2023-10-10 09:12:11

懒动行不行 发表于 2023-10-9 04:39 PM
F=CreateFrame("Frame")
F:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
F:SetS ...

谢谢,我研究下{:5_250:}{:5_250:}
页: [1]
查看完整版本: 求助:暗牧噬灵疫病释放规则