Help with my Local GUI Animation GUI, mouseclick

How do I change it everytime a player clicks this frame It’ll stop any animation that’s playing everytime they switch from dance to emote in the GUI, here’s the next frame, and previous frame script.

Next:

	script.Parent.Parent.Credit.Visible = false;
	script.Parent.Parent.Open.Text = "Emotes";
end);

Previous:
```script.Parent.MouseButton1Click:connect(function()
	script.Parent.Parent.Credit.Visible = not script.Parent.Parent.Credit.Visible;
	script.Parent.Parent.Credit2.Visible = false;
	script.Parent.Parent.Open.Text = "Dances";
end);



(Note): It's the same local script in both GUI's which is Credit, and Credit 2 which is the "Emotes GUI" that shows after you click previous, or next.


```wait(.5)
local frame=script.Parent
local user=game.Players.LocalPlayer
repeat wait() until user.Character local char=user.Character
local humanoid=char:WaitForChild("Humanoid")
local anim
function playanim(id)
	if char~=nil and humanoid~=nil then
		local id="rbxassetid://"..tostring(id)
		local oldanim=char:FindFirstChild("LocalAnimation")
		if anim~=nil then
			anim:Stop()
		end
		if oldanim~=nil then
			if oldanim.AnimationId==id then
				oldanim:Destroy()
				return
			end
			oldanim:Destroy()
		end
		local animation=Instance.new("Animation",char)
		animation.Name="LocalAnimation"
		animation.AnimationId=id
		anim=humanoid:LoadAnimation(animation)
		anim:Play()
	end
end
local b1=frame.Button1
b1.MouseButton1Down:connect(function() playanim(b1.AnimID.Value) end)
local b2=frame.Button2
b2.MouseButton1Down:connect(function() playanim(b2.AnimID.Value) end)
local b3=frame.Button3
b3.MouseButton1Down:connect(function() playanim(b3.AnimID.Value) end)
local b4=frame.Button4
b4.MouseButton1Down:connect(function() playanim(b4.AnimID.Value) end)
local b5=frame.Button5
b5.MouseButton1Down:connect(function() playanim(b5.AnimID.Value) end)
local b6=frame.Button6
b6.MouseButton1Down:connect(function() playanim(b6.AnimID.Value) end)
local b7=frame.Button7
b7.MouseButton1Down:connect(function() playanim(b7.AnimID.Value) end)
local b8=frame.Button8
b8.MouseButton1Down:connect(function() playanim(b8.AnimID.Value) end)
local b9=frame.Button9
b9.MouseButton1Down:connect(function() playanim(b9.AnimID.Value) end)

Another (Note): It's working but if a player goes to the next GUI, aka next or previous and they click a button with another animation, it changes- but when they click the animation again, it plays the recent animation they've picked from the other GUI too, and I want it stop every gui at once credit and credit2, everytime a player switches from the next gui to the other gui, and they click another button with another gui it stops that animation, and if they switch from another category such as the other GUI and when they click another animation button I want it to stop the previous animation completely.

Please help me.
1 Like