Auto Guard
Key Required

Auto Guard

[SEASON 6] Highschool HoopsIrdkIrdk 19.7K views 122 executesUpdated May 27, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•85 lines (2546 chars)
-- The Keybind is B
-- Please checkout edit the "Settings" to your liking

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local localPlayer = Players.LocalPlayer
local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")

--[[SETTINGS]]--
local followEnabled = false -- automatically on or off when executed
local currentDistance = 2.5 --studs infront of the player
local adjustedDistance = 4 --W.I.P
local backwardTimer = 0 --W.I.P
local lastPosition = nil
local speed = 8 -- Higher = faster follow

local function getClosestPlayer()
	local closest = nil
	local shortestDist = math.huge
	for _, player in pairs(Players:GetPlayers()) do
		if player ~= localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
			local targetHRP = player.Character.HumanoidRootPart
			local dist = (hrp.Position - targetHRP.Position).Magnitude
			if dist < shortestDist then
				shortestDist = dist
				closest = targetHRP
			end
		end
	end
	return closest
end

RunService.RenderStepped:Connect(function(dt)
	if not followEnabled then return end
	local targetHRP = getClosestPlayer()
	if not targetHRP then return end

	local targetPos = targetHRP.Position
	local lookVector = targetHRP.CFrame.LookVector
	local goalOffset = lookVector * currentDistance
	local goalPos = targetPos + goalOffset
	goalPos = Vector3.new(goalPos.X, hrp.Position.Y, goalPos.Z)


	if lastPosition then
		local movementDir = (hrp.Position - lastPosition)
		if movementDir.Magnitude > 0.01 then
			movementDir = movementDir.Unit
			local facingDir = hrp.CFrame.LookVector
			local dot = movementDir:Dot(-facingDir)

			if dot > 0.7 then -- strongly backwards
				backwardTimer += dt
				if backwardTimer > 0.5 then
					currentDistance = adjustedDistance
				end
			else
				backwardTimer = 0
				currentDistance = 2.5
			end
		end
	end
	lastPosition = hrp.Position

	-- 💨 Smooth follow + face the player
	local current = character:GetPivot()
	local newPos = current.Position:Lerp(goalPos, dt * speed)
	character:PivotTo(CFrame.lookAt(newPos, targetPos))
end)

-- 🎛 Toggle on/off with B
UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if gameProcessed then return end
	if input.KeyCode == Enum.KeyCode.B then
		followEnabled = not followEnabled
		if followEnabled then
			print("🟢 Auto Guard ON")
		else
			print("🔴 Auto Guard OFF")
		end
	end
end)

Features & Information

Uhh auto gaurd bassicly, click b to turn it on
#basketball#Basketball Zero#Highschool Hoops#Hoopz#Auto green

Community Comments (3)

CursedpyraaCursedpyraaMay 28, 2025

Script is bad

IrdkIrdkMay 28, 2025

@Cursedpryaa can you tell me the problem? so i can make a better version? I always advocate that if you think that you can make it better yourself then go for it.

alexanderluu41alexanderluu41Jul 14, 2025

make it so u jump then the shoot/pass the ball not tp to them

More Scripts for [SEASON 6] Highschool Hoops