do -- panel local META = {} META.Url = "http://hayashigs.com:27016/flagicon/%s.gif" function META:Init() self:DockPadding(5,5,5,5) local html = vgui.Create("HTML", self) html:SetSize(16, 11) html:SetPos(5,5) html:OpenURL(string.format(self.Url, "JA")) self.html = html local name = vgui.Create("DLabel", self) name:SetText("YomoFox") name:SizeToContents() self.name = name end function META:SetInfo(country, name) self.html:OpenURL(string.format(self.Url, country or "JA")) self.name:SetText(name) self.name:SizeToContents() self.name:SetPos(16+5+5, (self:GetTall() * 0.5) - (self.name:GetTall() * 0.6)) self:SetWide(self.html:GetWide() + self.name:GetWide() + 20) self:SetTall(22) end function META:Paint() surface.SetDrawColor(70, 70, 70) surface.DrawRect(0, 0, self:GetWide(), self:GetTall()) surface.SetDrawColor(50, 50, 50) surface.DrawRect(2, 2, self:GetWide()-4, self:GetTall()-4) end vgui.Register("nametag_panel", META, "DPanel") end if nametag_panels then for ply, pnl in pairs(nametag_panels) do if pnl:IsValid() then pnl:Remove() end end end nametag_panels = {} local function CreatePanel(ply) local nametag = vgui.Create("nametag_panel") nametag:SetInfo(ply:GetNWString("Country", ""), ply:Nick()) return nametag end hook.Add("PreDrawHUD", "nametag_panel_draw", function() for key, ply in pairs(player.GetAll()) do nametag_panels[ply] = nametag_panels[ply] or CreatePanel(ply) local pos = (ply:EyePos() + ply:GetUp() * 5):ToScreen() nametag_panels[ply]:SetPos(pos.x, pos.y) if pos.x > ScrW() or pos.x < 0 or pos.y > ScrH() or pos.y < 0 or ply:EyePos():Distance(LocalPlayer():EyePos()) > 500 then nametag_panels[ply]:AlphaTo(0, 0.5, 0) else nametag_panels[ply]:AlphaTo(255, 0.5, 0) end end end)