What's problem you are encountering?
I want to make the sound start when start is pressed, and then end when the stage receives a message, but then it won't play at all....
What have you tried that didn't work?
this won't play the sound file.
and it switches the music perfectly fine in the other script when you touch the red moving block when you die... Post a project example, link, or screenshot:
EDIT: I found a workaround, but I still can't have the sound repeat until message, I can only do it until it's done.
The "until done" means that the script is busy inside that block until the end of the sound you're playing. Only then can the REPEAT UNTIL check whether its condition is satisfied.
And also, that MESSAGE reporter reports the most recent message received, no matter how long ago that was. I think you think it reports True the moment that message arrives, and reports False at other times. But it's not a (hexagonal) predicate; it doesn't report True or False at all.
What I think you want to do is something like this: