All pastes #265647 Raw Edit

Anonymous

public text v1 · immutable
·published 2006-12-03 14:31 UTC
rendered paste body
function StigHUD()
	local user = LocalPlayer()
	
	if !user:Alive() then return end
	
	local TopX = 5
	local TopY = ScrH() - 60
	local Multiplier = 2
	
	
	draw.RoundedBox(8, TopX, TopY, 100 * Multiplier + 75, 55, Color(0, 0, 150))
	
	local Health_Colour = Color(255 - user:Health() * 2, user:Health() * 2 + 55, 50, 150)
	local Armour_Colour = Color(0, 0, user:Armor() * 2 + 55, 150)
	
	draw.RoundedBox(4, TopX + 29, TopY + 8, 100 * Multiplier + 2, 17, Color(255, 255, 255, 150))
	
	if user:Health() > 0 then
		draw.RoundedBox(4, TopX + 30, TopY + 9, ((100 * Multiplier) - ((100 * Multiplier) - (user:Health() * Multiplier))), 15, Health_Colour)
	end
	
	draw.RoundedBox(4, TopX + 29, TopY + 28, ((100 * Multiplier) + 2), 17, Color(255, 255, 255, 150))
	
	if user:Armor() > 0 then
		draw.RoundedBox(4, TopX + 30, TopY + 29, ((100 * Multiplier) - ((100 * Multiplier) - (user:Armor() * Multiplier))), 15, Armour_Colour)
	end
	
	draw.SimpleText("HP  "..user:Health(), "TargetID", TopX + 5, TopY + 5, Color(255, 255, 255, 255), 0, 0)
	draw.SimpleText("AP  "..user:Armor(), "TargetID", TopX + 5, TopY + 25, Color(255, 255, 255, 255), 0, 0)
	draw.SimpleText(user:Frags(), "TargetID", (TopX +(100 * Multiplier) + 60), TopY + 18, Color(255, 255, 255, 255), 1, 0)


	
	for _,pl in pairs( player.GetAll() ) do
		local bc, tc = pl:WorldSpaceAABB()
		local Ta = Vector(tc.x, tc.y, tc.z):ToScreen()
		
		if Ta.visible && pl != LocalPlayer() then

			local Tb, Tc, Td = Vector(tc.x, bc.y, tc.z):ToScreen(),
							   Vector(bc.x, tc.y, tc.z):ToScreen(),
							   Vector(tc.x, bc.y, tc.z):ToScreen()
			
			local Ba, Bb, Bc, Bd = Vector(tc.x, tc.y, bc.z):ToScreen(),
								   Vector(tc.x, bc.y, bc.z):ToScreen(),
								   Vector(bc.x, tc.y, bc.z):ToScreen(),
								   Vector(bc.x, bc.y, bc.z):ToScreen()
								   
			local x, y = math.min(Ta.x, Tb.x, Tc.x, Td.x,  Ba.x, Bb.x, Bc.x, Bd.x),
						 math.min(Ta.y, Tb.y, Tc.y, Td.y,  Ba.y, Bb.y, Bc.y, Bd.y)
									
			local w, h = math.max(Ta.x, Tb.x, Tc.x, Td.x,  Ba.x, Bb.x, Bc.x, Bd.x) - x,
						 math.max(Ta.y, Tb.y, Tc.y, Td.y,  Ba.y, Bb.y, Bc.y, Bd.y) - y
									
			surface.SetDrawColor(30, 200, 30, 255)
			surface.DrawOutlinedRect(x, y, w, h)
			surface.DrawOutlinedRect(x - 1, y, w + 2, h + 1) 
		end
	end
end
hook.Add("HUDPaint", "StigHUD", StigHUD)

function NoHUD(name)
	if name == "CHudHealth" then return false end
	if name == "CHudBattery" then return false end
	
	return true
end
hook.Add("HUDShouldDraw", "NoHUD", NoHUD)