• HUD won't load
    4 replies, posted
I threw my HUD into the addons folder, the darkrp_modules folder and it seems to only work as a cl_hudreplacement. I want to be able to throw it in the addons folder and have it work. Someone please help me local hideHUDElements = {     -- if you DarkRP_HUD this to true, ALL of DarkRP's HUD will be disabled. That is the health bar and stuff,     -- but also the agenda, the voice chat icons, lockdown text, player arrested text and the names above players' heads     ["DarkRP_HUD"] = true,     -- DarkRP_EntityDisplay is the text that is drawn above a player when you look at them.     -- This also draws the information on doors and vehicles     ["DarkRP_EntityDisplay"] = true,     -- DarkRP_ZombieInfo draws information about zombies for admins who use /showzombie.     ["DarkRP_ZombieInfo"] = false,     -- This is the one you're most likely to replace first     -- DarkRP_LocalPlayerHUD is the default HUD you see on the bottom left of the screen     -- It shows your health, job, salary and wallet, but NOT hunger (if you have hungermod enabled)     ["DarkRP_LocalPlayerHUD"] = true,     -- If you have hungermod enabled, you will see a hunger bar in the DarkRP_LocalPlayerHUD     -- This does not get disabled with DarkRP_LocalPlayerHUD so you will need to disable DarkRP_Hungermod too     ["DarkRP_Hungermod"] = true,     -- Drawing the DarkRP agenda     ["DarkRP_Agenda"] = true,     -- Lockdown info on the HUD     ["DarkRP_LockdownHUD"] = true,     -- Arrested HUD     ["DarkRP_ArrestedHUD"] = true,     ["CHudHealth"] = true,     ["CHudAmmo"] = true,     ["CHudSecondaryAmmo"] = true, } surface.CreateFont( "Apollo", {     font        = "Roboto-Light",     size        = 16,     weight      = 800, }) surface.CreateFont( "ApolloSmall",  {     font        = "Roboto-Light",     size        = 14,     weight      = 800, }) surface.CreateFont( "ApolloLarge", {     font        = "Roboto-Light",     size        = 17,     weight      = 800, })  local function Base() -- Declaring Variables          local DrawHealth = LocalPlayer():Health() or 0          local TextHealth = LocalPlayer():Health() or 0           local DrawArmor = LocalPlayer():Armor() or 0          local TextArmor = LocalPlayer():Armor() or 0          local plywallet = LocalPlayer():getDarkRPVar("money") or "Error"         local plysalary = LocalPlayer():getDarkRPVar("salary") or "Error"         local plyjob = LocalPlayer():getDarkRPVar("job") or "Error"   -- If statements to fix the HP/Armor bars becoming too large.         if DrawHealth > 100 then DrawHealth = 100 end         if DrawHealth < 0 then DrawHealth = 0 end         if DrawArmor > 100 then DrawArmor = 100 end         if DrawArmor < 0 then DrawArmor = 0 end  -- Drawing HUD     surface.SetFont("Apollo")     surface.SetTextColor(255, 255, 255, 255)     surface.SetDrawColor(25, 25, 25, 255)     surface.DrawRect(0, 0, ScrW() - 0, ScrH() / 30)     surface.SetTextPos(5, 7)     surface.DrawText(plyjob)     surface.SetDrawColor(255, 255, 255, 255)     surface.DrawOutlinedRect(0, 0, ScrW() - 1, ScrH() / 30)     surface.SetTextPos(100, 7)     surface.DrawText(DrawHealth .. "%")     surface.DrawOutlinedRect(0, 50, ScrW() / 2, ScrH() / 150)          end hook.Add("HUDPaint", "ApolloHUD", Base)   --[[--------------------------------------------------------------------------- HUD ConVars ---------------------------------------------------------------------------]] local ConVars = {} local HUDWidth local HUDHeight local Color = Color local CurTime = CurTime local cvars = cvars local DarkRP = DarkRP local draw = draw local GetConVar = GetConVar local hook = hook local IsValid = IsValid local Lerp = Lerp local localplayer local math = math local pairs = pairs local ScrW, ScrH = ScrW, ScrH local SortedPairs = SortedPairs local string = string local surface = surface local table = table local timer = timer local tostring = tostring local plyMeta = FindMetaTable("Player") local colors = {} colors.black = Color(0, 0, 0, 255) colors.blue = Color(0, 0, 255, 255) colors.brightred = Color(200, 30, 30, 255) colors.darkred = Color(0, 0, 70, 100) colors.darkblack = Color(0, 0, 0, 200) colors.gray1 = Color(0, 0, 0, 175) colors.gray2 = Color(51, 58, 51,100) colors.red = Color(255, 0, 0, 255) colors.white = Color(255, 255, 255, 255) colors.white1 = Color(255, 255, 255, 200) 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 Scrw, Scrh, RelativeX, RelativeY --[[--------------------------------------------------------------------------- HUD separate Elements ---------------------------------------------------------------------------]] local agendaText local function Agenda()     local shouldDraw = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_Agenda")     if shouldDraw == false then return end     local agenda = localplayer:getAgendaTable()     if not agenda then return end     agendaText = agendaText or DarkRP.textWrap((localplayer:getDarkRPVar("agenda") or ""):gsub("//", "\n"):gsub("\\n", "\n"), "DarkRPHUD1", 440)     draw.RoundedBox(5, 10, 10, 460, 110, colors.gray1)    -- draw.RoundedBox(5, 12, 12, 456, 106, colors.gray1)    -- draw.RoundedBox(10, 12, 12, 456, 20, colors.darkred)     draw.DrawNonParsedText(agenda.Title, "DarkRPHUD1", 30, 12, colors.white, 0)     draw.DrawNonParsedText(agendaText, "DarkRPHUD1", 30, 35, colors.white, 0) end hook.Add("DarkRPVarChanged", "agendaHUD", function(ply, var, _, new)     if ply ~= localplayer then return end     if var == "agenda" and new then         agendaText = DarkRP.textWrap(new:gsub("//", "\n"):gsub("\\n", "\n"), "DarkRPHUD1", 440)     else         agendaText = nil     end     if var == "salary" then         salaryText = DarkRP.getPhrase("salary", DarkRP.formatMoney(new), "")     end     if var == "job" or var == "money" then         JobWalletText = string.format("%s\n%s",             DarkRP.getPhrase("job", var == "job" and new or localplayer:getDarkRPVar("job") or ""),             DarkRP.getPhrase("wallet", var == "money" and DarkRP.formatMoney(new) or DarkRP.formatMoney(localplayer:getDarkRPVar("money")), "")         )     end end) local Page = Material("icon16/page_white_text.png") local function GunLicense()     if localplayer:getDarkRPVar("HasGunlicense") then         surface.SetMaterial(Page)         surface.SetDrawColor(255, 255, 255, 255)         surface.DrawTexturedRect(RelativeX + HUDWidth + 64, Scrh - 45, 32, 32)     end end local VoiceChatTexture = surface.GetTextureID("voice/icntlk_pl") local function DrawVoiceChat()     if localplayer.DRPIsTalking then         local _, 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 GetGlobalBool("DarkRP_LockDown") then         local shouldDraw = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_LockdownHUD")         if shouldDraw == false then return end         local cin = (math.sin(CurTime()) + 1) / 2         local chatBoxSize = math.floor(Scrh / 4)         draw.DrawNonParsedText(DarkRP.getPhrase("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()         local shouldDraw = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_ArrestedHUD")         if shouldDraw == false then return end         if CurTime() - StartArrested <= ArrestedUntil and localplayer:getDarkRPVar("Arrested") then             draw.DrawNonParsedText(DarkRP.getPhrase("youre_arrested", math.ceil((ArrestedUntil - (CurTime() - StartArrested)) * 1 / game.GetTimeScale())), "DarkRPHUD1", Scrw / 2, Scrh - Scrh / 12, colors.white, 1)         elseif not localplayer:getDarkRPVar("Arrested") then             Arrested = function() end         end     end end) local AdminTell = function() end usermessage.Hook("AdminTell", function(msg)     timer.Remove("DarkRP_AdminTell")     local Message = msg:ReadString()     AdminTell = function()         draw.RoundedBox(4, 10, 10, Scrw - 20, 110, colors.darkblack)         draw.DrawNonParsedText(DarkRP.getPhrase("listen_up"), "GModToolName", Scrw / 2 + 10, 10, colors.white, 1)         draw.DrawNonParsedText(Message, "ChatFont", Scrw / 2 + 10, 90, colors.brightred, 1)     end     timer.Create("DarkRP_AdminTell", 10, 1, function()         AdminTell = function() end     end) end) --[[--------------------------------------------------------------------------- Drawing the HUD elements such as Health etc. ---------------------------------------------------------------------------]] local function DrawHUD()     local shouldDraw = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_HUD")     if shouldDraw == false then return end     Scrw, Scrh = ScrW(), ScrH()     RelativeX, RelativeY = 0, Scrh     shouldDraw = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_LocalPlayerHUD")     shouldDraw = shouldDraw ~= false     if shouldDraw then         Base()         GunLicense()     end     Agenda()     DrawVoiceChat()     LockDown()     Arrested()     AdminTell() end --[[--------------------------------------------------------------------------- Entity HUDPaint things ---------------------------------------------------------------------------]] -- Draw a player's name, health and/or job above the head -- This syntax allows for easy overriding plyMeta.drawPlayerInfo = plyMeta.drawPlayerInfo or function(self)     local pos = self:EyePos()     pos.z = pos.z + 10 -- The position we want is a bit above the position of the eyes     pos = pos:ToScreen()     if not self:getDarkRPVar("wanted") then         -- Move the text up a few pixels to compensate for the height of the text         pos.y = pos.y - 50     end     if GAMEMODE.Config.showname then         local nick, plyTeam = self:Nick(), self:Team()         draw.DrawNonParsedText(nick, "DarkRPHUD2", pos.x + 1, pos.y + 1, colors.black, 1)         draw.DrawNonParsedText(nick, "DarkRPHUD2", pos.x, pos.y, RPExtraTeams[plyTeam] and RPExtraTeams[plyTeam].color or team.GetColor(plyTeam) , 1)     end     if GAMEMODE.Config.showhealth then         local health = DarkRP.getPhrase("health", self:Health())         draw.DrawNonParsedText(health, "DarkRPHUD2", pos.x + 1, pos.y + 21, colors.black, 1)         draw.DrawNonParsedText(health, "DarkRPHUD2", pos.x, pos.y + 20, colors.white1, 1)     end     if GAMEMODE.Config.showjob then         local teamname = self:getDarkRPVar("job") or team.GetName(self:Team())         draw.DrawNonParsedText(teamname, "DarkRPHUD2", pos.x + 1, pos.y + 41, colors.black, 1)         draw.DrawNonParsedText(teamname, "DarkRPHUD2", pos.x, pos.y + 40, colors.white1, 1)     end              if self:getDarkRPVar("HasGunlicense") then         surface.SetMaterial(Page)         surface.SetDrawColor(255,255,255,255)         surface.DrawTexturedRect(pos.x - 16, pos.y + 60, 32, 32)     end end -- Draw wanted information above a player's head -- This syntax allows for easy overriding plyMeta.drawWantedInfo = plyMeta.drawWantedInfo or function(self)     if not self:Alive() then return end     local pos = self:EyePos()     if not pos:isInSight({localplayer, self}) then return end     pos.z = pos.z + 10     pos = pos:ToScreen()     if GAMEMODE.Config.showname then         local nick, plyTeam = self:Nick(), self:Team()         draw.DrawNonParsedText(nick, "DarkRPHUD2", pos.x + 1, pos.y + 1, colors.black, 1)         draw.DrawNonParsedText(nick, "DarkRPHUD2", pos.x, pos.y, RPExtraTeams[plyTeam] and RPExtraTeams[plyTeam].color or team.GetColor(plyTeam) , 1)     end     local wantedText = DarkRP.getPhrase("wanted", tostring(self:getDarkRPVar("wantedReason")))     draw.DrawNonParsedText(wantedText, "DarkRPHUD2", pos.x, pos.y - 40, colors.white1, 1)     draw.DrawNonParsedText(wantedText, "DarkRPHUD2", pos.x + 1, pos.y - 41, colors.red, 1) end --[[--------------------------------------------------------------------------- The Entity display: draw HUD information about entities ---------------------------------------------------------------------------]] local function DrawEntityDisplay()     local shouldDraw, players = hook.Call("HUDShouldDraw", GAMEMODE, "DarkRP_EntityDisplay")     if shouldDraw == false then return end     local shootPos = localplayer:GetShootPos()     local aimVec = localplayer:GetAimVector()     for k, ply in pairs(players or player.GetAll()) do         if ply == localplayer or not ply:Alive() or ply:GetNoDraw() then continue end         local hisPos = ply:GetShootPos()         if ply:getDarkRPVar("wanted") then ply:drawWantedInfo() end         if GAMEMODE.Config.globalshow then             ply:drawPlayerInfo()         -- Draw when you're (almost) looking at him         elseif hisPos:DistToSqr(shootPos) < 160000 then             local pos = hisPos - shootPos             local unitPos = pos:GetNormalized()             if unitPos:Dot(aimVec) > 0.95 then                 local trace = util.QuickTrace(shootPos, pos, localplayer)                 if trace.Hit and trace.Entity ~= ply then break end                 ply:drawPlayerInfo()             end         end     end     local tr = localplayer:GetEyeTrace()     if IsValid(tr.Entity) and tr.Entity:isKeysOwnable() and tr.Entity:GetPos():DistToSqr(localplayer:GetPos()) < 40000 then         tr.Entity:drawOwnableInfo()     end end --[[--------------------------------------------------------------------------- Drawing death notices ---------------------------------------------------------------------------]] function GM:DrawDeathNotice(x, y)     if not GAMEMODE.Config.showdeaths then return end     self.Sandbox.DrawDeathNotice(self, x, y) end --[[--------------------------------------------------------------------------- Display notifications ---------------------------------------------------------------------------]] local function DisplayNotify(msg)     local txt = msg:ReadString()     GAMEMODE:AddNotify(txt, msg:ReadShort(), msg:ReadLong())     surface.PlaySound("buttons/lightswitch2.wav")     -- Log to client console     MsgC(Color(255, 20, 20, 255), "[DarkRP] ", Color(200, 200, 200, 255), txt, "\n") end usermessage.Hook("_Notify", DisplayNotify) --[[--------------------------------------------------------------------------- Disable players' names popping up when looking at them ---------------------------------------------------------------------------]] function GM:HUDDrawTargetID()     return false end --[[--------------------------------------------------------------------------- Actual HUDPaint hook ---------------------------------------------------------------------------]] function GM:HUDPaint()     localplayer = localplayer and IsValid(localplayer) and localplayer or LocalPlayer()     if not IsValid(localplayer) then return end     DrawHUD()     DrawEntityDisplay()         self.Sandbox.HUDPaint(self) end --[[ Sandbox Hud Removal ---------------------------------------------------------------------------]] local hide = {     CHudHealth = true,     CHudBattery = true, } hook.Add( "HUDShouldDraw", "HideHUD", function( name )     if ( hide[ name ] ) then return false end     -- Don't return anything here, it may break other addons that rely on this hook. end )
have you sent the file to clients? AddCSLuaFile
can you start from the ground up and get rid of this insipid trash
seeing as you've accepted this ill take that as a no. you should read the posting rules: Section rules and resources because jova makes a fair point, you need to learn elsewhere for something this basic.
Sorry, you need to Log In to post a reply to this thread.