local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local root = character:WaitForChild("HumanoidRootPart") local animation = Instance.new("Animation") animation.AnimationId = "rbxassetid://97808790386190" local track = humanoid:LoadAnimation(animation) track.Priority = Enum.AnimationPriority.Action track.Looped = false local playing = false local function snapBackwards() root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(180), 0) end local function playMove() if playing then return end playing = true snapBackwards() track:Play() track:AdjustSpeed(1) track.TimePosition = 2.7 task.delay(3, function() if track.IsPlaying then track:Stop() end end) end track.Stopped:Connect(function() root.CFrame = root.CFrame * CFrame.new(0, 0, 17) snapBackwards() playing = false end) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.C then playMove() end end)