Run it
Copy the script and paste it into your executor.
flashbacklength =
flashbackspeed =
name = :():()
frames, LP, RS = {}, :().LocalPlayer, :()
(RS.UnbindFromRenderStep, RS, name)
()
LP.Character LP.CharacterAdded:()
(c)
c:() c.RootPart c.PrimaryPart c:() c:() c:()
flashback = {lastinput=, canrevert=}
flashback:(char, hrp, hum, allowinput)
#frames>flashbacklength*
.(frames, )
allowinput self.canrevert
self.canrevert =
self.lastinput
hum.PlatformStand =
self.lastinput =
.(frames, {
hrp.CFrame,
hrp.Velocity,
hum:(),
hum.PlatformStand,
char:()
})
flashback:(char, hrp, hum)
num = #frames
num== self.canrevert
self.canrevert =
self:(char, hrp, hum)
i=, flashbackspeed
.(frames, num)
num = num-
self.lastinput =
lastframe = frames[num]
.(frames, num)
hrp.CFrame = lastframe[]
hrp.Velocity = -lastframe[]
hum:(lastframe[])
hum.PlatformStand = lastframe[]
currenttool = char:()
lastframe[]
currenttool
hum:(lastframe[])
hum:()
()
char = ()
hrp = (char)
hum = char:()
flashback.active
flashback:(char, hrp, hum)
flashback:(char, hrp, hum, )
screenGui = .()
screenGui.Parent = LP.PlayerGui
textButtonFlashback = .()
textButtonFlashback.Text =
textButtonFlashback.Size = .(, , , )
textButtonFlashback.Position = .(, -, , -)
textButtonFlashback.Parent = screenGui
textButtonReset = .()
textButtonReset.Text =
textButtonReset.Size = .(, , , )
textButtonReset.Position = .(, , , -)
textButtonReset.Parent = screenGui
flashback.active =
textButtonFlashback.MouseButton1Click:(()
flashback.active = flashback.active
textButtonFlashback.Text = flashback.active
)
textButtonReset.MouseButton1Click:(()
frames = {}
flashback.active =
textButtonFlashback.Text =
)
RS:(name, , step)
Rewinds your character in time. (This one you can edit yourself.)

Universal