local player = game.Players.LocalPlayer local RunService = game:GetService("RunService") -------------------------------------------------- -- INTRO CINEMÁTICA -------------------------------------------------- local introGui = Instance.new("ScreenGui") introGui.IgnoreGuiInset = true introGui.ResetOnSpawn = false introGui.Parent = player:WaitForChild("PlayerGui") local introFrame = Instance.new("Frame") introFrame.Size = UDim2.fromScale(1,1) introFrame.BackgroundColor3 = Color3.new(0,0,0) introFrame.Parent = introGui local introText = Instance.new("TextLabel") introText.Size = UDim2.fromScale(1,1) introText.BackgroundTransparency = 1 introText.Text = "made by Nohita_201604" introText.TextColor3 = Color3.new(1,1,1) introText.Font = Enum.Font.GothamBold introText.TextScaled = true introText.Parent = introFrame task.wait(2) for i=1,40 do introFrame.BackgroundTransparency = i/40 introText.TextTransparency = i/40 task.wait(0.03) end introGui:Destroy() -------------------------------------------------- -- GUI -------------------------------------------------- local gui = Instance.new("ScreenGui") gui.Name="TimeHub" gui.ResetOnSpawn=false gui.Parent=player.PlayerGui local frame=Instance.new("Frame") frame.Size=UDim2.new(0,240,0,150) frame.Position=UDim2.new(0.35,0,0.35,0) frame.BackgroundColor3=Color3.fromRGB(35,35,35) frame.Active=true frame.Draggable=true frame.Parent=gui Instance.new("UICorner",frame).CornerRadius=UDim.new(0,14) local topBar=Instance.new("Frame") topBar.Size=UDim2.new(1,0,0,30) topBar.BackgroundColor3=Color3.fromRGB(25,25,25) topBar.Parent=frame Instance.new("UICorner",topBar).CornerRadius=UDim.new(0,14) local title=Instance.new("TextLabel") title.Size=UDim2.new(1,-110,1,0) title.Position=UDim2.new(0,10,0,0) title.Text="Time Hub" title.TextColor3=Color3.new(1,1,1) title.BackgroundTransparency=1 title.Font=Enum.Font.GothamBold title.TextSize=15 title.TextXAlignment=Enum.TextXAlignment.Left title.Parent=topBar -------------------------------------------------- -- BOTONES -------------------------------------------------- local close=Instance.new("TextButton") close.Size=UDim2.new(0,25,0,25) close.Position=UDim2.new(1,-30,0.5,-12) close.Text="X" close.BackgroundColor3=Color3.fromRGB(200,60,60) close.TextColor3=Color3.new(1,1,1) close.Font=Enum.Font.GothamBold close.Parent=topBar Instance.new("UICorner",close).CornerRadius=UDim.new(1,0) close.MouseButton1Click:Connect(function() gui.Enabled=false end) local expanded=true local expandBtn=Instance.new("TextButton") expandBtn.Size=UDim2.new(0,25,0,25) expandBtn.Position=UDim2.new(1,-60,0.5,-12) expandBtn.Text="-" expandBtn.BackgroundColor3=Color3.fromRGB(80,80,80) expandBtn.TextColor3=Color3.new(1,1,1) expandBtn.Font=Enum.Font.GothamBold expandBtn.Parent=topBar Instance.new("UICorner",expandBtn).CornerRadius=UDim.new(1,0) local resetBtn=Instance.new("TextButton") resetBtn.Size=UDim2.new(1,-20,0,40) resetBtn.Position=UDim2.new(0,10,0,45) resetBtn.Text="Reset Time" resetBtn.BackgroundColor3=Color3.fromRGB(70,120,255) resetBtn.TextColor3=Color3.new(1,1,1) resetBtn.Font=Enum.Font.GothamBold resetBtn.Parent=frame Instance.new("UICorner",resetBtn).CornerRadius=UDim.new(0,12) local revertBtn=Instance.new("TextButton") revertBtn.Size=UDim2.new(1,-20,0,45) revertBtn.Position=UDim2.new(0,10,0,95) revertBtn.Text="Revert Time OFF" revertBtn.BackgroundColor3=Color3.fromRGB(200,60,60) revertBtn.TextColor3=Color3.new(1,1,1) revertBtn.Font=Enum.Font.GothamBold revertBtn.Parent=frame Instance.new("UICorner",revertBtn).CornerRadius=UDim.new(0,12) expandBtn.MouseButton1Click:Connect(function() expanded=not expanded if expanded then frame.Size=UDim2.new(0,240,0,150) resetBtn.Visible=true revertBtn.Visible=true expandBtn.Text="-" else frame.Size=UDim2.new(0,240,0,35) resetBtn.Visible=false revertBtn.Visible=false expandBtn.Text="+" end end) -------------------------------------------------- -- ANIMATION RECOVERY SYSTEM ⭐ -------------------------------------------------- local function RefreshAnimations(char) local hum=char:FindFirstChildOfClass("Humanoid") if not hum then return end for _,track in ipairs(hum:GetPlayingAnimationTracks()) do track:Stop(0) end local animator=hum:FindFirstChildOfClass("Animator") if animator then animator:Destroy() end animator=Instance.new("Animator") animator.Parent=hum local animate=char:FindFirstChild("Animate") if animate then animate.Disabled=true task.wait() animate.Disabled=false end end -------------------------------------------------- -- TIME SYSTEM CON ANIMACIONES ACTIVAS -------------------------------------------------- local frames={} local reverting=false local function getCharacter() return player.Character or player.CharacterAdded:Wait() end RunService.RenderStepped:Connect(function() local char=getCharacter() local hrp=char:FindFirstChild("HumanoidRootPart") local hum=char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end if not reverting then local animData={} for _,track in ipairs(hum:GetPlayingAnimationTracks()) do table.insert(animData,{ Animation=track.Animation, Time=track.TimePosition, Speed=track.Speed, Weight=track.WeightCurrent }) end table.insert(frames,{ CFrame=hrp.CFrame, Animations=animData }) end end) -------------------------------------------------- -- RESET TIME -------------------------------------------------- resetBtn.MouseButton1Click:Connect(function() reverting=false revertBtn.Text="Revert Time OFF" revertBtn.BackgroundColor3=Color3.fromRGB(200,60,60) table.clear(frames) local char=getCharacter() RefreshAnimations(char) end) -------------------------------------------------- -- REVERT BUTTON -------------------------------------------------- revertBtn.MouseButton1Click:Connect(function() reverting=not reverting if reverting then revertBtn.Text="Revert Time ON" revertBtn.BackgroundColor3=Color3.fromRGB(60,200,60) else revertBtn.Text="Revert Time OFF" revertBtn.BackgroundColor3=Color3.fromRGB(200,60,60) local char=getCharacter() RefreshAnimations(char) end end) -------------------------------------------------- -- REWIND SUAVE CON ANIMACIONES ACTIVAS -------------------------------------------------- RunService.Heartbeat:Connect(function() if not reverting then return end local char=getCharacter() local hrp=char:FindFirstChild("HumanoidRootPart") local hum=char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end local data=frames[#frames] if not data then return end hrp.CFrame=data.CFrame -- Actualizar animaciones existentes en vez de recrearlas for _,track in ipairs(hum:GetPlayingAnimationTracks()) do for _,info in ipairs(data.Animations) do if track.Animation==info.Animation then track.TimePosition=info.Time track:AdjustSpeed(info.Speed) end end end table.remove(frames,#frames) end)