--by pavetr.top local function kazitracers() local localPlayer = LocalPlayer() if not IsValid(localPlayer) then return end local players = player.GetAll() cam.Start2D() for i, ply in ipairs(players) do if ply ~= localPlayer then local headPos = ply:GetBonePosition(8) local feetPos = localPlayer:GetPos() + Vector(0, 0, 10) local headScreenPos = headPos:ToScreen() local feetScreenPos = feetPos:ToScreen() local hue = CurTime() * 50 % 360 local lineColor = HSVToColor(hue, 1, 1) local arrowColor = lineColor surface.SetDrawColor(0, 0, 0) surface.DrawLine(feetScreenPos.x, feetScreenPos.y, headScreenPos.x, headScreenPos.y) surface.SetDrawColor(lineColor.r, lineColor.g, lineColor.b) surface.DrawLine(feetScreenPos.x, feetScreenPos.y, headScreenPos.x, headScreenPos.y) local arrowSize = 10 local arrowX = headScreenPos.x local arrowY = headScreenPos.y - arrowSize - 10 local arrowVertices = { { x = arrowX, y = arrowY }, { x = arrowX - arrowSize, y = arrowY + arrowSize }, { x = arrowX + arrowSize, y = arrowY + arrowSize } } surface.SetDrawColor(0, 0, 0) surface.DrawPoly(arrowVertices) surface.SetDrawColor(arrowColor.r, arrowColor.g, arrowColor.b) surface.DrawPoly(arrowVertices) for j = 1, 3 do local nextIndex = (j % 3) + 1 surface.DrawLine(arrowVertices[j].x, arrowVertices[j].y, arrowVertices[nextIndex].x, arrowVertices[nextIndex].y) end end end local watermarkText = "Kazi's Tracers" local fontName = "DermaDefaultBold" local fontSize = 32 local watermarkY = 20 surface.SetFont(fontName) local textWidth, textHeight = surface.GetTextSize(watermarkText) local watermarkX = ScrW() / 2 - textWidth / 2 local boxWidth = textWidth + 20 local boxHeight = textHeight + 20 surface.SetDrawColor(34, 34, 34) surface.DrawRect(watermarkX - 10, watermarkY - 10, boxWidth, boxHeight) surface.SetTextColor(HSVToColor(CurTime() * 50 % 360, 1, 1)) surface.SetTextPos(watermarkX, watermarkY) surface.SetFont(fontName) surface.DrawText(watermarkText) local lineY = watermarkY - 30 surface.SetDrawColor(0, 0, 0) surface.DrawLine(watermarkX - 10, lineY, watermarkX + boxWidth, lineY) surface.SetDrawColor(255, 255, 255) surface.DrawLine(watermarkX - 9, lineY, watermarkX + boxWidth - 1, lineY) local crosshairRadius = 5 local crosshairX = ScrW() / 2 local crosshairY = ScrH() / 2 local crosshairHue = CurTime() * 50 % 360 local crosshairColor = HSVToColor(crosshairHue, 1, 1) surface.SetDrawColor(crosshairColor.r, crosshairColor.g, crosshairColor.b) surface.DrawCircle(crosshairX, crosshairY, crosshairRadius, crosshairColor) cam.End2D() end hook.Add("HUDPaint", "410445", function() kazitracers() end)