Hi Guys,
I am struggling with something that is probably fundamentally easy.
I have written a quick addon that prints xp to screen. at present it is triggering on update. obviously this is not optimal. So i want it to only update on xp gain.
But I can't seem to get the event to actually work.
here is my current code.
Code:
local curXP = GetUnitXP("Player")
local maxXP = GetUnitXPMax("Player")
function OnUpdate()
MahaliaXpgain:SetText(string.format("XP: %d/%d", curXP, maxXP))
end
function UpdateXP()
curXP = GetUnitXP("Player")
maxXP = GetUnitXPMax("Player")
OnUpdate()
end
--this was bastardised from yout tutorial at http://wiki.esoui.com/AddOn_Quick_Questions#How_do_events_work.3F
function Mahalia_OnInitialized(self)
--Register on the top level control...
self:RegisterForEvent(EVENT_EXPERIENCE_GAINED, UpdateXP)
--OR, register with a string unique to your add-on
EVENT_MANAGER:RegisterForEvent("Mahalia", EVENT_EXPERIENCE_GAINED, UpdateXP)
end
I can have it trigger by using
Code:
<OnMouseDown>
UpdateXP()
</OnMouseDown>
But I can't just seem to get the event to trigger UpdateXP() even when it is was just d("print me") it woudn't trigger on xpgain
What am i doing wrong with event registration?