It’s a bad practice to have multiple scripts that do the same thing. Instead you should put all these stages into a folder and loop through them. Once you have done that then you need to set all the sound’s Looped property to false and Playing property to false. We do not want these sounds to loop or play when the game starts.
When the player steps on one of stage parts then you could do something like this:
...
Sound1:Play()
Sound1.Ended:Wait()
Sound2:Play()
...
This code will play one sound and once that finishes it plays the final sound.
This code will not work the intended way if you do not add a debounce, so if you do not know about debounce, I suggest you check out this thread: Best way to do a debounce - #7 by MuffinHandler