Run it
Copy the script and paste it into your executor.
Players = :()
Player = Players.LocalPlayer
FOLLOW_DISTANCE =
TELEPORT_DISTANCE =
STUCK_TIME =
CHECK_INTERVAL =
Colors = {
Red = .(, , ),
Green = .(, , ),
Gray = .(, , ),
Blue = .(, , ),
Purple = .(, , ),
White = .(, , ),
SubText = .(, , ),
Background = .(, , ),
Stroke = .(, , )
}
Bot
OriginalCharacter
OriginalHumanoid
OriginalRoot
SavedSettings
BotDeathConnection
OriginalDeathConnection
CharacterAddedConnection
BotGenerated =
Following =
Controlling =
Minimized =
SessionActive =
FollowToken =
SessionToken =
CleanupBot
(Humanoid)
Humanoid Humanoid.Parent
Camera = .CurrentCamera
Camera
Camera.CameraType = .CameraType.Custom
Camera.CameraSubject = Humanoid
Player.CharacterAdded:((Character)
.(()
Humanoid = Character:(, )
Humanoid Player.Character == Character
(Humanoid)
)
)
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.Parent = Player:()
Main = .()
Main.Size = .(, , , )
Main.Position = .(, , , )
Main.BackgroundColor3 = Colors.Background
Main.BorderSizePixel =
Main.Active =
Main.Draggable =
Main.Parent = ScreenGui
.(, Main).CornerRadius = .(, )
Stroke = .()
Stroke.Color = Colors.Stroke
Stroke.Thickness =
Stroke.Parent = Main
Title = .()
Title.Size = .(, , , )
Title.Position = .(, , , )
Title.BackgroundTransparency =
Title.Text =
Title.TextColor3 = Colors.White
Title.TextSize =
Title.Font = .Font.GothamBlack
Title.TextXAlignment = .TextXAlignment.Center
Title.TextYAlignment = .TextYAlignment.Center
Title.Parent = Main
Subtitle = .()
Subtitle.Size = .(, , , )
Subtitle.Position = .(, , , )
Subtitle.BackgroundTransparency =
Subtitle.Text =
Subtitle.TextColor3 = Colors.SubText
Subtitle.TextSize =
Subtitle.Font = .Font.Gotham
Subtitle.TextXAlignment = .TextXAlignment.Center
Subtitle.Parent = Main
MinButton = .()
MinButton.Size = .(, , , )
MinButton.Position = .(, -, , )
MinButton.BackgroundTransparency =
MinButton.Text =
MinButton.TextColor3 = Colors.White
MinButton.TextSize =
MinButton.Font = .Font.GothamBold
MinButton.Parent = Main
Scroll = .()
Scroll.Position = .(, , , )
Scroll.Size = .(, -, , -)
Scroll.BackgroundTransparency =
Scroll.BorderSizePixel =
Scroll.ScrollBarThickness =
Scroll.ScrollBarImageColor3 = Colors.Stroke
Scroll.AutomaticCanvasSize = .AutomaticSize.Y
Scroll.Parent = Main
Layout = .()
Layout.Padding = .(, )
Layout.HorizontalAlignment = .HorizontalAlignment.Center
Layout.SortOrder = .SortOrder.LayoutOrder
Layout.Parent = Scroll
(Name, Text, Order)
Button = .()
Button.Name = Name
Button.Size = .(, -, , )
Button.BackgroundTransparency =
Button.BorderSizePixel =
Button.Text = Text
Button.TextColor3 = Colors.Gray
Button.TextSize =
Button.Font = .Font.GothamBold
Button.TextXAlignment = .TextXAlignment.Center
Button.LayoutOrder = Order
Button.AutoButtonColor =
Button.Parent = Scroll
Button
GenerateButton = (, , )
FollowButton = (, , )
ControlButton = (, , )
()
GenerateButton.Text = BotGenerated
GenerateButton.TextColor3 = BotGenerated
Colors.Green
Colors.Red
FollowButton.Text = Following
FollowButton.TextColor3 = Following
Colors.Blue
Colors.Gray
ControlButton.Text = Controlling
ControlButton.TextColor3 = Controlling
Colors.Purple
Colors.Gray
()
SavedSettings
OriginalHumanoid
OriginalHumanoid.Parent
OriginalHumanoid.Health >
OriginalHumanoid.WalkSpeed = SavedSettings.WalkSpeed
OriginalHumanoid.JumpPower = SavedSettings.JumpPower
OriginalHumanoid.JumpHeight = SavedSettings.JumpHeight
OriginalHumanoid.AutoRotate = SavedSettings.AutoRotate
SavedSettings =
()
Following =
FollowToken +=
()
CleanupBot = ()
SessionActive Bot
Following =
FollowToken +=
SessionActive =
SessionToken +=
OriginalDeathConnection
OriginalDeathConnection:()
OriginalDeathConnection =
BotDeathConnection
BotDeathConnection:()
BotDeathConnection =
CharacterAddedConnection
CharacterAddedConnection:()
CharacterAddedConnection =
Player.Character == Bot
OriginalCharacter
OriginalCharacter.Parent
OriginalHumanoid
OriginalHumanoid.Health >
Player.Character = OriginalCharacter
(OriginalHumanoid)
()
Bot
Bot:()
Bot =
BotGenerated =
Following =
Controlling =
OriginalCharacter =
OriginalHumanoid =
OriginalRoot =
SavedSettings =
()
(Humanoid, CurrentSession)
OriginalDeathConnection
OriginalDeathConnection:()
OriginalDeathConnection =
OriginalDeathConnection = Humanoid.Died:(()
SessionActive
SessionToken ~= CurrentSession
OriginalHumanoid ~= Humanoid
.(()
SessionActive
SessionToken ~= CurrentSession
OriginalHumanoid ~= Humanoid
()
)
)
()
BotGenerated SessionActive
Character = Player.Character
Character
Humanoid = Character:()
Root = Character:()
Humanoid Root Humanoid.Health <=
OriginalCharacter = Character
OriginalHumanoid = Humanoid
OriginalRoot = Root
SessionActive =
SessionToken +=
CurrentSession = SessionToken
(Humanoid, CurrentSession)
CharacterAddedConnection = Player.CharacterAdded:((NewCharacter)
SessionActive
SessionToken ~= CurrentSession
NewCharacter == Bot
NewCharacter == OriginalCharacter
.(()
SessionActive
SessionToken ~= CurrentSession
Player.Character ~= NewCharacter
()
)
)
PreviousArchivable = Character.Archivable
Character.Archivable =
Success, NewBot = (()
Character:()
)
Character.Archivable = PreviousArchivable
Success
NewBot
SessionActive
SessionToken ~= CurrentSession
Player.Character ~= Character
Humanoid.Health <=
NewBot
NewBot:()
()
Bot = NewBot
Bot.Name =
BotHumanoid = Bot:()
BotRoot = Bot:()
BotHumanoid BotRoot
()
Bot.Parent =
Bot:(Character:() * .(, , -))
BotGenerated =
BotDeathConnection = BotHumanoid.Died:(()
SessionActive
SessionToken ~= CurrentSession
.(()
SessionActive
SessionToken ~= CurrentSession
()
)
)
()
()
BotGenerated Bot Controlling
OriginalHumanoid OriginalHumanoid.Health <=
Following =
FollowToken +=
CurrentToken = FollowToken
CurrentSession = SessionToken
()
.(()
LastPosition
StuckTimer =
Following
CurrentToken == FollowToken
CurrentSession == SessionToken
SessionActive
Bot
Bot.Parent
OriginalCharacter OriginalCharacter.Parent
OriginalHumanoid OriginalHumanoid.Health <=
BotHumanoid = Bot:()
BotRoot = Bot:()
PlayerRoot = OriginalCharacter:()
BotHumanoid BotRoot PlayerRoot
TargetPosition =
PlayerRoot.Position - PlayerRoot.CFrame.LookVector * FOLLOW_DISTANCE
Distance = (BotRoot.Position - TargetPosition).Magnitude
Distance >= TELEPORT_DISTANCE
Bot:(
PlayerRoot.CFrame * .(, , FOLLOW_DISTANCE)
)
StuckTimer =
LastPosition =
Distance >
BotHumanoid:(TargetPosition)
LastPosition
Movement = (BotRoot.Position - LastPosition).Magnitude
Movement < Distance >
StuckTimer += CHECK_INTERVAL
StuckTimer =
StuckTimer >= STUCK_TIME
Bot:(
PlayerRoot.CFrame * .(, , FOLLOW_DISTANCE)
)
StuckTimer =
LastPosition = BotRoot.Position
.(CHECK_INTERVAL)
CurrentToken == FollowToken
CurrentSession == SessionToken
Following =
()
)
()
BotGenerated Bot Controlling
OriginalHumanoid OriginalHumanoid.Health <=
()
SavedSettings = {
WalkSpeed = OriginalHumanoid.WalkSpeed,
JumpPower = OriginalHumanoid.JumpPower,
JumpHeight = OriginalHumanoid.JumpHeight,
AutoRotate = OriginalHumanoid.AutoRotate
}
OriginalHumanoid.WalkSpeed =
OriginalHumanoid.JumpPower =
OriginalHumanoid.JumpHeight =
OriginalHumanoid.AutoRotate =
BotHumanoid = Bot:()
BotHumanoid BotHumanoid.Health <=
()
Controlling =
Player.Character = Bot
(BotHumanoid)
()
()
Controlling
OriginalCharacter
OriginalCharacter.Parent
OriginalHumanoid
OriginalHumanoid.Health <=
()
Controlling =
Player.Character = OriginalCharacter
()
(OriginalHumanoid)
()
GenerateButton.MouseButton1Click:(GenerateBot)
FollowButton.MouseButton1Click:(()
BotGenerated Controlling
Following
()
()
)
ControlButton.MouseButton1Click:(()
BotGenerated
Controlling
()
()
)
MinButton.MouseButton1Click:(()
Minimized = Minimized
Minimized
Main.Size = .(, , , )
Scroll.Visible =
Subtitle.Visible =
MinButton.Text =
Main.Size = .(, , , )
Scroll.Visible =
Subtitle.Visible =
MinButton.Text =
)
()to have the bot copy your animation, enable and disable the BOT Control.

Universal