print("GBL loaded!") |
local GBLnametexts = {} |
local GBLilvltexts = {} |
local GBLtypetexts = {} |
local GBLpricetexts = {} |
local GBLcounttexts = {} |
|
local gbl = CreateFrame("ScrollFrame", "GBLScrollFrame", GuildBankFrame, "UIPanelScrollFrameTemplate") |
gbl:SetWidth(694) |
gbl:SetHeight(279) |
gbl:SetPoint("LEFT", 30, -20) |
local scrollchild = CreateFrame("Frame", "GBLScrollChild", gbl) |
scrollchild:SetPoint("TOPLEFT") |
scrollchild:SetWidth(685) |
scrollchild:SetHeight(750) |
scrollchild:EnableMouse(true) |
gbl:SetScrollChild(scrollchild) |
local nametitle = gbl:CreateFontString(nil,nil,"GameFontNormalLeft") |
nametitle:SetPoint("BOTTOMLEFT", gbl, "TOPLEFT", 90, 10) |
nametitle:SetHeight(20) |
nametitle:SetWidth(100) |
nametitle:SetText("Item") |
local ilvltitle = gbl:CreateFontString(nil,nil,"GameFontNormal") |
ilvltitle:SetFont("Fonts\\FRIZQT__.ttf", 11) |
ilvltitle:SetPoint("LEFT", nametitle, "RIGHT", 135, 0) |
ilvltitle:SetHeight(25) |
ilvltitle:SetWidth(100) |
ilvltitle:SetText("iLevel / useLevel") |
local typetitle = gbl:CreateFontString(nil,nil,"GameFontNormalLeft") |
typetitle:SetPoint("LEFT", ilvltitle, "RIGHT", 5, 0) |
typetitle:SetHeight(20) |
typetitle:SetWidth(125) |
typetitle:SetJustifyH("LEFT") |
typetitle:SetText("Item Type") |
local pricetitle = gbl:CreateFontString(nil,nil,"GameFontNormalLeft") |
pricetitle:SetPoint("LEFT", typetitle, "RIGHT", 40, 0) |
pricetitle:SetHeight(60) |
pricetitle:SetWidth(125) |
pricetitle:SetText("Vendor Price") |
local separator = gbl:CreateTexture() |
separator:SetWidth(741) |
separator:SetHeight(30) |
separator:SetTexture("Interface\\MailFrame\\UI-MailFrame-InvoiceLine") |
separator:SetPoint("TOP", 14, 20) |
separator:SetAlpha(1) |
|
local link, ilvl, itype, isubtype, price, count |
local function UpdateTexts(tab, id) |
link = GetGuildBankItemLink(tab ,id) |
if link then |
_,_,_,ilvl,reqlvl,itype,isubtype,_,_,_,price = GetItemInfo(link) |
_,count,_ = GetGuildBankItemInfo(tab,id) |
GBLcounttexts[id]:SetText("x"..count) |
GBLnametexts[id]:SetText(link) |
GBLtypetexts[id]:SetText(itype..": "..isubtype) |
if ilvl then |
GBLilvltexts[id]:SetText(ilvl.." / "..reqlvl) |
end |
if price then |
GBLpricetexts[id]:SetText(GetCoinTextureString(price*count)) |
end |
else |
GBLcounttexts[id]:SetText("") |
GBLnametexts[id]:SetText("<empty slot>") |
GBLilvltexts[id]:SetText("") |
GBLtypetexts[id]:SetText("") |
GBLpricetexts[id]:SetText("") |
end |
end |
|
local function FrameFactory(btn) |
local div = btn:CreateTexture() |
div:SetWidth(1000) |
div:SetHeight(30) |
div:SetTexture("Interface\\MailFrame\\UI-MailFrame-InvoiceLine") |
div:SetPoint("LEFT", -25, -22) |
div:SetAlpha(.75) |
local id = btn:GetID() |
local counttext = btn:CreateFontString() |
GBLcounttexts[id] = counttext |
counttext:SetFont("Fonts\\ARIALN.ttf", 14) |
counttext:SetPoint("LEFT", btn, "RIGHT", 5, 0) |
counttext:SetHeight(37) |
counttext:SetWidth(50) |
counttext:SetJustifyH("LEFT") |
local nametext = btn:CreateFontString() |
GBLnametexts[id] = nametext |
nametext:SetFont("Fonts\\ARIALN.ttf", 15) |
nametext:SetPoint("LEFT", counttext, "RIGHT", 20, 0) |
nametext:SetHeight(37) |
nametext:SetWidth(300) |
nametext:SetJustifyH("LEFT") |
local ilvltext = btn:CreateFontString() |
GBLilvltexts[id] = ilvltext |
ilvltext:SetFont("Fonts\\ARIALN.ttf", 14) |
ilvltext:SetPoint("LEFT", nametext, "RIGHT", 15, 0) |
ilvltext:SetHeight(37) |
ilvltext:SetWidth(125) |
local typetext = btn:CreateFontString() |
GBLtypetexts[id] = typetext |
typetext:SetFont("Fonts\\ARIALN.ttf", 14) |
typetext:SetPoint("LEFT", ilvltext, "RIGHT", 15, 0) |
typetext:SetHeight(37) |
typetext:SetWidth(200) |
typetext:SetJustifyH("LEFT") |
local pricetext = btn:CreateFontString() |
GBLpricetexts[id] = pricetext |
pricetext:SetFont("Fonts\\ARIALN.ttf", 15) |
pricetext:SetPoint("LEFT", typetext, "RIGHT", 20, 0) |
pricetext:SetHeight(37) |
pricetext:SetWidth(150) |
pricetext:SetJustifyH("LEFT") |
local highlight = btn:CreateTexture() |
btn.highlight = highlight |
highlight:SetHeight(43) |
highlight:SetWidth(900) |
highlight:SetPoint("LEFT", btn, "RIGHT") |
highlight:SetTexture("Interface\\FriendsFrame\\UI-FriendsFrame-HighlightBar") |
highlight:SetAlpha(0) |
btn:HookScript("OnEnter", function(self) self.highlight:SetAlpha(.3) end) |
btn:HookScript("OnLeave", function(self) self.highlight:SetAlpha(0) end) |
highlight:SetBlendMode("ADD") |
_G[btn:GetName().."Count"]:SetAlpha(0) |
btn:SetHeight(33) |
btn:SetWidth(33) |
btn:SetHitRectInsets(0, -400, 0, 0) |
--btn:SetHitRectInsets(0, -900, 0, 0) |
end |
|
for col=1,7 do |
_G["GuildBankColumn"..col.."Background"]:Hide() |
_G["GuildBankColumn"..col]:SetParent(scrollchild) |
_G["GuildBankColumn"..col]:ClearAllPoints() |
_G["GuildBankColumn"..col]:SetScale(.75) |
_G["GuildBankColumn"..col.."Button8"]:ClearAllPoints() |
_G["GuildBankColumn"..col.."Button8"]:SetPoint("TOPLEFT", _G["GuildBankColumn"..col.."Button7"], "BOTTOMLEFT", 0, -7) |
if col == 1 then |
_G["GuildBankColumn"..col]:SetPoint("TOPLEFT", 5, 0) |
_G["GuildBankColumn"..col.."Button1"]:HookScript("OnHide", function() gbl:Hide() end) |
_G["GuildBankFrameTab1"]:HookScript("OnClick", function() gbl:Show() end) |
else |
_G["GuildBankColumn"..col]:SetPoint("TOPLEFT", _G["GuildBankColumn"..(col-1).."Button14"], "BOTTOMLEFT", -7, -4) |
end |
for btn=1,14 do |
FrameFactory(_G["GuildBankColumn"..col.."Button"..btn]) |
end |
end |
|
|
gbl:SetScript("OnEvent", function(self,event) |
gbl:SetVerticalScroll(1) |
gbl:Show() |
local tab = GetCurrentGuildBankTab() |
for i=1,98 do |
UpdateTexts(tab, i) |
end |
end) |
|
gbl:RegisterEvent("GUILDBANKBAGSLOTS_CHANGED") |