Code:
local function coordinates( ent )
local min, max = ent:OBBMins(), ent:OBBMaxs()
local corners = {
Vector( min.x, min.y, min.z ),
Vector( min.x, min.y, max.z ),
Vector( min.x, max.y, min.z ),
Vector( min.x, max.y, max.z ),
Vector( max.x, min.y, min.z ),
Vector( max.x, min.y, max.z ),
Vector( max.x, max.y, min.z ),
Vector( max.x, max.y, max.z )
}
local minX, minY, maxX, maxY = ScrW() * 2, ScrH() * 2, 0, 0
for _, corner in pairs( corners ) do
local onScreen = ent:LocalToWorld( corner ):ToScreen()
minX, minY = math.min( minX, onScreen.x ), math.min( minY, onScreen.y )
maxX, maxY = math.max( maxX, onScreen.x ), math.max( maxY, onScreen.y )
end
return minX, minY, maxX, maxY
end
hook.Add("HUDPaint", "Example", function()
for k,v in pairs(player.GetAll()) do
local x1,y1,x2,y2 = coordinates(v)
//print(tostring(team.GetColor(v:Team())))
surface.SetDrawColor(color_white)
surface.DrawLine( x1, y1, math.min( x1 + 5, x2 ), y1 )
surface.DrawLine( x1, y1, x1, math.min( y1 + 5, y2 ) )
surface.DrawLine( x2, y1, math.max( x2 - 5, x1 ), y1 )
surface.DrawLine( x2, y1, x2, math.min( y1 + 5, y2 ) )
surface.DrawLine( x1, y2, math.min( x1 + 5, x2 ), y2 )
surface.DrawLine( x1, y2, x1, math.max( y2 - 5, y1 ) )
surface.DrawLine( x2, y2, math.max( x2 - 5, x1 ), y2 )
surface.DrawLine( x2, y2, x2, math.max( y2 - 5, y1 ) )
end
end)
This is my Edge-esp.