local SCOREBOARD_FADE = Color(20,20,20,70) local SCOREBOARD_OFF = 101 local SCOREBOARD_WIDTH = 700 local SCOREBOARD_X = ScrW() / 2 - SCOREBOARD_WIDTH / 2 local scoreboard = nil function GM:ScoreboardShow() local NPly = #player.GetAll() local Tall = SCOREBOARD_OFF + 20 * NPly local y = ScrH() / 2 - Tall / 2 local by = y + SCOREBOARD_OFF scoreboard = vgui.Create("MBFrame") if(!scoreboard) then return end scoreboard:SetPos(SCOREBOARD_X,y) scoreboard:SetSize(SCOREBOARD_WIDTH,Tall) scoreboard:SetTitle("Scoreboard") scoreboard:ShowCloseButton(false) for i,v in pairs(player.GetAll()) do --print("Makeing label for " .. v:Nick()) local ypos = (20*(i-1))+24 local playerlabel = vgui.Create("MBLabel") playerlabel:SetParent(scoreboard) playerlabel:SetPos(2, ypos) playerlabel:SetSize(SCOREBOARD_WIDTH/4,20) local ptext = v:Nick() if(string.len(ptext) > 13) then ptext = string.Left(ptext,10) ptext = ptext .. "..." end if(v:IsPigeon()) then ptext = ptext .. " (Dead)" end playerlabel:AddText(ptext) playerlabel:SetupLines() local pinglabel = vgui.Create("MBLabel") pinglabel:SetParent(scoreboard) pinglabel:SetPos(SCOREBOARD_WIDTH-100,ypos) pinglabel:AddText(v:Ping()) pinglabel:SetupLines() --if(v == LocalPlayer()) then continue end local mutebutton = vgui.Create("MBButton") mutebutton:SetParent(scoreboard) mutebutton:SetPos(SCOREBOARD_X,ypos) if(v:IsMuted()) then --print("This player is muted!") mutebutton.Text = "Unmute" mutebutton.DoClick = function() mutebutton.Text = "Unmute" print("Unmuteing " .. v:Nick()) v:SetMuted(true) scoreboard:Remove() self:ScoreboardShow() end else --print("This player is not muted!") mutebutton.Text = "Mute" mutebutton.DoClick = function() mutebutton.Text = "Mute" --print("Muteing " .. v:Nick()) v:SetMuted(false) scoreboard:Remove() self:ScoreboardShow() end end end scoreboard:MakePopup() --self.ShowSB = true end function GM:ScoreboardHide() if(scoreboard) then scoreboard:Remove() end --self.ShowSB = false end function GM:HUDDrawScoreBoard() if (!self.ShowSB) then return end local NPly = #player.GetAll() local Tall = SCOREBOARD_OFF + 20 * NPly local y = ScrH() / 2 - Tall / 2 local by = y + SCOREBOARD_OFF DrawRect(SCOREBOARD_X, y, SCOREBOARD_WIDTH, Tall, MAIN_COLOR) DrawRect(SCOREBOARD_X, by, SCOREBOARD_WIDTH, NPly*20, MAIN_COLORD) DrawText(self.Name, "ScoreboardFont", ScrW()/2, y + 50, MAIN_TEXTCOLOR,1) DrawText("By The Maw", "Trebuchet18", ScrW()/2-150, y + 80, MAIN_TEXTCOLOR,1) for k,v in pairs( player.GetAll() ) do local Y = by + 20 * (k-1) DrawText("") if (v:IsPigeon()) then DrawText(v:Nick(), "Trebuchet18", SCOREBOARD_X + 2, Y, MAIN_GREYCOLOR) DrawText(v:Ping(), "Trebuchet18", SCOREBOARD_X + SCOREBOARD_WIDTH - 30, Y, MAIN_GREYCOLOR) else DrawText(v:Nick(), "Trebuchet18", SCOREBOARD_X + 2, Y, MAIN_TEXTCOLOR) DrawText(v:Ping(), "Trebuchet18", SCOREBOARD_X + SCOREBOARD_WIDTH - 30, Y, MAIN_TEXTCOLOR) end end end