1

World of Warcraft のアドオンに取り組んでいます。これは、私のプレイ スタイルに合わせてインターフェースを完全にオーバーホールするものです。

このアドオンでは、メイジの「メイン DP ローテーション」として機能する大きなボタンが必要です。いつでも最適なものに基づいて、キャストする呪文を変更したいと思います。自動的に呪文を唱えるのではなく、ユーザーに次善の選択肢を提示するだけです。

これまでの私のコードは次のとおりです。

print "Interface Overhaul : LOADED"
heatingUpIsActive = false
print(heatingUpIsActive)

local Button = CreateFrame("Button", "MyButton", UIParent,"SecureActionButtonTemplate")
Button:SetWidth(256)
Button:SetHeight(256)
Button:SetFrameStrata("HIGH")
Button:SetPoint("LEFT")
Button:SetText("Main Rotation")
Button:RegisterForClicks("AnyUp")
Button:SetAttribute("type", "spell")
Button:SetAttribute("spell", "Fireball")

Button:RegisterEvent("UNIT_AURA");
local function auraGained(self, event, ...)

    if (UnitAura("player", "Heating Up")) then
             if (heatingUpIsActive == false) then
             heatingUpIsActive = true
             print (heatingUpIsActive)
             print ("Heating Up is active!")
             Button:SetAttribute("spell", "Inferno Blast")
             end
            else
             heatingUpIsActive = false
             print("Heating Up is NOT active.")
             print(heatingUpIsActive)
    end
end
Button:SetScript("OnEvent", auraGained);

local tex = Button:CreateTexture("ARTWORK");
tex:SetPoint("LEFT")
tex:SetWidth(256)
tex:SetHeight(256)
tex:SetTexture("Interface\\AddOns\\InterfaceOverhaul\\Button2")

の場合、代わりにheatingUpIsActive == trueボタンをキャストしたいのですが、それをステートメントの正しい部分に配置すると機能しません。("spell", "Inferno Blast")("spell", "Fireball")if

何かご意見は?

4

1 に答える 1