-- do return end -- local refreshboundprayers -- local infopart -- local prayersheet -- -- local function displaydefaulthelp(panel) -- local ll = vgui.Create("DLabel",panel) -- ll:Dock(FILL) -- ll:SetWrap(true) -- ll:SetDark(true) -- ll:SetText("Oh no! It looks like this dosen't have any help text yet!") -- end -- -- local function createprayericon(parrent,prayer,equiped,place) -- -- local width = ScrW() -- local height = ScrH() -- -- local ret = vgui.Create("DButton",parrent) -- ret:SetText(prayer) -- ret:SetWrap(true) -- ret:SetSize(64,64) -- local prayertbl = ART.GetPrayerByName(prayer) -- assert(prayertbl ~= nil, "Could not find an appropriate prayer!") -- if prayertbl.Paint then -- ret.Paint = prayertbl.Paint -- end -- if prayertbl.DoOnPanel then -- prayertbl.DoOnPanel(ret) -- end -- if equiped then -- ret.DoClick = function(self) -- self:Remove() -- ART.PrayerEquiped[place] = false -- refreshboundprayers() -- infopart:Remove() -- infopart = vgui.Create("DPanel") -- infopart:SetSize( (width / 4) - 10, height / 3) -- infopart:SetPos(0, height * 2 / 3) -- prayersheet:Add(infopart) -- end -- else -- ret:Droppable("PrayerBind") -- ret.PrayerName = prayer -- ret:SetSize(64,64) -- ret.DoClick = function(self) -- infopart:Remove() -- infopart = vgui.Create("DPanel") -- infopart:SetSize( (width / 4) - 10, height / 3) -- prayersheet:Add(infopart) -- local rettbl = ART.GetPrayerByName(prayer) -- if rettbl.DisplayHelp ~= nil then -- rettbl.DisplayHelp(infopart) -- else -- displaydefaulthelp(infopart) -- end -- end -- end -- return ret -- end -- -- local function createreceiver(parrent,num) -- local prayerbut = vgui.Create( "DPanel", parrent ) -- local prayerlabel = vgui.Create("DLabel",prayerbut) -- prayerlabel:SetText( "F" .. num ) -- prayerlabel.Paint = function( self, w, h ) end -- prayerlabel:SetWrap(true) -- prayerlabel:SetDark(true) -- prayerlabel:Dock(FILL) -- prayerbut:Dock(FILL) -- prayerbut:Receiver( "PrayerBind", function( self, tableOfDroppedPanels, isDropped, menuIndex, mouseX, mouseY ) -- if not isDropped then return end -- local pname = tableOfDroppedPanels[1].PrayerName -- print("Prayer name:") -- print(pname) -- ART.PrayerEquiped[num] = pname -- print("Prayer bound to " .. num) -- prayerbut:Remove() -- createprayericon(parrent,pname,true,num) -- end) -- end -- -- local function displayboundprayers(panel) -- -- local width = ScrW() -- local height = ScrH() -- -- local prayerbindgrid = nil -- -- refreshboundprayers = function() -- -- if prayerbindgrid ~= nil then prayerbindgrid:Remove() end -- -- prayerbindgrid = vgui.Create("DGrid") -- prayerbindgrid:SetPos(height * (2 / 3),5) -- prayerbindgrid:SetSize((width / 4) - 20, height / 3) -- prayerbindgrid:SetColWide(64) -- prayerbindgrid:SetRowHeight(64) -- function prayerbindgrid:Paint(w,h) -- draw.RoundedBox( 8, 0, 0, w, h, Color( 0, 255, 0 ) ) -- end -- -- for k,v in pairs(ART.PrayerEquiped) do -- local but = vgui.Create( "DPanel", prayerbindgrid ) -- but:SetSize(64, 64) -- if v ~= false then -- createprayericon(but,v,true,k) -- else -- createreceiver(but,k) -- end -- prayerbindgrid:AddItem(but) -- end -- panel:Add(prayerbindgrid) -- end -- refreshboundprayers() -- end -- -- ART.RegisterInventorySheet(function() -- -- local width = ScrW() -- local height = ScrH() -- -- prayersheet = vgui.Create( "DListLayout") -- -- local prayergridscroll = vgui.Create("DScrollPanel") -- prayergridscroll:SetSize( (width / 4) - 20, height / 3 ) -- prayergridscroll:SetPos( 5, 5 ) -- prayersheet:Add(prayergridscroll) -- local prayergrid = vgui.Create( "DGrid", prayergridscroll ) -- prayergrid:SetPos( 5 , 5 ) -- prayergrid:Dock(FILL) -- -- prayergrid:SetCols( (width / 4) / 64 ) -- prayergrid:SetColWide( 64 ) -- prayergrid:SetRowHeight(64) -- prayergridscroll:AddItem(prayergrid) -- -- for k,v in pairs(ART.MyPrayer) do -- print("Displaying prayer:" .. k) -- print("Type:" .. type(k)) -- if k == "" then -- ART.MyPrayer[k] = nil -- end -- local but = createprayericon(prayergrid,k,false,nil) -- prayergrid:AddItem(but) -- end -- -- displayboundprayers(prayersheet) -- -- infopart = vgui.Create("DPanel") -- infopart:SetSize( (width / 4) - 10, height / 3) -- infopart:SetPos(0, height * 2 / 3) -- prayersheet:Add(infopart) -- -- return "Prayers", prayersheet, "icon16/tick.png" -- end) -- -- hook.Add("Think","art_prayer_keybinds",function() -- local mapping = { -- KEY_F1, -- KEY_F2, -- KEY_F3, -- KEY_F4, -- } -- for k,v in pairs(mapping) do -- if input.IsKeyDown(v) and ART.PrayerEquiped[k] then -- ART.GetPrayerByName(ART.PrayerEquiped[k]).Pray() -- end -- end -- end)