Originally Posted by PARRYHOTTEr
Hello everyone!
I'm very new to coding addOns to wow, and i've encountered a problem that annoys me.
Whenever i launch the game, GetAverageItemlevel() returns a nil value. If i then reload the UI it will then start to return the expected values.
What i wish to figure out is a way to stop this behaviour of where i have to reload the UI once before the addOn displays the expected value.
The following code is giving me this problem:
Code:
local ilvlText = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight")
ilvlText:SetPoint("TOPLEFT", 10, -60)
local avgItemLevel, avgItemLevelEquipped, avgItemLevelPVP = GetAverageItemLevel()
ilvlText:SetText("Average equipped ilvl is: " .. tostring(avgItemLevelEquipped or "Refresh UI"))
|
You need to wait until the game knows something about the characther you just logged in to, try (your code didn't mention where the frame is anchored so I made that bit up):
Lua Code:
frame:SetSize(5, 5)
frame:SetPoint("LEFT", 10, 0)
frame.ilvlText = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlight")
frame.ilvlText:SetPoint("TOPLEFT", 10, -60)
frame:RegisterEvent("PLAYER_LOGIN")
frame:RegisterUnitEvent("UNIT_INVENTORY_CHANGED", "player")
frame:SetScript("OnEvent", function(self)
local avgItemLevel, avgItemLevelEquipped, avgItemLevelPVP = GetAverageItemLevel()
self.ilvlText:SetText("Average equipped ilvl is: " .. tostring(avgItemLevelEquipped or "Refresh UI"))
end)