Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local f = {}
- f.m = CreateFrame("Frame", "BuffList", UIPanel)
- f.m:SetSize(200,300)
- f.m:SetPoint("CENTER")
- f.bg = f.m:CreateTexture(nil, "BACKGROUND")
- f.bg:SetTexture(0,0,0,0.5)
- f.bg:SetAllPoints()
- f.close = CreateFrame("Button", "BuffList_close", f.m, "UIPanelCloseButton")
- f.close:SetPoint("TOPRIGHT", f.m, "TOPRIGHT", 2, 2)
- f.close:SetSize(15,15)
- f.title = f.m:CreateFontString("BuffList_title", "OVERLAY", "GameFontNormal")
- f.title:SetPoint("TOP", f.m, "TOP")
- f.title:SetText("BuffList")
- local b = {
- id = {},
- spell = {},
- desc = {},
- }
- for i = 1, 40 do
- if UnitBuff("PLAYER", i) then
- b.id[i] = select(11, UnitBuff("Player", i))
- b.spell[i] = GetSpellInfo(b.id[i])
- b.desc[i] = gsub(GetSpellDescription(b.id[i]), "%c%c", " ")
- end
- end
- f.l = {}
- for i = 1, #b.id do
- f.l[i] = CreateFrame("Frame", nil, f.m)
- f.l[i]:SetSize(f.m:GetWidth() - 10, 30)
- f.l[i].bg = f.l[i]:CreateTexture(nil, "BACKGROUND")
- f.l[i].bg:SetAllPoints()
- f.l[i].bg:SetTexture(0.5,0.5,0.5)
- if i == 1 then
- f.l[i]:SetPoint("TOPLEFT", f.m, "TOPLEFT", 5, -15)
- else
- f.l[i]:SetPoint("TOPLEFT", f.l[i-1], "BOTTOMLEFT", 0, -2)
- end
- local t = {
- [i] = {
- name = f.l[i]:CreateFontString("BuffList_name" .. i, "OVERLAY", "GameFontWhite"),
- type = f.l[i]:CreateFontString("BuffList_type" .. i, "OVERLAY", "GameFontNormal"),
- desc = f.l[i]:CreateFontString("BuffList_desc" .. i, "OVERLAY", "GameFontNormal"),
- }
- }
- -- Put all the texts inside the frames.
- t[i].name:SetPoint("TOPLEFT", f.l[i], "TOPLEFT", 1, 1)
- t[i].name:SetText(b.spell[i])
- t[i].name:SetFont("Fonts\\FRIZQT__.TTF", 10)
- t[i].type:SetPoint("TOPLEFT", f.l[i], "TOPLEFT", 1, 1)
- --t[i].type:SetText(b.spell[i])
- t[i].type:SetFont("Fonts\\FRIZQT__.TTF", 10)
- t[i].desc:SetPoint("TOPLEFT", f.l[i], "TOPLEFT", 1, -15)
- t[i].desc:SetText(b.desc[i])
- t[i].desc:SetFont("Fonts\\FRIZQT__.TTF", 10)
- t[i].desc:SetWordWrap(true)
- t[i].desc:SetWidth(f.l[i]:GetWidth())
- if t[i].desc:GetNumLines() > 1 then
- f.l[i]:SetHeight(20 + t[i].desc:GetHeight())
- end
- print(t[i].desc:GetHeight())
- end
- f.m:Show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement