Run it
Copy the script and paste it into your executor.
:().DefaultChatSystemChatEvents.SayMessageRequest:(, )
Players = :()
PathfindingService = :()
RunService = :()
LocalPlayer = Players.LocalPlayer
Character = LocalPlayer.Character LocalPlayer.CharacterAdded:()
Humanoid = Character:()
HRP = Character:()
following =
targetPlayer =
targetJumpConn =
targetCharAddedConn =
pathFolder = :() .(, )
pathFolder.Name =
(newCharacter)
Character = newCharacter
Humanoid = Character:()
HRP = Character:()
LocalPlayer.CharacterAdded:(updateLocalCharacter)
(nameFragment)
_, player (Players:())
player ~= LocalPlayer .(player.Name:(), nameFragment:(), , )
player
(target)
targetJumpConn
targetJumpConn:()
targetJumpConn =
targetCharAddedConn
targetCharAddedConn:()
targetCharAddedConn =
(character)
targetHumanoid = character:(, )
targetHumanoid
targetJumpConn = targetHumanoid.Jumping:((isActive)
isActive following
Humanoid (Humanoid:() == .HumanoidStateType.Running Humanoid:() == .HumanoidStateType.RunningNoPhysics Humanoid:() == .HumanoidStateType.Landed)
Humanoid:(.HumanoidStateType.Jumping)
)
target.Character
(target.Character)
targetCharAddedConn = target.CharacterAdded:((newChar)
RunService.Heartbeat:()
(newChar)
)
()
_, v (pathFolder:())
v:()
(path)
()
waypoints = path:()
i, waypoint (waypoints)
part = .()
part.Shape = .PartType.Ball
part.Color = .(, , )
part.Size = .(, , )
part.Anchored =
part.CanCollide =
part.Position = waypoint.Position
part.Parent = pathFolder
i >
beamPart = .()
beamPart.Size = .(, , (waypoint.Position - waypoints[i-].Position).Magnitude)
beamPart.CFrame = .((waypoint.Position + waypoints[i-].Position) / , waypoint.Position)
beamPart.Anchored =
beamPart.CanCollide =
beamPart.Color = .(, , )
beamPart.Parent = pathFolder
.(()
following targetPlayer
(LocalPlayer.Character targetPlayer.Character)
RunService.Heartbeat:()
HRP = LocalPlayer.Character:()
Humanoid = LocalPlayer.Character:()
targetHRP = targetPlayer.Character:()
HRP Humanoid targetHRP
path = PathfindingService:({
AgentRadius = ,
AgentHeight = ,
AgentCanJump = ,
AgentJumpHeight = ,
AgentWalkableFloorAngle =
})
path:(HRP.Position, targetHRP.Position)
path.Status == .PathStatus.Success
(path)
waypoints = path:()
_, waypoint (waypoints)
following
Humanoid:(waypoint.Position)
reached = Humanoid.MoveToFinished:()
reached
Humanoid:(targetHRP.Position)
RunService.Heartbeat:()
)
LocalPlayer.Chatted:((msg)
msg:(, ) ==
nameFragment = msg:():(, )
newTarget = (nameFragment)
newTarget
targetPlayer = newTarget
following =
(targetPlayer)
msg:() ==
following =
()
)

Universal