• info_scoreboard_face code
    1 replies, posted
gmod racer gamemode use info_scoreboard_face and ent_scoreboard to display some information ingame how to use that way to display information in another gamemode? anyone know about that? give me some information or code please
Not sure if this is what you're asking, but if you want a GUI scoreboard like that used in GMRacer, then here is something I wrote up for a gamemode of my own (Deathrace). This is a shared entity. It's made and placed serverside. Clientside: [lua]include("shared.lua") function ENT:Initialize() self.DrawAngle = Angle(0,0,90) self.Scale = 0.5 self.Wide = 256 self.Tall = 128 self.SizeMult = 1 / self.Scale end function ENT:Draw() self.Entity:DrawModel() if not ScoreboardEnts then ScoreboardEnts = {} end if not table.HasValue(ScoreboardEnts,self) then table.insert(ScoreboardEnts,self) end if self:GetNWFloat("DrawAngle",0) ~= self.DrawAngle.y then self.DrawAngle.y = self:GetNWFloat("DrawAngle",0) end if self:GetNWFloat("Wide",self.Wide) ~= self.Wide then self.Wide = self:GetNWFloat("Wide",self.Wide) end if self:GetNWFloat("Tall",self.Tall) ~= self.Tall then self.Wide = self:GetNWFloat("Tall",self.Tall) end if self:GetNWFloat("TextSize",self.Scale) ~= self.Scale then self.Scale = self:GetNWFloat("TextSize",self.Scale) self.SizeMult = 1 / self.Scale end if not self.SizeCorrect then self.SizeCorrect = true self.Wide = self.Wide * self.SizeMult self.Tall = self.Tall * self.SizeMult end cam.Start3D2D( self.Entity:GetPos(),self.DrawAngle, self.Scale ) DrawItems(self) cam.End3D2D() cam.Start3D2D( self.Entity:GetPos(),self.DrawAngle + Angle(0,180,0), self.Scale ) DrawItems(self) cam.End3D2D() end function DrawItems(self) --[[ State description: 0 - Showing people that are queued for the race ]] local zerox = -(self.Wide/2) local zeroy = -(self.Tall/2) if not self.DrawState then self.DrawState = 0 end draw.RoundedBox(0,-(self.Wide/2),-(self.Tall/2),self.Wide,self.Tall,Color(255,255,255,255)) surface.SetDrawColor(0,0,0,255) surface.DrawOutlinedRect(-(self.Wide/2),-(self.Tall/2),self.Wide,self.Tall) draw.DrawText("DEATHRACE","LCD_HUGE",0,zeroy,Color(255,0,0,255),1,1) draw.DrawText("By Gmod4ever","DefaultSmall",0,zeroy + FontHeight("LCD_HUGE"),Color(0,255,255,255),1,1) draw.RoundedBox(0,zerox,zeroy + FontHeight("LCD_HUGE") + FontHeight("DefaultSmall"),self.Wide,2,Color(0,0,0,255)) local starty = zeroy + FontHeight("LCD_HUGE") + FontHeight("DefaultSmall") + 4 local cury = starty if self.DrawState == 0 then if not SB_NextRace then SB_NextRace = 0 end local rem = SB_NextRace - CurTime() local str = "QUEUED RACERS" if rem > 0 then str = str.." - Race begins in: "..string.ToMinutesSecondsMilliseconds(rem) end draw.DrawText(str,"LCD_LARGE",0,starty,Color(0,0,0,255),1,1) cury = starty + FontHeight("LCD_LARGE") local curx = zerox if not _QueuedRacers then _QueuedRacers = {} end local c = 0 for k,v in pairs(_QueuedRacers) do c = c + 1 local str = c..".) "..v:Nick() draw.DrawText(str,"ScoreboardText",curx,cury,Color(0,0,0,255)) cury = cury + FontHeight("ScoreboardText") if cury >= (self.Tall - 16) then cury = starty + FontHeight("LCD_LARGE") curx = 0 end end end end[/lua] Serverside: [lua]AddCSLuaFile("cl_init.lua") AddCSLuaFile("shared.lua") include("shared.lua") function ENT:Initialize() self.Entity:SetModel("models/items/healthkit.mdl") self.Entity:PhysicsInit( SOLID_NONE ) self.Entity:SetMoveType( MOVETYPE_NONE ) self.Entity:SetSolid( SOLID_NONE ) self.Entity:SetColor(255,255,255,1) --self:SetNoDraw(true) --self:DrawShadow(false) self:SetCollisionGroup(COLLISION_GROUP_WORLD) --self:SetTrigger(true) end function ENT:KeyValue(key,value) self:SetNWFloat(key,tonumber(value)) end[/lua] Change shit around as you need. I hope you can figure out what goes where. It's been so long I can't remember how you use it, off the top of my head.
Sorry, you need to Log In to post a reply to this thread.