DarkRP Lua error.

I am starting up my new custom DarkRP server, but it seems all the custom huds I use, even mine, it gives me the lua error:
[ERROR] gamemodes/darkrp/gamemode/client/hud.lua:301: attempt to index global ‘LANGUAGE’ (a nil value)

  1. DrawPlayerInfo - gamemodes/darkrp/gamemode/client/hud.lua:301
  2. DrawEntityDisplay - gamemodes/darkrp/gamemode/client/hud.lua:358
    3. unknown - gamemodes/darkrp/gamemode/client/hud.lua:391
    Any idea whats going on? Thanks.

I’m willing to bet that’s the font. Post an example of where that variable is used.

Fptje changed orders now we have put the following code

DarkRP.getPhrase(“job”, localplayer:getDarkRPVar(“job”) or “”), "
",


/*---------------------------------------------------------------------------
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
---------------------------------------------------------------------------*/
surface.CreateFont( "ps_DataText", {
	font = "Arial",
	size = 16,
	weight = 300,
	antialias = true
} );
surface.CreateFont( "ps_HUDFont", {
	font = "Tahoma",
	size = 14,
	weight = 400,
	antialias = true,
	outline = true
} );
surface.CreateFont( "ps_TipFont", {
	font = "Tahoma",
	size = 14,
	weight = 400,
	antialias = true,
	outline = true
} );
surface.CreateFont( "ps_TargetFontLarge", {
	font = "Tahoma",
	size = 24,
	weight = 800,
	antialias = true,
	outline = true
} );
---------
function DrawUpperInfo(x, y, icon, text, shouldDrawCallback, alpha)
	local shouldDraw = true;

	if (!alpha) then
		alpha = 255;
	end;

	if (shouldDrawCallback) then
		shouldDraw = shouldDrawCallback(x, y);
	end;

	if (shouldDraw != false) then
		surface.SetFont("ps_HUDFont");

		local width, height = surface.GetTextSize(text or "");

		if (width + 12 + x + 32 > ScrW()) then
			x = 8;
			y = y + 30;
		end;

		draw.RoundedBox( 4, x, y, 26, 26, Color(0, 0, 0, alpha * 0.78) );

		surface.SetDrawColor(250, 250, 250, 8);
		surface.DrawRect(x + 3, y + 3, 20, 20);

		surface.SetDrawColor(255, 255, 255, alpha);
		surface.SetMaterial( Material(icon) );
		surface.DrawTexturedRect(x + 5, y + 5, 16, 16);

		draw.RoundedBox( 4, x + 26 + 4, y, width + 12, 26, Color(0, 0, 0, alpha * 0.78) );

		surface.SetDrawColor(250, 250, 250, alpha * 0.031);
		surface.DrawRect(x + 33, y + 3, width + 6, 20);

		draw.SimpleText(text, "ps_HUDFont", x + 36, y + 13, Color(255, 255, 255, alpha), 0, 1);

		local totalHeight = y;
		local totalWidth = (width + 12) + x + 34;

		if (totalWidth >= ScrW()) then
			totalHeight = y + 30;
			totalWidth = 8;
		end;

		return totalWidth, totalHeight;
	else
		return x, y;
	end;
end;

local function DrawInfo()
local x, y = 8, ScrH()-32;

LocalPlayer().DarkRPVars = LocalPlayer().DarkRPVars or {}

local salary = 	(LocalPlayer().DarkRPVars.salary or 0)
local job = LocalPlayer().DarkRPVars.job or "Unemployed"
local wallet = (formatNumber(LocalPlayer().DarkRPVars.money) or 0)
local health = LocalPlayer():Health();
local armor = LocalPlayer():Armor();
local licence = LocalPlayer().DarkRPVars.HasGunlicense

		
		x, y = DrawUpperInfo(x, y, "icon16/world.png", "INDEV");
		x, y = DrawUpperInfo(x, y, "icon16/coins.png", "Wallet: $"..wallet);
		x, y = DrawUpperInfo(x, y, "icon16/wrench.png", "Job: "..job, function(x, y)
			return string.lower(job) != "unemployed";
		end);
		x, y = DrawUpperInfo(x, y, "icon16/coins_add.png", "Salary: $".. salary);
		x, y = DrawUpperInfo(x, y, "icon16/heart.png", "Health: "..health);

		x, y = DrawUpperInfo(x, y, "icon16/shield.png", "Armor: "..armor, function(x, y)
			return armor > 0;
		end);
		
		x, y = DrawUpperInfo(x, y, "icon16/page_white_text.png", "Licence Granted", function(x, y)
			return licence==1;
		end);
		

		local activeWeapon = LocalPlayer():GetActiveWeapon();

		if ( IsValid(activeWeapon) ) then
			local clipText1 = activeWeapon:Clip1()
			local clipText2 = LocalPlayer():GetAmmoCount(activeWeapon:GetPrimaryAmmoType())
			if(clipText2>0) then
				x, y = DrawUpperInfo(x, y, "icon16/gun.png", "Ammo: "..clipText1.."/"..clipText2, function()
					local blacklist = {
						"weapon_physgun",
						"weapon_physcannon",
						"gmod_tool",
						"keys",
						"pocket",
						"keypad_cracker",
						"lockpick",
						"weaponchecker",
						"arrest_stick",
						"unarrest_stick",
						"stunstick",
						"gmod_camera",
						"door_ram"
					};
					return !table.HasValue( blacklist, string.lower( activeWeapon:GetClass() ) );
				end);
			else
				x, y = DrawUpperInfo(x, y, "icon16/gun.png", "Ammo: "..clipText1, function()
					local blacklist = {
						"weapon_physgun",
						"weapon_physcannon",
						"gmod_tool",
						"keys",
						"pocket",
						"weapon_keypadcracker",
						"weaponchecker",
						"arrest_stick",
						"unarrest_stick",
						"stunstick",
						"camera",
						"door_ram"
						
					};
					return !table.HasValue( blacklist, string.lower( activeWeapon:GetClass() ) );
				end);
			end
		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, 10, 460, 110, Color(0, 0, 0, 155))
		draw.RoundedBox(10, 12, 12, 456, 106, Color(51, 58, 51,100))
		draw.RoundedBox(10, 12, 12, 456, 20, Color(0, 0, 70, 100))

		draw.DrawText(DrawAgenda.Title, "DarkRPHUD1", 30, 12, 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 "") .. "
"
		end
		draw.DrawText(string.gsub(string.gsub(AgendaText, "//", "
"), "\
", "
"), "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 function DrawHUD()
	Scrw, Scrh = ScrW(), ScrH()
	RelativeX, RelativeY = 0, Scrh

	--Background
	--draw.RoundedBox(6, 0, Scrh - HUDHeight, HUDWidth, HUDHeight, ConVars.background)

	--DrawHealth()
	DrawInfo()
	GunLicense()
	Agenda()
	DrawVoiceChat()
	LockDown()

	Arrested()
	AdminTell()
end

/*---------------------------------------------------------------------------
Entity HUDPaint things
---------------------------------------------------------------------------*/
local function DrawPlayerInfo(ply)
	local pos = ply:EyePos()

	pos.z = pos.z + 10 -- The position we want is a bit above the position of the eyes
	pos = pos:ToScreen()
	pos.y = pos.y - 50 -- Move the text up a few pixels to compensate for the height of the text

	if GAMEMODE.Config.showname and not ply.DarkRPVars.wanted then
		draw.DrawText(ply:Nick(), "DarkRPHUD2", pos.x + 1, pos.y + 1, Color(0, 0, 0, 255), 1)
		draw.DrawText(ply:Nick(), "DarkRPHUD2", pos.x, pos.y, team.GetColor(ply:Team()), 1)
		draw.DrawText(LANGUAGE.health ..ply:Health(), "DarkRPHUD2", pos.x + 1, pos.y + 21, Color(0, 0, 0, 255), 1)
		draw.DrawText(LANGUAGE.health..ply:Health(), "DarkRPHUD2", pos.x, pos.y + 20, Color(255,255,255,200), 1)
	end

	if GAMEMODE.Config.showjob then
		local teamname = team.GetName(ply:Team())
		draw.DrawText(ply.DarkRPVars.job or teamname, "DarkRPHUD2", pos.x + 1, pos.y + 41, Color(0, 0, 0, 255), 1)
		draw.DrawText(ply.DarkRPVars.job or teamname, "DarkRPHUD2", pos.x, pos.y + 40, Color(255, 255, 255, 200), 1)
	end

	if ply.DarkRPVars.HasGunlicense then
		surface.SetMaterial(Page)
		surface.SetDrawColor(255,255,255,255)
		surface.DrawTexturedRect(pos.x-16, pos.y + 60, 32, 32)
	end
end

local function DrawWantedInfo(ply)
	if not ply:Alive() then return end

	local pos = ply:EyePos()
	if not pos:RPIsInSight({LocalPlayer(), ply}) then return end

	pos.z = pos.z + 14
	pos = pos:ToScreen()

	if GAMEMODE.Config.showname then
		draw.DrawText(ply:Nick(), "DarkRPHUD2", pos.x + 1, pos.y + 1, Color(0, 0, 0, 255), 1)
		draw.DrawText(ply:Nick(), "DarkRPHUD2", pos.x, pos.y, team.GetColor(ply:Team()), 1)
	end

	draw.DrawText(LANGUAGE.wanted.."
Reason: "..tostring(ply.DarkRPVars["wantedReason"]), "DarkRPHUD2", pos.x, pos.y - 40, Color(255, 255, 255, 200), 1)
	draw.DrawText(LANGUAGE.wanted.."
Reason: "..tostring(ply.DarkRPVars["wantedReason"]), "DarkRPHUD2", pos.x + 1, pos.y - 41, Color(255, 0, 0, 255), 1)
end

/*---------------------------------------------------------------------------
The Entity display: draw HUD information about entities
---------------------------------------------------------------------------*/
local function DrawEntityDisplay()
	local shootPos = LocalPlayer():GetShootPos()
	local aimVec = LocalPlayer():GetAimVector()

	for k, ply in pairs(player.GetAll()) do
		if not ply:Alive() then continue end
		local hisPos = ply:GetShootPos()

		ply.DarkRPVars = ply.DarkRPVars or {}
		if ply.DarkRPVars.wanted then DrawWantedInfo(ply) end

		if GAMEMODE.Config.globalshow and ply ~= LocalPlayer() then
			DrawPlayerInfo(ply)
		-- Draw when you're (almost) looking at him
		elseif not GAMEMODE.Config.globalshow and hisPos:Distance(shootPos) < 400 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 return end
				DrawPlayerInfo(ply)
			end
		end
	end

	local tr = LocalPlayer():GetEyeTrace()

	if tr.Entity:IsOwnable() and tr.Entity:GetPos():Distance(LocalPlayer():GetPos()) < 200 then
		tr.Entity:DrawOwnableInfo()
	end
end

/*---------------------------------------------------------------------------
Zombie display
---------------------------------------------------------------------------*/
local function DrawZombieInfo()
	if not LocalPlayer().DarkRPVars.zombieToggle then return end
	for x=1, LocalPlayer().DarkRPVars.numPoints, 1 do
		local zPoint = LocalPlayer().DarkRPVars["zPoints".. x]
		if zPoint then
			zPoint = zPoint:ToScreen()
			draw.DrawText("Zombie Spawn (" .. x .. ")", "DarkRPHUD2", zPoint.x, zPoint.y - 20, Color(255, 255, 255, 200), 1)
			draw.DrawText("Zombie Spawn (" .. x .. ")", "DarkRPHUD2", zPoint.x + 1, zPoint.y - 21, Color(255, 0, 0, 255), 1)
		end
	end
end

/*---------------------------------------------------------------------------
Actual HUDPaint hook
---------------------------------------------------------------------------*/
function GM:HUDPaint()
	DrawHUD()
	DrawZombieInfo()
	DrawEntityDisplay()

	self.BaseClass:HUDPaint()
end




This is the hud I’m using, but its giving me the same error. IT seems to work on my friends server.

Add me on Steam : reggae59

And i help you fast^^

Its not coming up when I search for you.

If you need help add me ^^ or bye^^

Added.