Run it
Copy the script and paste it into your executor.
UserInputService = :()
RunService = :()
HttpService = :()
CoreGui = :()
Players = :()
Workspace = :()
LocalPlayer = Players.LocalPlayer
Mouse = LocalPlayer:()
Keybinds = {
AddSavestate = ,
RemoveSavestate = ,
BackSavestate = ,
GoFrameBack = ,
GoFrameForward = ,
SaveRun = ,
UserPause = ,
CollisionToggler = ,
ResetToNormal = ,
ViewTAS =
}
Savestates = {}
PlayerInfo = {}
TimePaused =
Pause =
TimePauseHolder
TimeStart
FrameCountLabel
SavestatesCountLabel
TimeTextLabel
CapLockPauseLabel
KeyBindFrame
HUD
MainConnectionLoop
KeybindsConnect
InputEndConnect
DiedConnect
CurrentAnimationState = { Name = , Weight = }
()
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.CFrame
.()
()
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.Velocity
.()
()
Workspace.CurrentCamera.CFrame
()
{
= (),
CameraCFrame = (),
Velocity = (),
Animation = CurrentAnimationState,
Time = () - TimeStart - TimePaused,
}
()
SavestatesCountLabel
SavestatesCountLabel.Text = .. #Savestates
FrameCountLabel
FrameCountLabel.Text = .. #PlayerInfo
(TimeValue)
m = .(TimeValue / )
s = .(TimeValue % )
ms = .((TimeValue * ) % )
msStr = (ms)
sStr = (s)
#msStr < msStr = .. msStr
#sStr < sStr = .. sStr
m .. .. sStr .. .. msStr
()
TimeTextLabel
TimePlayed = () - TimeStart - TimePaused
TimeTextLabel.Text = (TimePlayed)
(InfoState)
LocalPlayer.Character LocalPlayer.Character:() LocalPlayer.Character:()
Hum = LocalPlayer.Character.Humanoid
RootPart = LocalPlayer.Character.HumanoidRootPart
RootPart.CFrame = InfoState.CFrame
RootPart.Velocity = InfoState.Velocity
Workspace.CurrentCamera.CFrame = InfoState.CameraCFrame
CurrentAnimationState = InfoState.Animation { Name = , Weight = }
CurrentAnimationState.Name Hum
Animator = Hum:()
Animator
PlayingTracks = Animator:()
_, track (PlayingTracks)
track.Name == CurrentAnimationState.Name
track:(CurrentAnimationState.Weight )
track.TimePosition =
()
HUD HUD:()
HUD = .(, CoreGui)
HUD.Name =
HUD.ResetOnSpawn =
HUD.ZIndexBehavior = .ZIndexBehavior.Sibling
MainFrame = .(, HUD)
MainFrame.AnchorPoint = .(, )
MainFrame.Position = .(, , , -)
MainFrame.Size = .(, , , )
MainFrame.BackgroundColor3 = .(, , )
MainFrame.BackgroundTransparency =
MainFrame.BorderColor3 = .(, , )
MainFrame.BorderSizePixel =
UIListLayout = .(, MainFrame)
UIListLayout.Padding = .(, )
UIListLayout.SortOrder = .SortOrder.LayoutOrder
TimeTextLabel = .(, MainFrame)
TimeTextLabel.Name =
TimeTextLabel.LayoutOrder =
TimeTextLabel.Size = .(, -, , )
TimeTextLabel.Position = .(, , , )
TimeTextLabel.BackgroundTransparency =
TimeTextLabel.Font = .Font.SourceSansBold
TimeTextLabel.Text =
TimeTextLabel.TextColor3 = .(, , )
TimeTextLabel.TextScaled =
TimeTextLabel.TextXAlignment = .TextXAlignment.Left
SavestatesCountLabel = .(, MainFrame)
SavestatesCountLabel.Name =
SavestatesCountLabel.LayoutOrder =
SavestatesCountLabel.Size = .(, -, , )
SavestatesCountLabel.BackgroundTransparency =
SavestatesCountLabel.Font = .Font.SourceSans
SavestatesCountLabel.Text =
SavestatesCountLabel.TextColor3 = .(, , )
SavestatesCountLabel.TextScaled =
SavestatesCountLabel.TextXAlignment = .TextXAlignment.Left
FrameCountLabel = .(, MainFrame)
FrameCountLabel.Name =
FrameCountLabel.LayoutOrder =
FrameCountLabel.Size = .(, -, , )
FrameCountLabel.BackgroundTransparency =
FrameCountLabel.Font = .Font.SourceSans
FrameCountLabel.Text =
FrameCountLabel.TextColor3 = .(, , )
FrameCountLabel.TextScaled =
FrameCountLabel.TextXAlignment = .TextXAlignment.Left
KeybindsButton = .(, MainFrame)
KeybindsButton.Name =
KeybindsButton.LayoutOrder =
KeybindsButton.Size = .(, -, , )
KeybindsButton.BackgroundColor3 = .(, , )
KeybindsButton.TextColor3 = .(, , )
KeybindsButton.Text =
KeybindsButton.Font = .Font.SourceSansBold
KeybindsButton.TextScaled =
KeyBindFrame = .(, HUD)
KeyBindFrame.Name =
KeyBindFrame.AnchorPoint = .(, )
KeyBindFrame.Position = .(, , , -)
KeyBindFrame.Size = .(, , , )
KeyBindFrame.BackgroundColor3 = .(, , )
KeyBindFrame.BackgroundTransparency =
KeyBindFrame.BorderColor3 = .(, , )
KeyBindFrame.BorderSizePixel =
KeyBindFrame.Visible =
KeyBindFrame.ClipsDescendants =
KeybindListLayout = .(, KeyBindFrame)
KeybindListLayout.Padding = .(, )
KeybindListLayout.HorizontalAlignment = .HorizontalAlignment.Center
KeybindListLayout.SortOrder = .SortOrder.LayoutOrder
(Key, Action)
Label = .(, KeyBindFrame)
Label.Name = Action ..
Label.Size = .(, -, , )
Label.Position = .(, , , )
Label.BackgroundTransparency =
Label.Font = .Font.SourceSans
Label.Text = Key .. .. Action
Label.TextColor3 = .(, , )
Label.TextScaled =
Label.TextXAlignment = .TextXAlignment.Left
Label
CapLockPauseLabel = (Keybinds.UserPause, )
CapLockPauseLabel.TextColor3 = .(, , )
(Keybinds.AddSavestate, )
(Keybinds.RemoveSavestate, )
(Keybinds.BackSavestate, )
(Keybinds.GoFrameBack, )
(Keybinds.GoFrameForward, )
(Keybinds.SaveRun, )
(Keybinds.CollisionToggler, )
(Keybinds.ViewTAS, )
(Keybinds.ResetToNormal, )
KeybindsButton.MouseButton1Click:(()
KeyBindFrame.Visible = KeyBindFrame.Visible
KeyBindFrame.Visible
KeybindsButton.Text =
KeybindsButton.Text =
)
()
Pause = Pause
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.Anchored = Pause
Pause
TimePauseHolder = ()
TimeTextLabel TimeTextLabel.TextColor3 = .(, , )
CapLockPauseLabel
CapLockPauseLabel.Text = Keybinds.UserPause ..
CapLockPauseLabel.TextColor3 = .(, , )
TimePauseHolder
TimePaused = TimePaused + (() - TimePauseHolder)
TimePauseHolder =
TimeTextLabel TimeTextLabel.TextColor3 = .(, , )
CapLockPauseLabel
CapLockPauseLabel.Text = Keybinds.UserPause ..
CapLockPauseLabel.TextColor3 = .(, , )
()
.(Savestates, PlayerInfo)
PlayerInfo = {}
()
()
#Savestates >
.(Savestates)
Savestates[#Savestates] #Savestates[#Savestates] >
lastFrame = Savestates[#Savestates][#Savestates[#Savestates]]
PlayerInfo = {}
Pause =
TimePauseHolder = ()
TimeStart = () - lastFrame.Time
TimePaused =
(lastFrame)
()
PlayerInfo = {}
TimeStart = ()
TimePaused =
()
()
#Savestates > Savestates[#Savestates] #Savestates[#Savestates] >
InfoState = Savestates[#Savestates][#Savestates[#Savestates]]
PlayerInfo = {}
Pause =
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.Anchored =
TimePauseHolder = ()
TimeStart = () - InfoState.Time
TimePaused =
(InfoState)
TimeTextLabel TimeTextLabel.TextColor3 = .(, , )
CapLockPauseLabel
CapLockPauseLabel.Text = Keybinds.UserPause ..
CapLockPauseLabel.TextColor3 = .(, , )
()
()
Pause
()
RunService.Heartbeat:()
RunService.Heartbeat:()
()
isFrameForwardHeld =
()
isFrameForwardHeld =
()
.() isFrameForwardHeld
()
isFrameBackHeld =
()
LocalPlayer.Character
TargetFrameInfo =
#PlayerInfo >
TargetFrameInfo = PlayerInfo[#PlayerInfo - ]
PlayerInfo[#PlayerInfo] =
#Savestates > #Savestates[#Savestates] >
TargetFrameInfo = Savestates[#Savestates][#Savestates[#Savestates] - ]
Savestates[#Savestates][#Savestates[#Savestates]] =
TargetFrameInfo
Pause ()
TimePauseHolder = ()
TimeStart = () - TargetFrameInfo.Time
TimePaused =
(TargetFrameInfo)
()
()
()
isFrameBackHeld =
()
.() isFrameBackHeld
()
()
Target = Mouse.Target
Target Target:()
Target.CanCollide = Target.CanCollide
Target.Transparency = Target.CanCollide
()
FullTAS = {}
i = , #Savestates
j = , #Savestates[i]
Frame = Savestates[i][j]
MinFrame = {}
cfX, cfY, cfZ, cfR00, cfR01, cfR02, cfR10, cfR11, cfR12, cfR20, cfR21, cfR22 = Frame.CFrame:()
camX, camY, camZ, camR00, camR01, camR02, camR10, camR11, camR12, camR20, camR21, camR22 = Frame.CameraCFrame:()
MinFrame.CCFrame = {cfX, cfY, cfZ, cfR00, cfR01, cfR02, cfR10, cfR11, cfR12, cfR20, cfR21, cfR22}
MinFrame.CCameraCFrame = {camX, camY, camZ, camR00, camR01, camR02, camR10, camR11, camR12, camR20, camR21, camR22}
MinFrame.VVelocity = {Frame.Velocity.X, Frame.Velocity.Y, Frame.Velocity.Z}
MinFrame.AAnimation = Frame.Animation {Name=, Weight=}
MinFrame.time = Frame.Time
.(FullTAS, MinFrame)
FullTAS
()
FullTAS = ()
#FullTAS >
MapName =
GameName = :():(.PlaceId).Name
GameName = GameName:(, ):(, )
FileName = GameName .. .. MapName ..
FilePath = .. FileName
EncodedData = HttpService:(FullTAS)
writefile
()
()
(FilePath, EncodedData)
( .. FilePath)
()
()
(EncodedData)
()
ViewingTAS =
(TAS)
ViewingTAS #TAS ==
ViewingTAS =
()
StartTime = ()
CurrentFrameIndex =
PlaybackConnection
Pause ()
Character = LocalPlayer.Character
Character Character:()
()
ViewingTAS =
RootPart = Character.HumanoidRootPart
Hum = Character.Humanoid
()
PlaybackConnection
PlaybackConnection:()
PlaybackConnection =
RootPart.Anchored =
ViewingTAS =
()
.()
()
Pause ()
RootPart.Anchored =
PlaybackConnection = RunService.Heartbeat:(()
ElapsedTime = () - StartTime
TargetFrame =
CurrentFrameIndex <= #TAS TAS[CurrentFrameIndex].time <= ElapsedTime
TargetFrame = TAS[CurrentFrameIndex]
CurrentFrameIndex = CurrentFrameIndex +
TargetFrame
cfData = TargetFrame.CCFrame
camData = TargetFrame.CCameraCFrame
RootPart.CFrame = .(cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[], cfData[])
RootPart.Velocity = .(TargetFrame.VVelocity[], TargetFrame.VVelocity[], TargetFrame.VVelocity[])
Workspace.CurrentCamera.CFrame = .(camData[], camData[], camData[], camData[], camData[], camData[], camData[], camData[], camData[], camData[], camData[], camData[])
AnimInfo = TargetFrame.AAnimation
AnimInfo Hum
Animator = Hum:()
Animator
Track = Animator:(AnimInfo.Name, )
Track Track:()
Track.IsPlaying Track:()
Track:(AnimInfo.Weight )
CurrentFrameIndex > #TAS
()
)
()
MainConnectionLoop MainConnectionLoop:()
KeybindsConnect KeybindsConnect:()
InputEndConnect InputEndConnect:()
DiedConnect DiedConnect:()
HUD HUD:()
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.Anchored =
()
()
Savestates = {}
PlayerInfo = {}
TimePaused =
Pause =
TimeStart = ()
TimePauseHolder = ()
initialCFrame = ()
initialCamCFrame = ()
initialVelocity = ()
.(Savestates, {{
= initialCFrame,
CameraCFrame = initialCamCFrame,
Velocity = initialVelocity,
Animation = { Name = , Weight = },
Time =
}})
()
MainConnectionLoop = RunService.Heartbeat:((deltaTime)
Pause
()
.(PlayerInfo, ())
()
)
KeybindsConnect = UserInputService.InputBegan:((Input, Typing)
Typing
KeyCode = Input.KeyCode
KeyCode == .KeyCode[Keybinds.UserPause]
()
KeyCode == .KeyCode[Keybinds.AddSavestate]
()
KeyCode == .KeyCode[Keybinds.RemoveSavestate]
()
KeyCode == .KeyCode[Keybinds.BackSavestate]
()
KeyCode == .KeyCode[Keybinds.CollisionToggler]
()
KeyCode == .KeyCode[Keybinds.SaveRun]
()
KeyCode == .KeyCode[Keybinds.GoFrameForward]
.(FrameForwardStart)
KeyCode == .KeyCode[Keybinds.GoFrameBack]
.(FrameBackStart)
KeyCode == .KeyCode[Keybinds.ResetToNormal]
()
KeyCode == .KeyCode[Keybinds.ViewTAS]
ViewingTAS
CurrentTASData = ()
(CurrentTASData)
)
InputEndConnect = UserInputService.InputEnded:((Input, Typing)
Typing
KeyCode = Input.KeyCode
KeyCode == .KeyCode[Keybinds.GoFrameBack]
isFrameBackHeld =
KeyCode == .KeyCode[Keybinds.GoFrameForward]
isFrameForwardHeld =
)
LocalPlayer.Character
Hum = LocalPlayer.Character:()
Hum
DiedConnect = Hum.Died:(()
.()
Pause ()
()
LocalPlayer.CharacterAdded:()
.()
()
()
Pause ()
)
()
LocalPlayer.Character LocalPlayer.Character:()
LocalPlayer.Character.HumanoidRootPart.Anchored =
TimeTextLabel TimeTextLabel.TextColor3 = .(, , )
CapLockPauseLabel
CapLockPauseLabel.Text = Keybinds.UserPause ..
CapLockPauseLabel.TextColor3 = .(, , )
()
Pause ()
()