Local Script inside the Screen GUI:

local music = script.Parent.TextButton.BGM

script.Parent.TextButton.MouseButton1Click:Connect(function()
	
if music.Volume == 0 then
	
	music.Volume = 2.5
	
	else
		
	 music.Volume = 0
end
end)

Local script inside the Text Button:

local sound = script.Parent.BGM
local muted = false
script.Parent.MouseButton1Click:Connect(function()
	if muted then
		sound:Resume()
		muted= false
		script.Parent.Text = "Mute Music"
	else
		sound:Pause()
		muted = true
		script.Parent.Text = "Unmute Music"
		end
end)

script inside the sound inside the text button:

local AudioID = {1298214499, 5159471353, 5159473701, 5159478553, 5159755672, 154880454, 214234277, 1450112245, 4597664158, 
	5402092539, 5402085784, 5402086833, 5402088209, 5402091168, 5402093635, 5402094226}
local Music = script.Parent

  
while true do
  for Index, ID in pairs(AudioID) do
		Music.SoundId = string.format("rbxassetid://%i", ID)
    Music:Play()
    Music.Ended:Wait()
  end
end

I dont get any error from any of them, how come it just wont play the next song after playing the first, then when i mute and unmute it, it just goes back to the song it played?

4 comments

0

I think it might be something wrong with the "music.Ended" thing. Looks like it is defined like an event? Is it supposed to be a function? Is there a part that controls ".Ended" behaviour?

0

no

0

Your whole third script can be replaced by https://codeshare.io/GLz0NK

0

the first song ended and didnt play the next, then when the second song eneded it went to the next one but the thrid song just randomly stopped in the middle of playing