There's this script I have that is supposed to make music play in shuffled order. The only problem once the first song is over, it plays the first song again without transitioning to the next one.
math.randomseed(tick())
math.random() -- throw out first not-very-random value (known limitation of lua)
musicTable = --Making a table of music / your songs
{
"rbxassetid://142305080", -- 1 - Let's Groove
"rbxassetid://671389213", -- 2 - Can't Touch This
"rbxassetid://609246843", -- 3 - Take on Me
"rbxassetid://1100823134", -- 4 - At Dawn
"rbxassetid://681266896", -- 5 - Safety Dance
"rbxassetid://323743169", -- 6 - Working for the Weekend
"rbxassetid://442656036", -- 7 - Don't you (Forget About Me)
"rbxassetid://706699539", -- 8 - Beat it
"rbxassetid://838691861" -- 9 - Hey you, you better keep walking!
}
while true do
--Shuffle
local index = math.random(1, #musicTable - 1) -- choose an item not from the end
musicTable[1], musicTable[index] = musicTable[index], musicTable[1] -- switch with first item
for i = 2, #musicTable-1 do -- do regular shuffle algorithm starting at 2nd item
index = math.random(i, #musicTable)
musicTable[i], musicTable[index] = musicTable[index], musicTable[i]
end
--Play music
for i = 1, #musicTable do
wait(1) -- Just creating a small pause before a random song plays
script.Parent.SoundId = musicTable[i] --Choose song
script.Parent:Play() --Play song
script.Parent.Ended:wait() -- Waiting until the song has finished
end
end
How can I fix this?

1 comment
I have a fix for it. I'm testing it