Code:
hook.Add( "HUDPaint", "3D-Box", function()
for k,v in pairs(player.GetAll()) do
if v != LocalPlayer() and v:IsValid() and v:Alive() and v:Health() >= 0 then
local red = 255-(255/v:GetMaxHealth()*v:Health());
local green = 255/v:GetMaxHealth()*v:Health();
local eye = v:EyeAngles();
local min, max = v:WorldSpaceAABB();
local origin = v:GetPos();
cam.Start3D()
render.DrawWireframeBox( origin, Angle(0, eye.y, 0), min-origin, max-origin, Color(255,255,255))
render.DrawWireframeBox( origin, Angle(0, eye.y, 0), min-origin+Vector(3,3,0), Vector(max.x-origin.x,max.y-origin.y,(max.z-origin.z)/(v:GetMaxHealth()*1.05)*v:Health())-Vector(3,3,0), Color(red,green,0))
render.DrawWireframeBox( origin, Angle(0, eye.y, 0), min-origin+Vector(6,6,0), Vector(max.x-origin.x,max.y-origin.y,(max.z-origin.z)/100*v:Armor())-Vector(6,6,0), Color(0,255,255))
render.DrawWireframeBox( origin, Angle(0, eye.y, 0), min-origin+Vector(9,9,(max.z-min.z-origin.z)/4), Vector(max.x-origin.x,max.y-origin.y,(max.z-origin.z)/180*(89-eye.p))-Vector(9,9,0), Color(255,255,0))
render.DrawWireframeBox( origin, Angle(0, eye.y, 0), min-origin+Vector(12,12,(max.z-min.z-origin.z)/4), Vector(max.x-origin.x,max.y-origin.y,(max.z-origin.z)/360*(180-eye.y))-Vector(12,12,0), Color(255,100,0))
cam.End3D()
end
end
end)
[IMG]http://images.akamai.steamuserconten*****m/ugc/433820153445232368/C374681FE0AB3D36F795E959E9CA3321CBE09A1F/[/IMG]