local player = game.Players.LocalPlayer local function setupCharacter(character) local humanoid = character:WaitForChild("Humanoid") local DEFAULT_JUMP = humanoid.JumpPower -- Animation local animation = Instance.new("Animation") animation.AnimationId = "rbxassetid://112522355894937" local animTrack = humanoid:LoadAnimation(animation) animTrack.Looped = false -- GUI local playerGui = player:WaitForChild("PlayerGui") local screenGui = playerGui:FindFirstChild("RocketJumpGUI") if not screenGui then screenGui = Instance.new("ScreenGui") screenGui.Name = "RocketJumpGUI" screenGui.Parent = playerGui local button = Instance.new("TextButton") button.Name = "RocketButton" button.Parent = screenGui button.Size = UDim2.new(0, 60, 0, 60) button.Position = UDim2.new(1, -70, 0, 10) button.AnchorPoint = Vector2.new(1, 0) button.BackgroundColor3 = Color3.fromRGB(255, 0, 0) button.Text = "Extra Jump" button.TextScaled = true button.Font = Enum.Font.SourceSansBold button.TextColor3 = Color3.fromRGB(255, 255, 255) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = button button.MouseButton1Click:Connect(function() if not character or not character.Parent then return end -- Stop animation if already playing if animTrack.IsPlaying then animTrack:Stop() end -- Set jump power humanoid.JumpPower = 60 -- Play animation animTrack:Play() -- Jump humanoid:ChangeState(Enum.HumanoidStateType.Jumping) -- 🔥 Reset JumpPower after 1 second task.delay(1, function() if humanoid then humanoid.JumpPower = DEFAULT_JUMP end end) end) end end -- Run on spawn + respawn if player.Character then setupCharacter(player.Character) end player.CharacterAdded:Connect(setupCharacter)