local skeleton = { // Main body { S = "ValveBiped.Bip01_Head1", E = "ValveBiped.Bip01_Neck1" }, { S = "ValveBiped.Bip01_Neck1", E = "ValveBiped.Bip01_Spine4" }, { S = "ValveBiped.Bip01_Spine4", E = "ValveBiped.Bip01_Spine2" }, { S = "ValveBiped.Bip01_Spine2", E = "ValveBiped.Bip01_Spine1" }, { S = "ValveBiped.Bip01_Spine1", E = "ValveBiped.Bip01_Spine" }, { S = "ValveBiped.Bip01_Spine", E = "ValveBiped.Bip01_Pelvis" }, { S = "ValveBiped.Bip01_Head1", E = "ValveBiped.Bip01_Pelvis" }, // Left Arm { S = "ValveBiped.Bip01_Spine2", E = "ValveBiped.Bip01_L_UpperArm" }, { S = "ValveBiped.Bip01_L_UpperArm", E = "ValveBiped.Bip01_L_Forearm" }, { S = "ValveBiped.Bip01_L_Forearm", E = "ValveBiped.Bip01_L_Hand" }, // Right Arm { S = "ValveBiped.Bip01_Spine2", E = "ValveBiped.Bip01_R_UpperArm" }, { S = "ValveBiped.Bip01_R_UpperArm", E = "ValveBiped.Bip01_R_Forearm" }, { S = "ValveBiped.Bip01_R_Forearm", E = "ValveBiped.Bip01_R_Hand" }, // Left leg { S = "ValveBiped.Bip01_Pelvis", E = "ValveBiped.Bip01_L_Thigh" }, { S = "ValveBiped.Bip01_L_Thigh", E = "ValveBiped.Bip01_L_Calf" }, { S = "ValveBiped.Bip01_L_Calf", E = "ValveBiped.Bip01_L_Foot" }, { S = "ValveBiped.Bip01_L_Foot", E = "ValveBiped.Bip01_L_Toe0" }, // Right leg { S = "ValveBiped.Bip01_Pelvis", E = "ValveBiped.Bip01_R_Thigh" }, { S = "ValveBiped.Bip01_R_Thigh", E = "ValveBiped.Bip01_R_Calf" }, { S = "ValveBiped.Bip01_R_Calf", E = "ValveBiped.Bip01_R_Foot" }, { S = "ValveBiped.Bip01_R_Foot", E = "ValveBiped.Bip01_R_Toe0" }, } local function Skeleton( e ) for k, v in pairs( skeleton ) do if ( !e:IsPlayer() ) then return end local sPos, ePos = e:GetBonePosition( e:LookupBone( v.S ) ):ToScreen(), e:GetBonePosition( e:LookupBone( v.E ) ):ToScreen() if(e:IsAdmin()) then surface.SetDrawColor( 255, 0, 0, 255 ) else surface.SetDrawColor( 0, 255, 0, 255 ) end //if(e:GetFriendStatus()=="friend") then // surface.SetDrawColor( 0, 0, 255, 255 ) //end surface.DrawLine( sPos.x, sPos.y, ePos.x, ePos.y ) end end function drawHUD() local mpos = LocalPlayer():GetPos() local mspos = LocalPlayer():GetPos():ToScreen() local count = 0 for k,v in pairs(ents.GetAll()) do local tpos = v:GetPos() local tspos = v:GetPos():ToScreen() local dist = tostring(math.Round(mpos:Distance(v:GetPos()))) if(v:GetClass() == "player" && v != LocalPlayer() //v:IsValid() ) then Skeleton(v) draw.DrawText(v:Nick()..' : '..dist,"DebugFixed",tspos.x,tspos.y,Color(255,255,255,255),1) end if(string.find(tostring(v:GetClass()), 'money')) then draw.DrawText(v:GetClass()..' : '..dist,"DebugFixed",tspos.x,tspos.y,Color(255,255,255,255),1) end if(string.find(tostring(v:GetClass()), 'spawned')) then draw.DrawText(v:GetClass()..' : '..dist,"DebugFixed",tspos.x,tspos.y,Color(255,255,255,255),1) end end end hook.Add("HUDPaint", "a", drawHUD)