Null Trials not timing out?

I’m trying to add Null trials to an experiment by having a Null routine, then nesting it in a loop where nReps is either 0 or 1 to make it either skip the Null Trial or play it depending on which trial beforehand is selected in my Trial Definition File

The routine is definitely set to expire after a time because it’s in green; and the routine is in a nested loop where nReps is set to my condition ‘Null’ in the Trial Definition File (see below)

If Null = 0 then the runner successfully passes over NullTrial and restarts the loop, but if Null = 1, it loads the Null Trial as expected but it’s not timing out and it’s just leaving the null trial on the screen forever, even though I’ve set it to expire.

Does anyone know what I’m missing to actually make the Null Trial time out and reset the loop?

Hello Ram,

if Null = 1 then StudyNull loops $Block-times.

Best wishes Jens

Oh okay, I took a bit of a wide-net approach and put everything in one of my blocks into one condition file, but it’s looking like it’s causing this issue then. I’ll make several smaller ones that make up each phase within the block and see how that changes things

Hello Ram,

another approach is to delete the loop, test for a condition and either continue the routine or not, e.g.

if not Null:
    continueRoutine = False

So add a code-component with this code-snippet to StudyNull and move it to the top row of all components.

Best wishes Jens

Hi Jens,

Your first comment was right, I was calling the condition file within the nested loop, so it was basically trying to play out the whole block underneath the display of the Null Trial. It’s fixed now and working successfully. Thank you so much!