Morph animation overlaps each other

When I try moving with my character, some parts that are supposed to move don’t.

I don’t know if this is the overlapping issue, but I’ve had this problem with morphs for a long time.

This is the script

repeat task.wait() until script:FindFirstChildWhichIsA(“Animation”)

local idleAnim = script.Parent.Humanoid:LoadAnimation(script.Idle)
idleAnim.Looped = true
idleAnim.Priority = Enum.AnimationPriority.Idle
local runAnim = script.Parent.Humanoid:LoadAnimation(script.Walk)
runAnim.Looped = true
runAnim.Priority = Enum.AnimationPriority.Movement
local jumpAnim = script.Parent.Humanoid:LoadAnimation(script.Jump)
jumpAnim.Looped = true
jumpAnim.Priority = Enum.AnimationPriority.Movement
local climbAnim = script.Parent.Humanoid:LoadAnimation(script.Fall)
climbAnim.Looped = true
climbAnim.Priority = Enum.AnimationPriority.Movement
local fallAnim = script.Parent.Humanoid:LoadAnimation(script.Fall)
fallAnim.Looped = true
fallAnim.Priority = Enum.AnimationPriority.Movement
local swimAnim = script.Parent.Humanoid:LoadAnimation(script.Fall)
swimAnim.Looped = true
swimAnim.Priority = Enum.AnimationPriority.Movement
local sitAnim = script.Parent.Humanoid:LoadAnimation(script.Idle)
sitAnim.Looped = true
sitAnim.Priority = Enum.AnimationPriority.Movement

game[“Run Service”].Heartbeat:Connect(function()
if script.Parent.HumanoidRootPart.Velocity.Magnitude > 0.1 then
if script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Dead then
for _, i in script.Parent.Humanoid:GetPlayingAnimationTracks() do
i:Stop()
end
elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Seated then
if not sitAnim.IsPlaying then

			sitAnim:Play()
		end
	elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Jumping then
		if not jumpAnim.IsPlaying then

			jumpAnim:Play()
		end
	elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Climbing then
		if not climbAnim.IsPlaying then

			climbAnim:Play()
		end
	elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Freefall then
		if not fallAnim.IsPlaying then

			fallAnim:Play()
		end
	elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Swimming then
		if not swimAnim.IsPlaying then

			swimAnim:Play()
		end
	elseif script.Parent.Humanoid:GetState() == Enum.HumanoidStateType.Running then
		if not runAnim.IsPlaying then

			runAnim:Play()
		end
	end
else
	for _, i in script.Parent.Humanoid:GetPlayingAnimationTracks() do
		if i.Name ~= "Idle" then
			i:Stop()
		end
	end
	if not idleAnim.IsPlaying then
		idleAnim:Play()
	end
end

end)

Thank you for the support

1 Like