Interrupt a blueprint at any time

HI,
i have a problem, i have a blueprint set up with a bunch of instructions along with multiple delays in my level blueprint (i don’t even know if it’s correct).
Now the blueprint is set up to start, execute start all the main components (setup kinect integration and voice commands), then go in a loop where a character picks a random phrase (animation plus sound) and wait for an user response, goes to another sentence, wait and so on.
The problem is that i need to set up a parallel timer that after the loop starts picks up a random number, at the end of the timer it needs to stop the loop (even while it is in a delay) and restart it from the random phrase section.
If i set the random variable interval with a low range (let’s say 10-20 seconds) everything works, animation changes and everything goes well, but that’s too low. if i set the interval higher (60-120 seconds) it meets some delays and the preview crashes.

how am i supposed to handle this kind of situation? i don’t know if i should use behavior trees or something different
please help or ask me more details if i’m missing something

For everyone interested i solved the problem by rethinking the whole algorithm. Now when the first set of actions starts the level blueprint spawns an actor with the random delay and an event tick in the level blueprint checks if a boolean variable in the countdown actor is true. At the end of the set of delays, when the character stops talking a branch checks that variable, if it’s true it means the countdown has stopped and it goes back to the random sentence part, if it’s false it goes on with the user’s answer.

Thanks everybody, hope this helps, sometimes you just need to stop and think