• how to add tags on TTT servers??
    6 replies, posted
I have a TTT server and i have seen alot of other server's has tags: Name tag/clan score karma ping eks: TenBoster Admin 16 1000 32 do i need to script it by myself?? idk how to script it, can i get a script? where should i put the script or edit the file?
[URL="http://www.facepunch.com/showthread.php?t=1101202&p=30800267&viewfull=1#post30800267"]This post[/URL] shows how to do it. Although it didn't work perfectly for me, I think it's out-dated. So I had to write my own basing it off this. I beleive the problem was here, but I forget now: [code]if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetFGColor(namecolor.superadmin) elseif ply:IsUserGroup( "admin" ) then self.cols[5]:SetText( "Admin" ) self.cols[5]:SetFGColor(namecolor.admin) elseif ply:IsUserGroup( "guest" ) then self.cols[5]:SetText( "" ) elseif ply:IsUserGroup( "Asshole" ) then self.cols[5]:SetText( "Asshole" ) self.cols[5]:SetFGColor(namecolor.asshole) elseif ply:IsUserGroup( "guest2" ) then self.cols[5]:SetText( "Respected" ) self.cols[5]:SetFGColor(namecolor.respected) end[/code] Look at the way the original code is set up and add your roles in that same way.
[QUOTE=tinos;39098444][URL="http://www.facepunch.com/showthread.php?t=1101202&p=30800267&viewfull=1#post30800267"]This post[/URL] shows how to do it. Although it didn't work perfectly for me, I think it's out-dated. So I had to write my own basing it off this. I beleive the problem was here, but I forget now: [code]if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetFGColor(namecolor.superadmin) elseif ply:IsUserGroup( "admin" ) then self.cols[5]:SetText( "Admin" ) self.cols[5]:SetFGColor(namecolor.admin) elseif ply:IsUserGroup( "guest" ) then self.cols[5]:SetText( "" ) elseif ply:IsUserGroup( "Asshole" ) then self.cols[5]:SetText( "Asshole" ) self.cols[5]:SetFGColor(namecolor.asshole) elseif ply:IsUserGroup( "guest2" ) then self.cols[5]:SetText( "Respected" ) self.cols[5]:SetFGColor(namecolor.respected) end[/code] Look at the way the original code is set up and add your roles in that same way.[/QUOTE] Thank you mate ;)
[QUOTE=tinos;39098444][URL="http://www.facepunch.com/showthread.php?t=1101202&p=30800267&viewfull=1#post30800267"]This post[/URL] shows how to do it. Although it didn't work perfectly for me, I think it's out-dated. So I had to write my own basing it off this. I beleive the problem was here, but I forget now: [code]if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetFGColor(namecolor.superadmin) elseif ply:IsUserGroup( "admin" ) then self.cols[5]:SetText( "Admin" ) self.cols[5]:SetFGColor(namecolor.admin) elseif ply:IsUserGroup( "guest" ) then self.cols[5]:SetText( "" ) elseif ply:IsUserGroup( "Asshole" ) then self.cols[5]:SetText( "Asshole" ) self.cols[5]:SetFGColor(namecolor.asshole) elseif ply:IsUserGroup( "guest2" ) then self.cols[5]:SetText( "Respected" ) self.cols[5]:SetFGColor(namecolor.respected) end[/code] Look at the way the original code is set up and add your roles in that same way.[/QUOTE] i know im going to put it in the sv_row file but where?
It's not just that, there are a few edits to make. Line 32: [code]self.cols[5] = vgui.Create("DLabel", self) self.cols[5]:SetText("")[/code] Optionally add more colors at line 66 line 196, before the end set up your groups [code] if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetTextColor(namecolor.superadmin) end [/code] (elseif before the end to add different ones) under 216, after for k,v... you need to size the new column, [code] if k == 5 then v:SizeToContents() v:SetPos(self:GetWide() - (80*k) - v:GetWide()/2, (SB_ROW_HEIGHT - v:GetTall()) / 2) else [/code]
[QUOTE=tinos;39120362]It's not just that, there are a few edits to make. Line 32: [code]self.cols[5] = vgui.Create("DLabel", self) self.cols[5]:SetText("")[/code] Optionally add more colors at line 66 line 196, before the end set up your groups [code] if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetTextColor(namecolor.superadmin) end [/code] (elseif before the end to add different ones) under 216, after for k,v... you need to size the new column, [code] if k == 5 then v:SizeToContents() v:SetPos(self:GetWide() - (80*k) - v:GetWide()/2, (SB_ROW_HEIGHT - v:GetTall()) / 2) else [/code][/QUOTE] LUA error :( im a bad coder: ---- Scoreboard player score row, based on sandbox version include("sb_info.lua") local GetTranslation = LANG.GetTranslation local GetPTranslation = LANG.GetParamTranslation SB_ROW_HEIGHT = 24 --16 local PANEL = {} function PANEL:Init() -- cannot create info card until player state is known self.info = nil self.open = false self.cols = {} self.cols[1] = vgui.Create("DLabel", self) self.cols[1]:SetText(GetTranslation("sb_ping")) self.cols[2] = vgui.Create("DLabel", self) self.cols[2]:SetText(GetTranslation("sb_deaths")) self.cols[3] = vgui.Create("DLabel", self) self.cols[3]:SetText(GetTranslation("sb_score")) if KARMA.IsEnabled() then self.cols[4] = vgui.Create("DLabel", self) self.cols[4]:SetText(GetTranslation("sb_karma")) end for _, c in ipairs(self.cols) do c:SetMouseInputEnabled(false) end self.tag = vgui.Create("DLabel", self) self.tag:SetText("") self.tag:SetMouseInputEnabled(false) self.sresult = vgui.Create("DImage", self) self.sresult:SetSize(16,16) self.sresult:SetMouseInputEnabled(false) self.avatar = vgui.Create( "AvatarImage", self ) self.avatar:SetSize(SB_ROW_HEIGHT, SB_ROW_HEIGHT) self.avatar:SetMouseInputEnabled(false) self.nick = vgui.Create("DLabel", self) self.nick:SetMouseInputEnabled(false) self.voice = vgui.Create("DImageButton", self) self.voice:SetSize(16,16) self:SetCursor( "hand" ) end local namecolor = { default = COLOR_WHITE, admin = Color(220, 180, 0, 255), dev = Color(100, 240, 105, 255) }; function GM:TTTScoreboardColorForPlayer(ply) if not IsValid(ply) then return namecolor.default end if ply:SteamID() == "STEAM_0:0:1963640" then return namecolor.dev elseif ply:IsAdmin() and GetGlobalBool("ttt_highlight_admins", true) then return namecolor.admin end return namecolor.default end local function ColorForPlayer(ply) if IsValid(ply) then local c = hook.Call("TTTScoreboardColorForPlayer", GAMEMODE, ply) -- verify that we got a proper color if c and type(c) == "table" and c.r and c.b and c.g and c.a then return c else ErrorNoHalt("TTTScoreboardColorForPlayer hook returned something that isn't a color!\n") end end return namecolor.default end function PANEL:Paint() if not IsValid(self.Player) then return end -- if ( self.Player:GetFriendStatus() == "friend" ) then -- color = Color( 236, 181, 113, 255 ) -- end local ply = self.Player if ply:IsTraitor() then surface.SetDrawColor(255, 0, 0, 30) surface.DrawRect(0, 0, self:GetWide(), SB_ROW_HEIGHT) elseif ply:IsDetective() then surface.SetDrawColor(0, 0, 255, 30) surface.DrawRect(0, 0, self:GetWide(), SB_ROW_HEIGHT) end if ply == LocalPlayer() then surface.SetDrawColor( 200, 200, 200, math.Clamp(math.sin(RealTime() * 2) * 50, 0, 100)) surface.DrawRect(0, 0, self:GetWide(), SB_ROW_HEIGHT ) end return true end function PANEL:SetPlayer(ply) self.Player = ply self.avatar:SetPlayer(ply) if not self.info then local g = ScoreGroup(ply) if g == GROUP_TERROR and ply != LocalPlayer() then self.info = vgui.Create("TTTScorePlayerInfoTags", self) self.info:SetPlayer(ply) self:InvalidateLayout() elseif g == GROUP_FOUND or g == GROUP_NOTFOUND then self.info = vgui.Create("TTTScorePlayerInfoSearch", self) self.info:SetPlayer(ply) self:InvalidateLayout() end else self.info:SetPlayer(ply) self:InvalidateLayout() end self.voice.DoClick = function() if IsValid(ply) and ply != LocalPlayer() then ply:SetMuted(not ply:IsMuted()) end end self:UpdatePlayerData() end function PANEL:GetPlayer() return self.Player end function PANEL:UpdatePlayerData() if not IsValid(self.Player) then return end local ply = self.Player self.cols[1]:SetText(ply:Ping()) self.cols[2]:SetText(ply:Deaths()) self.cols[3]:SetText(ply:Frags()) if self.cols[4] then self.cols[4]:SetText(math.Round(ply:GetBaseKarma())) end self.nick:SetText(ply:Nick()) self.nick:SizeToContents() self.nick:SetTextColor(ColorForPlayer(ply)) local ptag = ply.sb_tag if ScoreGroup(ply) != GROUP_TERROR then ptag = nil end self.tag:SetText(ptag and GetTranslation(ptag.txt) or "") self.tag:SetTextColor(ptag and ptag.color or COLOR_WHITE) self.sresult:SetVisible(ply.search_result != nil) -- more blue if a detective searched them if ply.search_result and (LocalPlayer():IsDetective() or (not ply.search_result.show)) then self.sresult:SetImageColor(Color(200, 200, 255)) end -- cols are likely to need re-centering self:LayoutColumns() if self.info then self.info:UpdatePlayerData() end if self.Player != LocalPlayer() then local muted = self.Player:IsMuted() self.voice:SetImage(muted and "icon16/sound_mute.png" or "icon16/sound.png") else self.voice:Hide() end if ply:IsUserGroup( "superadmin" ) then self.cols[5]:SetText( "Super Admin" ) self.cols[5]:SetTextColor(namecolor.superadmin) end function PANEL:ApplySchemeSettings() for k,v in pairs(self.cols) do v:SetFont("treb_small") v:SetTextColor(COLOR_WHITE) end self.nick:SetFont("treb_small") self.nick:SetTextColor(ColorForPlayer(self.Player)) local ptag = self.Player and self.Player.sb_tag self.tag:SetTextColor(ptag and ptag.color or COLOR_WHITE) self.tag:SetFont("treb_small") self.sresult:SetImage("icon16/magnifier.png") self.sresult:SetImageColor(Color(170, 170, 170, 150)) if k == 5 then v:SizeToContents() v:SetPos(self:GetWide() - (80*k) - v:GetWide()/2, (SB_ROW_HEIGHT - v:GetTall()) / 2) else function PANEL:LayoutColumns() for k,v in ipairs(self.cols) do v:SizeToContents() v:SetPos(self:GetWide() - (50*k) - v:GetWide()/2, (SB_ROW_HEIGHT - v:GetTall()) / 2) end self.tag:SizeToContents() self.tag:SetPos(self:GetWide() - (50 * 6) - self.tag:GetWide()/2, (SB_ROW_HEIGHT - self.tag:GetTall()) / 2) self.sresult:SetPos(self:GetWide() - (50*6) - 8, (SB_ROW_HEIGHT - 16) / 2) end function PANEL:PerformLayout() self.avatar:SetPos(0,0) self.avatar:SetSize(SB_ROW_HEIGHT,SB_ROW_HEIGHT) if not self.open then self:SetSize(self:GetWide(), SB_ROW_HEIGHT) if self.info then self.info:SetVisible(false) end elseif self.info then self:SetSize(self:GetWide(), 100 + SB_ROW_HEIGHT) self.info:SetVisible(true) self.info:SetPos(5, SB_ROW_HEIGHT + 5) self.info:SetSize(self:GetWide(), 100) self.info:PerformLayout() self:SetSize(self:GetWide(), SB_ROW_HEIGHT + self.info:GetTall()) end self.nick:SizeToContents() self.nick:SetPos(SB_ROW_HEIGHT + 10, (SB_ROW_HEIGHT - self.nick:GetTall()) / 2) self:LayoutColumns() self.voice:SetVisible(not self.open) self.voice:SetSize(16, 16) self.voice:DockMargin(4, 4, 4, 4)
>im a bad coder >doesn't even use tags yea, we an tell.
Sorry, you need to Log In to post a reply to this thread.