lsm05042211 发表于 2024-4-17 16:54:37

叁月大佬的冰DK的脚本,求改进

local Tbl = BeeUnitBuffList("target")
local buff = BeeUnitBuffList("player")
local A = BeeRune("冰霜符文")>0
local B = BeeRune("邪恶符文")>0
local C = (BeeTargetDeBuffTime("冰霜疫病")>18 and BeeTargetDeBuffTime("血之疫病")>18)
local D = BeeRune("死亡符文")>0
local E = BeeRune("鲜血符文")>0
local F = (BeeTargetDeBuffTime("冰霜疫病")>0 and BeeTargetDeBuffTime("血之疫病")>0)
local H = (BeeRune("冰霜符文")<1 and BeeRune("邪恶符文")<1)
local shoutao = "勇猛的天灾苦痛护手"
local yaoshui = "加速药水(永久)"
local L = BeeRune("鲜血符文")
local M = BeeRuneId("鲜血符文")
BeeRun("/console Sound_EnableSFX 0 ")

------------------插入技能
if BeeCastSpellFast() thenreturn trueend

------------------准备上BUFF 换红脸
if not IsMounted("player") and not UnitIsDeadOrGhost("player") and not BeeStringFind("鲜血灵气",buff) then BeeRun("鲜血灵气") end

-----------------非战斗状态上寒冬号角
if not IsMounted("player") and BeeUnitAffectingCombat() and BeePlayerBuffTime("寒冬号角")<0 then BeeRun("寒冬号角") end

-----------------上疾病
if (A or D) and BeeTargetDeBuffTime("冰霜疫病")<=0 then BeeRun("冰冷触摸") end
if (B or D) and BeeTargetDeBuffTime("血之疫病")<=0 then BeeRun("暗影打击") end

-----------------传染的条件
if F and (BeeTargetDeBuffTime("冰霜疫病")-1.6<0 or BeeTargetDeBuffTime("血之疫病")-1.6<0) then BeeRun("传染");return ;end
if H and BeeRuneCount(M)==1 and L==1 thenBeeRun("传染") end

----铜墙铁壁 情况一(冰邪CD,血2个都好)
if F and H and L==2and BeeSpellCD("活力分流")==0 then BeeRun("/cast 活力分流");return ;end
----铜墙铁壁 情况尔(冰邪CD,血2个CD)
if F and H and L==0 and BeeRuneCount(M)==2 and BeeSpellCD("活力分流")==0 then BeeRun("/cast 活力分流");return ;end
if F and H and D and BeeRuneCount(M)==1 and BeeStringFind("活力分流",buff) and BeeSpellCD("铜墙铁壁")==0 then BeeRun("/cast 铜墙铁壁");return;end
----取消活力分流(1)
if BeeStringFind("活力分流",buff) and BeeStringFind("铜墙铁壁",buff) and BeePlayerBuffTime("铜墙铁壁")<5 then BeeRun("/cancelaura 活力分流","player") end
if BeeStringFind("活力分流",buff) and BeeStringFind("铜墙铁壁",buff) and BeePlayerBuffTime("铜墙铁壁")>15 and L==0 and BeeRuneCount(M)==1 then BeeRun("/cancelaura 活力分流","player") end


----正常的输出:湮灭>血打>冰>凛风
----按shitf 开始AOE,凛风好了就用
if F and BeeIsRun("凛风冲击") and IsLeftAltKeyDown() and (BeeSpellCD("凛风冲击")==0 or BeePlayerBuffTime("冰冻之雾")>0) then BeeRun("凛风冲击") end
----湮灭技能优先第一;符文成对有疾病时候输出
if((A and B) or BeeRune("死亡符文")==2) and F and BeeIsRun("湮没") then BeeRun("湮没");return;end
----鲜血打击:因为有前面的传染判定,这里有空闲的血符文就用
if E then BeeRun("鲜血打击") end
----符文全部冷却的时候:冰打、免费凛风冲击、号角
if not (A and B and D and E) andF and BeePlayerBuffTime("战斗之鼓")<0 then
    BeeRun("/cast<无限>泰坦之鼓","player")
end
if not (A and B and D and E) andF and BeeIsRun("冰霜打击") then BeeRun("冰霜打击") end
if not (A and B and D and E) andF and BeeIsRun("凛风冲击") and BeePlayerBuffTime("冰冻之雾")>0 then BeeRun("凛风冲击") end
if not (A and B and D and E) andF and not BeeIsRun("冰霜打击") andnot BeeIsRun("凛风冲击") and BeeSpellCD("寒冬号角")==0 then BeeRun("寒冬号角") end
if BeeUnitMana("player")>45 and IsSpellInRange("凋零缠绕")==1 and BeeRange("target")>15 then BeeRun("凋零缠绕") end
----有符文打击就用
if BeeUnitMana("player")>20 and BeeIsRun("符文打击") then BeeRun("符文打击") end

1.求各位大佬帮忙看看为啥打木桩到100万伤害的时候会断病。
2.另外求哪位大佬帮忙看看这个在哪里改,T9属性是打鲜血打击出效果的,所以要如何把血打放到循环里,现在这个循环里的血打相对较少。有时候明显疾病时间较长,他直接放2次传染。




附图,打了110万伤害就打了8次鲜血打击

lsm05042211 发表于 2024-4-19 10:24:16

没有人回复吗?求大佬指点啊

lsm05042211 发表于 2024-4-19 14:01:40

if H and BeeRuneCount(M)==1 and L==1 thenBeeRun("传染") end

lsm05042211 发表于 2024-4-19 14:03:53

if H and BeeRuneCount(M)==1 and L==1 thenBeeRun("传染") end

貌似这一句有点多余,因为两个血符文都冷却之后,会出现一血一死,这样刚好符合上述判定,导致了另外一个血也放传染,从而导致血打打的少。请大佬指导

hcjun123 发表于 2024-4-23 09:06:00

大佬发的有点高端啊,容我先试用一番{:5_236:}{:5_236:}

如果把血打加个判定会不会解决呢?

lsm05042211 发表于 2024-4-23 09:18:59

hcjun123 发表于 2024-4-23 09:06 AM
大佬发的有点高端啊,容我先试用一番

如果把血打加个判定会不会解决呢?

就是不知道加哪里啊,所以叁月大佬写的特别高端
页: [1]
查看完整版本: 叁月大佬的冰DK的脚本,求改进