AnimationTrackLimit 256 reached

Hey! So I got a very wheird bug goign on in my game: After I have added Duo-Emotes, an error would come up after some time saying that the AnimationTrackLimit of 256 have been reached. Funny now is, that the duo emotes will still play but NOT the animations in the main animation script. Another thing is, that they then went wont play for newer people too. Like the error occured in a server, I joined and I wasn’t able to use any animations from the main animation script either. I can’t find any bug and I don’t know why the it errors the AnimationTrackLimit 256 error. I am already storing all the animations in a table and only load them once, same goes for the emotes script. Please don’t mind it’s kinda messy but does anyone know where the issue could be? Another thing to note is, that in this case the sitting animations still work. Just when I try to stop them, I can’t. :sob: :pray:

local AnimationsHandler = {}
local loadedAnims = {}

local seats
local animations = {	
	["SitAnim#1"] = 11946845593,
	["SitAnim#2"] = 11946846329,
	["SitAnim#3"] = 11946847040,
	["SitAnim#4"] = 11946847861,
	["SitAnim#5"] = 11946848574,
	["SitAnim#6"] = 11946849394,
	["SitAnim#7"] = 11946850175,
	["SitAnim#8"] = 11946851094,
	["SitAnim#9"] = 11946851968,
	["SitAnim#10"] = 11946844784,
	["SitAnim#11"] = 11946770808,
	["SitAnim#12"] = 11946771885,
	["SitAnim#13"] = 11946772717,
	["SitAnim#14"] = 11946773506,
	["SitAnim#15"] = 11946774101,
	["SitAnim#16"] = 11946774870,
	["SitAnim#17"] = 11946775640,
	["SitAnim#18"] = 11946751751,
	["LayAnim#1"] = 18294529369,
	["CouchAnim#1"]	= 13166293357,
	["CouchAnim#2"]	= 13166322106,
	["CouchAnim#3"]	= 13166361523,
	["CouchAnim#4"]	= 13166364821,
	["CouchAnim#5"]	= 13166367947,
	["LeanAnim#1"] = 11946753560,
	["LeanAnim#2"] = 11946754625,
	["LeanAnim#3"] = 11946758417,
	["LeanAnim#4"] = 11946759611,
	["LeanAnim#5"] = 11946767498,
	["DrinkAnim#1"] = 11946786639,
	["MicHold"] = 15704383437,
	["PianoSit"] = 13204450203,
	["SpecialSit"] = 13215986549,
	["CapAnim#1"] = 11946787658,
	["DrummerSeat"] = 15700966125,
	["DoubleBassAnim"] = 15701190039,
	["BlanketAnim#1"] = 16830427993,
	--- FOODS
	["English Breakfast"] = 14768429538,
	["Beef Wellington"] = 14768429538,
	["Chicken Tikka"] =  14768458401,
	["Fish N' Chips"] = 14768429538,
	["Lobster"] = 14768429538,
	["Macaroni Cheese"] = 14768444015,
	["Salmon"] = 14768429538,
	["Spaghetti"] = 14768449373,
	["Sushi"] = 14768334751,
	["Tomato Soup"] = 14768458401,
	["Tarantula Temptation"] = 14768429538,
	["Gingerbread"] = 14768429538,
	--- DRINKS
	--14940456508
	["Agua Fresca"] = 18294690639,
	["Blueberry Bliss"] = 18294690639,
	["Charcoal Squash"] = 18294690639,
	["Dragonfruit Splash"] = 18294690639,
	["English Tea"] = 18294690639,
	["Iced Caramel Latte"] = 18294690639,
	["Iced Tea"] = 18294690639,
	["Orange Juice"] = 18294690639,
	["Pineapple Punch"] = 18294690639,
	["Pink Lemonade"] = 18294690639,
	["Shirley Temple"] = 18294690639,
	["Water"] = 18294690639,
	["Scarlet Sip"] = 18294690639,
	["Hot Chocolate"] = 18294690639,
}


function AnimationsHandler:Preload()
	seats = workspace:FindFirstChild("AnimSeats")
	print("Animation Seats loaded!")
end

function AnimationsHandler:Step(Delta:number)
end

function playAnim(animation, player)
	local a = Instance.new("Animation") a.AnimationId = "rbxassetid://" .. animations[animation]
	local anim = nil
	if loadedAnims[player] then
		if loadedAnims[player][animations[animation]] then
			anim = loadedAnims[player][animations[animation]]
		end
	end
	if anim == nil then
		anim = player.Character.Humanoid.Animator:LoadAnimation(a)
		if loadedAnims[player] then
			loadedAnims[player][animations[animation]] = anim
		else
			loadedAnims[player] = {}
			loadedAnims[player][animations[animation]] = anim
		end
	end
	print(loadedAnims)
	anim.Name = animation
	--local anim = player.Animations:FindFirstChild(animation).Value

	if animation == "DrummerSeat" then
		warn("Attaching sticks")
		local newLeftStick = game.ServerStorage.Sticks["Left Stick"]:Clone()
		newLeftStick.Parent = player.Character["Left Arm"]
		local newMotorLeft = game.ServerStorage.Sticks["Left StickMotor"]:Clone()
		newMotorLeft.Parent = player.Character["Left Arm"]
		newMotorLeft.Part0 = player.Character["Left Arm"]
		newMotorLeft.Part1 = newLeftStick

		local newRightStick = game.ServerStorage.Sticks["Right Stick"]:Clone()
		newRightStick.Parent = player.Character["Right Arm"]
		local newMotorRight = game.ServerStorage.Sticks["Right StickMotor"]:Clone()
		newMotorRight.Parent = player.Character["Right Arm"]
		newMotorRight.Part0 = player.Character["Right Arm"]
		newMotorRight.Part1 = newRightStick

		for i,v in pairs(game.Workspace["Drum Kit"].Drummer.Motors.HumanoidRootPartMAIN:GetChildren()) do
			if v:IsA("Motor6D") then
				local newMotor = v:Clone()
				newMotor.Parent = player.Character.HumanoidRootPart
				v.Part0 = nil
				newMotor.Part0 = player.Character.HumanoidRootPart
				newMotor.Part1 = v.Part1
			end
		end

		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalCrash") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.Anchored = false
		end
		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalRIde") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.Anchored = false
		end
		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatTop") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.Anchored = false
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bott.Anchored = false
		end
		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatBot") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.Anchored = false
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bott.Anchored = false
		end

		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]:FindFirstChild("Bass Paddle") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Anchored = false
			for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:GetChildren()) do
				if v:IsA("MeshPart") or v:IsA("Part") then
					v.Anchored = false
				end
			end
			for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Spring:GetChildren()) do
				if v:IsA("MeshPart") or v:IsA("Part") then
					v.Anchored = false
				end
			end
		end

		if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]:FindFirstChild("HiHat Paddle") then
			game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Anchored = false
			for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:GetChildren()) do
				if v:IsA("MeshPart") or v:IsA("Part") then
					v.Anchored = false
				end
			end
			for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Spring:GetChildren()) do
				if v:IsA("MeshPart") or v:IsA("Part") then
					v.Anchored = false
				end
			end
		end
	end

	if animation == "DoubleBassAnim" then
		warn("Attaching double bass")
		local newMotor = game.ServerStorage.BassMotors["Double Bass"]:Clone()
		newMotor.Parent = player.Character.Torso
		newMotor.Part0 = player.Character.Torso
		newMotor.Part1 = game.Workspace.DoubleBass["Double Bass"]
		game.Workspace.DoubleBass["Double Bass"].Anchored = false
	end
	anim:Play()
end

function stopAnim(animation, player)
	for i, animTrack in pairs(player.Character.Humanoid.Animator:GetPlayingAnimationTracks()) do
		if animation == "StopSeatAnimations" then
			if string.find(animTrack.Name, "SitAnim") or string.find(animTrack.Name, "LeanAnim") then

				if animation == "DrummerSeat" then
					if player.Character["Left Arm"]:FindFirstChild("Left Stick") then
						player.Character["Left Arm"]["Left Stick"]:Destroy()
						player.Character["Left Arm"]["Left StickMotor"]:Destroy()
					end
					if player.Character["Right Arm"]:FindFirstChild("Right Stick") then
						player.Character["Right Arm"]["Right Stick"]:Destroy()
						player.Character["Right Arm"]["Right StickMotor"]:Destroy()
					end
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer.Motors.HumanoidRootPartMAIN:GetChildren()) do
						if v:IsA("Motor6D") then
							v.Part0 = game.Workspace["Drum Kit"].Drummer.Motors.HumanoidRootPartMAIN
							if player.Character.HumanoidRootPart:FindFirstChild(v.Name) then
								player.Character.HumanoidRootPart[v.Name]:Destroy()
							end
						end
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalCrash") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.Anchored = true
					end
					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalRIde") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.Anchored = true
					end
					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatTop") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.Anchored = true
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bott.Anchored = true
					end
					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatBot") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.Anchored = true
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bott.Anchored = true
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]:FindFirstChild("Bass Paddle") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Anchored = true
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.Anchored = true
							end
						end
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Spring:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.Anchored = true
							end
						end
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]:FindFirstChild("HiHat Paddle") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Anchored = true
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.Anchored = true
							end
						end
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Spring:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.Anchored = true
							end
						end
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalCrash") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.CymbalCrashOriginal.Value
					end
					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalRIde") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.CymbalRIdeOriginal.Value
					end
					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatTop") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.HiHatTopOriginal.Value
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bott.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bottOriginal.Value
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatBot") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.HiHatBotOriginal.Value
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bott.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bottOriginal.Value
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]:FindFirstChild("Bass Paddle") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:FindFirstChild("Bass PaddleOriginal").Value
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.CFrame = v:FindFirstChild(v.Name.."Original").Value
							end
						end
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Spring:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.CFrame = v:FindFirstChild(v.Name.."Original").Value
							end
						end
					end

					if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]:FindFirstChild("HiHat Paddle") then
						game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:FindFirstChild("HiHat PaddleOriginal").Value
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.CFrame = v:FindFirstChild(v.Name.."Original").Value
							end
						end
						for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Spring:GetChildren()) do
							if v:IsA("MeshPart") or v:IsA("Part") then
								v.CFrame = v:FindFirstChild(v.Name.."Original").Value
							end
						end
					end
				end

				if animation == "DoubleBassAnim" then
					if player.Character.Torso:FindFirstChild("Double Bass") then
						player.Character.Torso["Double Bass"]:Destroy()
						game.Workspace.DoubleBass["Double Bass"].Anchored = true
						game.Workspace.DoubleBass["Double Bass"].CFrame = game.Workspace.DoubleBass.NormalPos
					end
				end

				animTrack:Stop()
			end
		end
		if animTrack.Name == animation then

			if animation == "DrummerSeat" then
				if player.Character["Left Arm"]:FindFirstChild("Left Stick") then
					player.Character["Left Arm"]["Left Stick"]:Destroy()
					player.Character["Left Arm"]["Left StickMotor"]:Destroy()
				end
				if player.Character["Right Arm"]:FindFirstChild("Right Stick") then
					player.Character["Right Arm"]["Right Stick"]:Destroy()
					player.Character["Right Arm"]["Right StickMotor"]:Destroy()
				end
				for i,v in pairs(game.Workspace["Drum Kit"].Drummer.Motors.HumanoidRootPartMAIN:GetChildren()) do
					if v:IsA("Motor6D") then
						v.Part0 = game.Workspace["Drum Kit"].Drummer.Motors.HumanoidRootPartMAIN
						if player.Character.HumanoidRootPart:FindFirstChild(v.Name) then
							player.Character.HumanoidRootPart[v.Name]:Destroy()
						end
					end
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalCrash") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.Anchored = true
				end
				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalRIde") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.Anchored = true
				end
				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatTop") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.Anchored = true
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bott.Anchored = true
				end
				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatBot") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.Anchored = true
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bott.Anchored = true
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]:FindFirstChild("Bass Paddle") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Anchored = true
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.Anchored = true
						end
					end
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Spring:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.Anchored = true
						end
					end
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]:FindFirstChild("HiHat Paddle") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Anchored = true
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.Anchored = true
						end
					end
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Spring:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.Anchored = true
						end
					end
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalCrash") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalCrash.CymbalCrashOriginal.Value
				end
				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("CymbalRIde") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].CymbalRIde.CymbalRIdeOriginal.Value
				end
				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatTop") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.HiHatTopOriginal.Value
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bott.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatTop.bottOriginal.Value
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]:FindFirstChild("HiHatBot") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.HiHatBotOriginal.Value
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bott.CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"].HiHatBot.bottOriginal.Value
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]:FindFirstChild("Bass Paddle") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:FindFirstChild("Bass PaddleOriginal").Value
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"]:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.CFrame = v:FindFirstChild(v.Name.."Original").Value
						end
					end
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["Bass Paddle"]["Bass Paddle"].Spring:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.CFrame = v:FindFirstChild(v.Name.."Original").Value
						end
					end
				end

				if game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]:FindFirstChild("HiHat Paddle") then
					game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].CFrame = game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:FindFirstChild("HiHat PaddleOriginal").Value
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"]:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.CFrame = v:FindFirstChild(v.Name.."Original").Value
						end
					end
					for i,v in pairs(game.Workspace["Drum Kit"].Drummer["Drum Kit"]["Moving Bits"]["HiHat Paddle"]["HiHat Paddle"].Spring:GetChildren()) do
						if v:IsA("MeshPart") or v:IsA("Part") then
							v.CFrame = v:FindFirstChild(v.Name.."Original").Value
						end
					end
				end
			end

			if animation == "DoubleBassAnim" then
				if player.Character.Torso:FindFirstChild("Double Bass") then
					player.Character.Torso["Double Bass"]:Destroy()
					game.Workspace.DoubleBass["Double Bass"].Anchored = true
					game.Workspace.DoubleBass["Double Bass"].CFrame = game.Workspace.DoubleBass.NormalPos.CFrame
				end
			end
			wait()
			animTrack:Stop()
		end
	end
	--local anim = player.Animations:FindFirstChild(animation).Value
	--anim:Stop()
end

function AnimationsHandler:Start()
	self:ListenToClientEvent("LoadAnimations", function(player)
		--[[for name, animId in pairs(animations) do
			local anim = Instance.new("Animation") 
			anim.AnimationId = "rbxassetid://" .. animId
			local track = player.Character.Humanoid.Animator:LoadAnimation(anim)

			if not player:FindFirstChild("Animations") then
				local folder = Instance.new("Folder", player) folder.Name = "Animations"
			end
			local objectValue = Instance.new("ObjectValue", player.Animations)
			objectValue.Name = name
			objectValue.Value = track
		end--]]
	end)

	self:ListenToClientEvent("PlayAnim", function(player, animation)
		playAnim(animation, player)
	end)
	self:ListenToClientEvent("StopAnim", function(player, animation)
		stopAnim(animation, player)
	end)

	for i, seat in pairs(seats:GetChildren()) do
		if seat:FindFirstChild("ProximityPrompt") then
			seat.ProximityPrompt.Triggered:Connect(function(player)
				if seat.Occupant ~= nil then
					local player = game.Players:GetPlayerFromCharacter(seat.Occupant.Parent)
					--local animation = seat:FindFirstChild("Animation")
					local animation = seat.Name
					playAnim(animation, player)
					self:FireClient(player, "AddAnim", animation)
				else
					seat:Sit(player.Character.Humanoid)
					local player = game.Players:GetPlayerFromCharacter(seat.Occupant.Parent)
					--local animation = seat:FindFirstChild("Animation")
					local animation = seat.Name
					playAnim(animation, player)
					self:FireClient(player, "AddAnim", animation)
				end
			end)
		end
	end
end

game.Players.PlayerRemoving:Connect(function(player)
	if loadedAnims[player] then
		for i,v in pairs(loadedAnims[player]) do
			v:Destroy()
		end
		loadedAnims[player] = nil
	end
end)

return AnimationsHandler

Part of the server side:

		self:ListenToServerEvent("AddAnim", function(animation)
			local v = Instance.new("BoolValue", char)
			v.Name = animation
		end)

		humanoid.Changed:Connect(function()
			if humanoid.Jump == true then
				if char:FindFirstChildWhichIsA("BoolValue") then
					self:FireServer("StopAnim", char:FindFirstChildWhichIsA("BoolValue").Name)
					self:FireServer("StopAnim", "StopSeatAnimations")
					char:FindFirstChildWhichIsA("BoolValue"):Destroy()
				end
			end
			if humanoid.MoveDirection ~= Vector3.new(0, 0, 0) and humanoid.Seated == false then
				if char:FindFirstChildWhichIsA("BoolValue") then
					self:FireServer("StopAnim", char:FindFirstChildWhichIsA("BoolValue").Name)
					char:FindFirstChildWhichIsA("BoolValue"):Destroy()
					self:FireServer("StopAnim", "StopSeatAnimations")
				end
			end
		end)

Help is very much appreciated. :pray:

your loading the animations everytime you want to play them, which is the reason why there are so many tracks

I do not. I am creating a new instance as I see right now but that isn’t really the big issue and this one is not causing it. I am doing this:

	if loadedAnims[player] then
		if loadedAnims[player][animations[animation]] then
			anim = loadedAnims[player][animations[animation]]
		end
	end
	if anim == nil then
		anim = player.Character.Humanoid.Animator:LoadAnimation(a)
		if loadedAnims[player] then
			loadedAnims[player][animations[animation]] = anim
		else
			loadedAnims[player] = {}
			loadedAnims[player][animations[animation]] = anim
		end
	end

which checks if the player has an entry in the table and if not, it makes one and loads the animation. If there is an entry and the animation track is saved in there, it just grabs it out of the table.

Alright, I fixed the bug. The Duo-Emotes indeed did nothing. We have 2 animations script which are working together and the 1 animation script errored due to something disappeared in the game which I have fixed now. Therefore, it didn’t detect any tool click to run the animation / doesn’t create a value to stop the seat animation OR to even detect the jump to stop the seat animation. Since the seat anim is being played in the main script, this one still worked. It would just not stop bcs the other script wouldn’t detect it. I asume the max animation tracks originate from players using like 256 a seat and therefore it created more and more animation tracks. It has all been fixed now.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.