• HUD appearance
    2 replies, posted
How would I make the hud appear the left corner? [code] /*--------------------------------------------------------------------------- HUD ConVars ---------------------------------------------------------------------------*/ local ConVars = {} local HUDWidth local HUDHeight CreateClientConVar("weaponhud", 0, true, false) local function ReloadConVars() ConVars = { background = {0,0,0,100}, Healthbackground = {0,0,0,200}, Healthforeground = {140,0,0,180}, HealthText = {255,255,255,200}, Job1 = {0,0,150,200}, Job2 = {0,0,0,255}, salary1 = {0,150,0,200}, salary2 = {0,0,0,255} } for name, Colour in pairs(ConVars) do ConVars[name] = {} for num, rgb in SortedPairs(Colour) do local CVar = GetConVar(name..num) or CreateClientConVar(name..num, rgb, true, false) table.insert(ConVars[name], CVar:GetInt()) if not cvars.GetConVarCallbacks(name..num, false) then cvars.AddChangeCallback(name..num, function() timer.Simple(0,ReloadConVars) end) end end ConVars[name] = Color(unpack(ConVars[name])) end HUDWidth = (GetConVar("HudW") or CreateClientConVar("HudW", 240, true, false)):GetInt() HUDHeight = (GetConVar("HudH") or CreateClientConVar("HudH", 115, true, false)):GetInt() if not cvars.GetConVarCallbacks("HudW", false) and not cvars.GetConVarCallbacks("HudH", false) then cvars.AddChangeCallback("HudW", function() timer.Simple(0,ReloadConVars) end) cvars.AddChangeCallback("HudH", function() timer.Simple(0,ReloadConVars) end) end end ReloadConVars() local function formatNumber(n) n = tonumber(n) if (!n) then return 0 end if n >= 1e14 then return tostring(n) end n = tostring(n) sep = sep or "," local dp = string.find(n, "%.") or #n+1 for i=dp-4, 1, -3 do n = n:sub(1, i) .. sep .. n:sub(i+1) end return n end local Scrw, Scrh, RelativeX, RelativeY /*--------------------------------------------------------------------------- HUD Seperate Elements ---------------------------------------------------------------------------*/ local function DrawInfo() LocalPlayer().DarkRPVars = LocalPlayer().DarkRPVars or {} local Salary = LANGUAGE.salary .. CUR .. (LocalPlayer().DarkRPVars.salary or 0) local JobWallet = LANGUAGE.job .. (LocalPlayer().DarkRPVars.job or "") .. "\n".. LANGUAGE.wallet .. CUR .. (formatNumber(LocalPlayer().DarkRPVars.money) or 0) local wep = LocalPlayer( ):GetActiveWeapon( ); if IsValid(wep) and GAMEMODE.Config.weaponhud then local name = wep:GetPrintName(); draw.DrawText("Weapon: "..name, "UiBold", RelativeX + 5, RelativeY - HUDHeight - 18, Color(255, 255, 255, 255), 0) end end local Page = Material("icon16/page_white_text.png") local function GunLicense() if LocalPlayer().DarkRPVars.HasGunlicense then surface.SetMaterial(Page) surface.SetDrawColor(255, 255, 255, 255) surface.DrawTexturedRect(RelativeX + HUDWidth, ScrH() - 34, 32, 32) end end local function Agenda() local DrawAgenda, AgendaManager = DarkRPAgendas[LocalPlayer():Team()], LocalPlayer():Team() if not DrawAgenda then for k,v in pairs(DarkRPAgendas) do if table.HasValue(v.Listeners or {}, LocalPlayer():Team()) then DrawAgenda, AgendaManager = DarkRPAgendas[k], k break end end end if DrawAgenda then draw.RoundedBox(10, 10, ScrH() - 120, 460, 110, Color(0, 0, 0, 155)) draw.RoundedBox(10, 12, ScrH() - 122, 456, 106, Color(51, 58, 51,100)) draw.RoundedBox(10, 12, ScrH() - 122, 456, 20, Color(0, 0, 70, 100)) draw.DrawText(DrawAgenda.Title, "DarkRPHUD1", 20, ScrH() - 120, Color(255,0,0,255),0) local AgendaText = "" for k,v in pairs(team.GetPlayers(AgendaManager)) do if not v.DarkRPVars then continue end AgendaText = AgendaText .. (v.DarkRPVars.agenda or "") .. "\n" end draw.DrawText(string.gsub(string.gsub(AgendaText, "//", "\n"), "\\n", "\n"), "DarkRPHUD1", 30, 35, Color(255,255,255,255),0) end end local VoiceChatTexture = surface.GetTextureID("voice/icntlk_pl") local function DrawVoiceChat() if LocalPlayer().DRPIsTalking then local chbxX, chboxY = chat.GetChatBoxPos() local Rotating = math.sin(CurTime()*3) local backwards = 0 if Rotating < 0 then Rotating = 1-(1+Rotating) backwards = 180 end surface.SetTexture(VoiceChatTexture) surface.SetDrawColor(ConVars.Healthforeground) surface.DrawTexturedRectRotated(ScrW() - 100, chboxY, Rotating*96, 96, backwards) end end local function LockDown() local chbxX, chboxY = chat.GetChatBoxPos() if util.tobool(GetConVarNumber("DarkRP_LockDown")) then local cin = (math.sin(CurTime()) + 1) / 2 local chatBoxSize = math.floor(ScrH() / 4) draw.DrawText(LANGUAGE.lockdown_started, "ScoreboardSubtitle", chbxX, chboxY + chatBoxSize, Color(cin * 255, 0, 255 - (cin * 255), 255), TEXT_ALIGN_LEFT) end end local Arrested = function() end usermessage.Hook("GotArrested", function(msg) local StartArrested = CurTime() local ArrestedUntil = msg:ReadFloat() Arrested = function() if CurTime() - StartArrested <= ArrestedUntil and LocalPlayer().DarkRPVars.Arrested then draw.DrawText(string.format(LANGUAGE.youre_arrested, math.ceil(ArrestedUntil - (CurTime() - StartArrested))), "DarkRPHUD1", ScrW()/2, ScrH() - ScrH()/12, Color(255,255,255,255), 1) elseif not LocalPlayer().DarkRPVars.Arrested then Arrested = function() end end end end) local AdminTell = function() end usermessage.Hook("AdminTell", function(msg) local Message = msg:ReadString() AdminTell = function() draw.RoundedBox(4, 10, 10, ScrW() - 20, 100, Color(0, 0, 0, 200)) draw.DrawText(LANGUAGE.listen_up, "GModToolName", ScrW() / 2 + 10, 10, Color(255, 255, 255, 255), 1) draw.DrawText(Message, "ChatFont", ScrW() / 2 + 10, 80, Color(200, 30, 30, 255), 1) end timer.Simple(10, function() AdminTell = function() end end) end) /*--------------------------------------------------------------------------- Drawing the HUD elements such as Health etc. ---------------------------------------------------------------------------*/ local iname = Material("icon16/user.png") local ijob = Material("icon16/vcard.png") local imoney = Material("icon16/money.png") local isalar = Material("icon16/money_add.png") local iviata = Material("icon16/heart.png") local iarmura = Material("icon16/shield.png") surface.CreateFont("Ammo", { font = "TargetID", size = 60, weight = 400, }) surface.CreateFont("Ammo2", { font = "TargetID", size = 30, weight = 400, }) surface.CreateFont("Ammo3", { font = "TargetID", size = 40, weight = 400, }) local function DrawHealth() local ply = LocalPlayer() local HP,AR = ply:Health(),ply:Armor() local slujba = ply.DarkRPVars and ply.DarkRPVars.job or "Unemployed" local salar = ply.DarkRPVars and ply.DarkRPVars.salary or "NONE" local bani = ply.DarkRPVars and ply.DarkRPVars.money or "NONE" //HP draw.RoundedBox(0,10,10,200,19,Color(0,0,0,240)) surface.SetMaterial(iviata) surface.SetDrawColor(255,255,255,255) surface.DrawTexturedRect(15,12,16,16) draw.RoundedBox(0,35,12,math.Clamp(HP,0,100)*1.72,15,Color(180,0,0,255)) draw.SimpleText(HP,"TargetID",100,12) if AR <= 0 then draw.RoundedBox(0,10,30,200,19,Color(0,0,0,240)) surface.SetMaterial(iarmura) surface.SetDrawColor(255,255,255,255) surface.DrawTexturedRect(15,32,16,16) draw.SimpleText("NO ARMOR","TargetID",80,32) else //AR draw.RoundedBox(0,10,30,200,19,Color(0,0,0,240)) surface.SetMaterial(iarmura) surface.SetDrawColor(255,255,255,255) surface.DrawTexturedRect(15,32,16,16) draw.RoundedBox(0,35,32,math.Clamp(AR,0,100)*1.72,15,Color(0,148,250,255)) draw.SimpleText(AR,"TargetID",100,32) end //Slujba draw.RoundedBox(0,10,50,25,20,Color(0,0,0,240)) surface.SetMaterial(ijob) surface.SetDrawColor(255,255,255,255) surface.DrawTexturedRect(15,52,16,16) draw.RoundedBox(0,37,50,173,20,Color(0,0,0,240)) draw.SimpleText(slujba,"TargetID",40,52) //Money draw.RoundedBox(0,10,72,25,20,Color(0,
[URL="http://wiki.garrysmod.com/page/draw/RoundedBox"]draw.RoundedBox( number bordersize, number x, number y, number width, number height, Color color )[/URL] For example this would make a box 205 pixels from the left of your screen, 5 down. [CODE]draw.RoundedBox(0, ScrW() - 205, 5, 200, 30, Color(0,0,0,200)) [/CODE]
Thankyou kind sir. Saved my ass!
Sorry, you need to Log In to post a reply to this thread.