All pastes #73407 Raw Edit

Untitled

public lua v1 · immutable
#73407 ·published 2006-06-27 20:23 UTC
rendered paste body
idExperienceDisplay = AceLibrary('AceAddon-2.0'):new('AceEvent-2.0')local round = function(num)    return math.floor(num+.5)endfunction idExperienceDisplay:OnEnable()    local font, _, _ = GameFontHighlightSmall:GetFont()    self.Frame = CreateFrame('Frame', nil, UIParent)    self.Frame:SetHeight(20)    self.Frame:SetWidth(300)    self.Frame:SetBackdrop({        bgFile = 'Interface\\Tooltips\\UI-Tooltip-Background',        edgeFile = '',        tile = true,        tileSize = 16,        edgeSize = 0,        insets = {            left = 0,            right = 0,            top = 0,            bottom = 0        }    })    self.Frame:SetBackdropColor(0,0,0,0.6)    self.Frame:ClearAllPoints()    self.Frame:SetPoint('CENTER', UIParent, 'CENTER')    self.Frame.Text = self.Frame:CreateFontString(nil,'OVERLAY')    self.Frame.Text:SetFontObject(GameFontNormal)    self.Frame.Text:SetFont(font, 15)    self.Frame.Text:SetHeight(20)    self.Frame.Text:SetWidth(300)    self.Frame.Text:SetTextColor(1, 1, 1)    self.Frame.Text:SetPoint('CENTER', self.Frame, 'CENTER')    self.Frame.Text:SetJustifyH('CENTER')    self:RegisterEvent('PLAYER_XP_UPDATE', 'OnExperienceGained')    self:RegisterEvent('UPDATE_EXHAUSTION', 'OnExperienceGained')    self:OnExperienceGained() -- initialize itendfunction idExperienceDisplay:OnDisable()    self.Frame = nil    self.old = nilendfunction idExperienceDisplay:OnExperienceGained()    DEFAULT_CHAT_FRAME:AddMessage('XP GAINED')    local xp = UnitXP('player')    local xpmax = UnitXPMax('player')    local xpneeded = xpmax - xp + (GetXPExhaustion() or 0)/2    local xppercent = round(xpneeded/xpmax*100)    if not self.old then self.old = xpneeded end    local killstolevel = round(xpmax/self.old)    self.Frame.Text:SetText(string.format('%s (%s%%) ~%s', xpneeded, xppercent, killstolevel))    self.old = self.old - xpneededend