There is a wait object that can put a delay into actions. It depends if you are trying to simply delay something within the action, or if you want it paused indefinitely.
To delay an action:
On <some condition>
--Do: create sprite1 at x,y
------ play sound "somesound.wav"
------ wait 2,000 ms
------ change animation to "DoneTaunting"
If you want the action paused indefinitely, then I have no idea how you might do that. I would look at using some kind of toggle condition rather than trying to switch at the action level. Something like:
Is global('Something') = 1
--Do: Set global('something') = 0
If you don't set it 0 immediately, then this action will repeat every tick (unless that's what you want it to do).
---- do other things
On SomeOtherCondition
--Do: set global('Something') = 1
Note:
I've found that wait acts strangely in loops. What I *think* is happening, is that each iteration of the loop starts another wait cycle in parallel, effectively nullifying it.
If I did:
ON SomeEvent
--Repeat 12 times
------- spawn an object
------- play a sound
------ wait 1000ms
I find that all 12 appear instantly, and all the sounds play seemingly at once. It's as though 12 'waits' are created simultaneously.