Run it
Copy the script and paste it into your executor.
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid, hrp
-- Respawn handler
(char)
character = char
humanoid = char:()
hrp = char:()
player.CharacterAdded:(onCharacterAdded)
(character)
()
_, tool (character:())
tool:()
tool
(targetHRP)
myPos = hrp.Position
targetPos = .(targetHRP.Position.X, myPos.Y, targetHRP.Position.Z)
hrp.CFrame = .(myPos, targetPos)
(maxDistance)
closest, shortestDist = , maxDistance
_, other (Players:())
other ~= player other.Character other.Character:()
dist = (other.Character.HumanoidRootPart.Position - hrp.Position).Magnitude
dist < shortestDist
closest = other
shortestDist = dist
closest, shortestDist
RunService.RenderStepped:(()
humanoid hrp
closestPlayer, rawDistance = ()
closestPlayer
targetHRP = closestPlayer.Character closestPlayer.Character:()
targetHRP
myVelocity = hrp.Velocity.Magnitude
targetVelocity = targetHRP.Velocity.Magnitude
speed = .(myVelocity, targetVelocity)
scale = .(speed / )
equipDist = + scale
useDist = + scale
unequipDist = + scale
equippedTool = ()
rawDistance <= equipDist
equippedTool
humanoid:()
.()
tool = player.Backpack:()
tool
humanoid:(tool)
(targetHRP)
rawDistance <= useDist ()
():()
rawDistance >= unequipDist equippedTool
humanoid:()
)Helps you