Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include( "admin_buttons.lua" )
- local PANEL = {}
- /*---------------------------------------------------------
- Name: PerformLayout
- ---------------------------------------------------------*/
- function PANEL:Init()
- self.InfoLabels = {}
- self.InfoLabels[ 1 ] = {}
- self.InfoLabels[ 2 ] = {}
- self.btnKick = vgui.Create( "PlayerKickButton", self )
- self.btnKick:SetToolTip("Kicks this player.")
- self.btnBan = vgui.Create( "PlayerBanButton", self )
- self.btnBan:SetToolTip("Bans this player. Use the scroller to set the time. Enter reason in dialog.")
- self.btnSpectate = vgui.Create( "PlayerSpectateButton", self )
- self.btnSpectate:SetToolTip("Spectates this player.")
- self.btnBlacklist = vgui.Create( "PlayerBlacklistButton", self )
- self.btnBlacklist:SetToolTip("Blacklists the player from his current job. Use scroller to change duration.")
- self.btnUnBlacklist = vgui.Create( "PlayerUnBlacklistButton", self )
- self.btnUnBlacklist:SetToolTip( "Click me to Unblacklist a player :)" )
- self.btnRename = vgui.Create( "PlayerForceRenameButton", self )
- self.btnRename:SetToolTip("Force the player to rename this character.")
- self.btnSlay = vgui.Create( "PlayerSlayButton", self )
- self.btnSlay:SetToolTip("Kills and respawns this person,")
- self.btnGoto = vgui.Create( "PlayerGoto", self )
- self.btnGoto:SetToolTip("Teleport to the player. Use noclip if you get errors.")
- self.btnBring = vgui.Create( "PlayerBring", self )
- self.btnBring:SetToolTip("Brings the player to you.")
- self.btnPBan = vgui.Create( "PlayerPermBanButton", self )
- self.btnPBan:SetToolTip("Perma-bans this player.")
- self.btnDemote = vgui.Create("PlayerDemote", self)
- self.btnDemote:SetToolTip("Demotes the player from the current job.")
- self.scrollerTime = vgui.Create( "DNumSlider", self )
- self.scrollerTime:SetDecimals(0)
- self.scrollerTime:SetValue(24)
- self.scrollerTime:SetMin(0)
- self.scrollerTime:SetMax(720)
- self.scrollerTime:SetText("Punishment Time ( Hours )")
- end
- /*---------------------------------------------------------
- Name: PerformLayout
- ---------------------------------------------------------*/
- function PANEL:SetInfo( column, k, v )
- if ( !v or v == "" ) then v = "N/A" end
- if ( !self.InfoLabels[ column ][ k ] ) then
- self.InfoLabels[ column ][ k ] = {}
- self.InfoLabels[ column ][ k ].Key = vgui.Create( "Label", self )
- self.InfoLabels[ column ][ k ].Value = vgui.Create( "Label", self )
- self.InfoLabels[ column ][ k ].Key:SetText( k )
- self:InvalidateLayout()
- end
- self.InfoLabels[ column ][ k ].Value:SetText( v )
- return true
- end
- /*---------------------------------------------------------
- Name: UpdatePlayerData
- ---------------------------------------------------------*/
- function PANEL:SetPlayer( ply )
- self.Player = ply
- self:UpdatePlayerData()
- end
- /*---------------------------------------------------------
- Name: UpdatePlayerData
- ---------------------------------------------------------*/
- local IDsToClass = {}
- IDsToClass[TEAM_CITIZEN] = "Citizen"
- IDsToClass[TEAM_POLICE] = "Police Officer"
- IDsToClass[TEAM_SECRET_SERVICE] = "SS Agent"
- IDsToClass[TEAM_SWAT] = "SWAT Officer"
- IDsToClass[TEAM_MAYOR] = "Mayor"
- IDsToClass[TEAM_FIREMAN] = "Fireman"
- IDsToClass[TEAM_MEDIC] = "Medic"
- IDsToClass[TEAM_DISPATCHER] = "Dispatch"
- IDsToClass[TEAM_ROADSERVICE] = "Road Crew"
- function PANEL:UpdatePlayerData()
- if (!self.Player) then return end
- if ( !self.Player:IsValid() ) then return end
- self:SetInfo( 1, "SteamID:", self.Player:SteamID())
- self:SetInfo( 1, "UniqueID:", self.Player:UniqueID() )
- self:SetInfo( 1, "Steam Name:", self.Player:Nick() )
- self:SetInfo( 1, "RP Name:", self.Player:GetRPName() )
- if (self.Player:Team() and IDsToClass[self.Player:Team()]) then
- self:SetInfo(1, "Class: ", IDsToClass[self.Player:Team()])
- else
- self:SetInfo(1, "Class: ", "Unknown Class")
- end
- self:InvalidateLayout()
- end
- /*---------------------------------------------------------
- Name: PerformLayout
- ---------------------------------------------------------*/
- function PANEL:ApplySchemeSettings()
- for _k, column in pairs( self.InfoLabels ) do
- for k, v in pairs( column ) do
- v.Key:SetFGColor( 0, 0, 0, 100 )
- v.Value:SetFGColor( 0, 70, 0, 200 )
- end
- end
- end
- /*---------------------------------------------------------
- Name: PerformLayout
- ---------------------------------------------------------*/
- function PANEL:Think()
- if ( self.PlayerUpdate and self.PlayerUpdate > CurTime() ) then return end
- self.PlayerUpdate = CurTime() + 0.25
- self:UpdatePlayerData()
- self.scrollerTime:SetText("Punishment Time ( Hours 0 = Perm ) - " .. (self.scrollerTime:GetValue() / 24) .. " Days")
- end
- /*---------------------------------------------------------
- Name: PerformLayout
- ---------------------------------------------------------*/
- function PANEL:PerformLayout()
- local x = 5
- for colnum, column in pairs( self.InfoLabels ) do
- local y = 0
- local RightMost = 0
- for k, v in pairs( column ) do
- v.Key:SetPos( x, y )
- v.Key:SizeToContents()
- v.Value:SetPos( x + 70 , y )
- v.Value:SizeToContents()
- y = y + v.Key:GetTall() + 2
- RightMost = math.max( RightMost, v.Value.x + v.Value:GetWide() )
- end
- //x = RightMost + 10
- x = x + 300
- end
- if ( !self.Player or !LocalPlayer():IsAdmin() ) then
- self.btnKick:SetVisible( false )
- self.btnBan:SetVisible( false )
- self.btnPBan:SetVisible( false )
- self.btnSpectate:SetVisible( false )
- self.btnBlacklist:SetVisible( false )
- self.btnUnBlacklist:SetVisible( false )
- self.btnRename:SetVisible( false )
- self.btnGoto:SetVisible( false )
- self.btnDemote:SetVisible( false )
- --self.btnSrsBl:SetVisible(false)
- self.btnBring:SetVisible( false )
- else
- self.btnKick:SetVisible( true )
- self.btnBan:SetVisible( true )
- self.btnSpectate:SetVisible( true )
- self.btnBlacklist:SetVisible( true )
- self.btnUnBlacklist:SetVisible( true )
- self.btnRename:SetVisible( true )
- self.btnGoto:SetVisible( true )
- self.btnDemote:SetVisible( true )
- --self.btnSrsBl:SetVisible(true)
- self.btnBring:SetVisible( true )
- local sizeOButton = 60
- self.btnGoto:SetPos( self:GetWide() - (sizeOButton + 4) * 9, 80 )
- self.btnGoto:SetSize( sizeOButton, 20 )
- self.btnBring:SetPos( self:GetWide() - (sizeOButton + 4) * 8, 80 )
- self.btnBring:SetSize( sizeOButton, 20 )
- self.btnSlay:SetPos( self:GetWide() - (sizeOButton + 4) * 7, 80 )
- self.btnSlay:SetSize( sizeOButton, 20 )
- self.btnRename:SetPos( self:GetWide() - (sizeOButton + 4) * 6, 80 )
- self.btnRename:SetSize( sizeOButton, 20 )
- self.btnBlacklist:SetPos( self:GetWide() - (sizeOButton + 4) * 5, 80 )
- self.btnBlacklist:SetSize( sizeOButton, 20 )
- self.btnUnBlacklist:SetPos( self:GetWide() - (sizeOButton + 4) * 4, 80 )
- self.btnUnBlacklist:SetSize( sizeOButton, 20 )
- self.btnSpectate:SetPos( self:GetWide() - (sizeOButton + 4) * 3, 80 )
- self.btnSpectate:SetSize( sizeOButton, 20 )
- self.btnKick:SetPos( self:GetWide() - (sizeOButton + 4) * 2, 80 )
- self.btnKick:SetSize( sizeOButton, 20 )
- self.btnBan:SetPos( self:GetWide() - (sizeOButton + 4) * 1, 80 )
- self.btnBan:SetSize( sizeOButton, 20 )
- if (LocalPlayer():IsSuperAdmin()) then
- self.btnPBan:SetPos( self:GetWide() - (sizeOButton + 4) * 1, 55 )
- self.btnPBan:SetSize( sizeOButton, 20 )
- self.btnPBan:SetVisible( true )
- else
- self.btnPBan:SetVisible( false )
- end
- self.btnDemote:SetPos( self:GetWide() - (sizeOButton + 4) * 2, 55 )
- self.btnDemote:SetSize( sizeOButton, 20 )
- end
- self.scrollerTime:SetPos(self:GetWide() - 305, 5)
- self.scrollerTime:SetSize(300, 30)
- end
- function PANEL:Paint()
- return true
- end
- vgui.Register( "ScorePlayerInfoCard", PANEL, "Panel" )
Advertisement
Add Comment
Please, Sign In to add comment