local ReGui = loadstring(game:HttpGet('https://raw.githubusercontent.com/depthso/Dear-ReGui/refs/heads/main/ReGui.lua'))() local PrefabsId = "rbxassetid://" .. ReGui.PrefabsId local InsertService = game:GetService("InsertService") local RunService = game:GetService("RunService") local MarketplaceService = game:GetService("MarketplaceService") local Players = game:GetService("Players") local GameInfo = MarketplaceService:GetProductInfo(game.PlaceId) local LocalPlayer = Players.LocalPlayer ReGui:Init({ Prefabs = InsertService:LoadLocalAsset(PrefabsId) }) local flashbacklength = 60 local flashbackspeed = 0.5 local name = game:GetService("RbxAnalyticsService"):GetSessionId() local frames, LP, RS = {}, LocalPlayer, RunService pcall(RS.UnbindFromRenderStep, RS, name) local function getchar() return LP.Character or LP.CharacterAdded:Wait() end function gethrp(c) return c:FindFirstChild("HumanoidRootPart") or c.RootPart or c.PrimaryPart or c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso") or c:FindFirstChildWhichIsA("BasePart") end local flashback = {lastinput=false, canrevert=true, active=false} function flashback:Advance(char, hrp, hum, allowinput) if #frames>flashbacklength*60 then table.remove(frames, 1) end if allowinput and not self.canrevert then self.canrevert = true end if self.lastinput then hum.PlatformStand = false self.lastinput = false end table.insert(frames, { hrp.CFrame, hrp.Velocity, hum:GetState(), hum.PlatformStand, char:FindFirstChildOfClass("Tool") }) end function flashback:Revert(char, hrp, hum) local num = #frames if num==0 or not self.canrevert then self.canrevert = false self:Advance(char, hrp, hum) return end for i=1, flashbackspeed do table.remove(frames, num) num = num-1 end self.lastinput = true local lastframe = frames[num] table.remove(frames, num) hrp.CFrame = lastframe[1] hrp.Velocity = -lastframe[2] hum:ChangeState(lastframe[3]) hum.PlatformStand = lastframe[4] local currenttool = char:FindFirstChildOfClass("Tool") if lastframe[5] then if not currenttool then hum:EquipTool(lastframe[5]) end else hum:UnequipTools() end end local function step() local char = getchar() local hrp = gethrp(char) local hum = char:FindFirstChildWhichIsA("Humanoid") if flashback.active then flashback:Revert(char, hrp, hum) else flashback:Advance(char, hrp, hum, true) end end local Window = ReGui:TabsWindow({ Title = "linhmc_new's Reverse Script | Flashback v2", Size = UDim2.new(0, 400, 0, 350), Position = UDim2.new(0.5, 0, 0, 70), CloseCallback = function() pcall(RS.UnbindFromRenderStep, RS, name) end }):Center() local MainTab = Window:CreateTab({ Name = "Main", Visible = true }) MainTab:Label({ Text = "Flashback System" }) MainTab:Label({ Text = "idk, just like reverse" }) MainTab:Separator() local FlashbackHeader = MainTab:TreeNode({ Title = "Flashback Controls", Collapsed = false }) local ButtonsRow = FlashbackHeader:Row() ButtonsRow:Button({ Text = "Toggle Flashback", Callback = function() flashback.active = not flashback.active end, }) ButtonsRow:Button({ Text = "Reset Flashback", Callback = function() frames = {} flashback.active = false end, }) FlashbackHeader:Label({ Text = "Original script by dark eccentric" }) local SettingsTab = Window:CreateTab({ Name = "Settings" }) local SettingsHeader = SettingsTab:TreeNode({ Title = "Flashback", Collapsed = false }) SettingsHeader:SliderInt({ Label = "Flashback Length (seconds)", Value = flashbacklength, Minimum = 10, Maximum = 300, Callback = function(self, Value) flashbacklength = Value end, }) SettingsHeader:SliderFloat({ Label = "Flashback Speed", Value = flashbackspeed, Minimum = 0, Maximum = 5, Callback = function(self, Value) flashbackspeed = Value end, }) SettingsHeader:Separator() local InfoHeader = SettingsTab:TreeNode({ Title = "Information", Collapsed = false }) InfoHeader:Label({ Text = "Flashback Length: Controls memory usage" }) InfoHeader:Label({ Text = "Flashback Speed: Higher = faster rewind" }) InfoHeader:Label({ Text = "Current frames stored: 0" }) InfoHeader:Label({ Text = "Max frames: " .. tostring(flashbacklength * 60) }) local InfoTab = Window:CreateTab({ Name = "Info" }) InfoTab:Label({ Text = "Script by linhmc_new" }) InfoTab:Label({ Text = "UI powered by ReGui" }) InfoTab:Label({ Text = "REVERSE!!! Time travel script" }) InfoTab:Separator() InfoTab:Label({ Text = "How to use:" }) InfoTab:Label({ Text = "1. Click 'Toggle Flashback' to start/stop" }) InfoTab:Label({ Text = "2. Adjust settings as needed" }) InfoTab:Label({ Text = "3. Use 'Reset' to clear all data" }) RS:BindToRenderStep(name, 1, step)