How to stop the character from sliding after playing an animation?

I’m trying to make a backdash script, but it keeps sliding instead of just staying on the position it ended the animation in.

local Players = game.Players
local Player = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local Animator = Humanoid:WaitForChild("Animator")
local BackDashAnim = Instance.new("Animation")
BackDashAnim.AnimationId = "rbxassetid://id"
local Camera = workspace.Camera
local BackDaskAnimTrack = Animator:LoadAnimation(BackDashAnim)
local RootPart = Character:WaitForChild("HumanoidRootPart")
local Head = Character:WaitForChild("Head")
BackDaskAnimTrack.Priority = Enum.AnimationPriority.Action
local function BackDashAnimationPlayer(Player)
	BackDaskAnimTrack:Play()
	Humanoid.WalkSpeed = 0
	Camera.CameraSubject = Character:WaitForChild("Head")
	Humanoid.JumpPower = 0
	BackDaskAnimTrack.Stopped:Wait()
	RootPart.CFrame = Character:WaitForChild("UpperTorso").CFrame
	Humanoid.WalkSpeed = 16
	Camera.CameraSubject = Humanoid
	Humanoid.JumpPower = 50
end
local function BackDash(Input, Typing)
	if not Typing then
		if Input.KeyCode == Enum.KeyCode.X then
			BackDashAnimationPlayer()
		end
	end
end
UserInputService.InputBegan:Connect(BackDash)

Thanks for reading!

2 Likes