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
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?
no
Your whole third script can be replaced by https://codeshare.io/GLz0NK
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