Millisecond Forums

trials in a block go on forever and never go to the next block

https://forums.millisecond.com/Topic28838.aspx

By xizhouxie - 4/23/2020

Hi! I have this block with 90 trials that includes Aci and ACg. The ACi and ACg are attention checks. When someone gets that wrong, the incorrectresponsetrial value becomes 1, and experiment ends. This works perfectly. But when I never get these attention checks wrong, the trials go beyond 90 and never end unless I quit. Could you tell me how to fix that? 


<block pretest>
/ screencolor = (255, 255, 255)
/ preinstructions = (intro, up,up2,bw)
/ trials = [ 1-90 = sequence(FocalBM,ACg, FocalBM,Filler,FocalBM,FocalBM,
FocalBM,FocalBM,ACi,FocalBM, Filler,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
Filler,Filler,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM, ACg,FocalBM,
FocalBM, Filler, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM, ACi, FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM, ACi, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM, ACg,
Filler, FocalBM, Filler, FocalBM, Filler,
FocalBM, FocalBM, Filler, Filler, FocalBM, ACi, Filler, FocalBM, Filler,
Filler, FocalBM, Filler, FocalBM, Filler,
Filler ) ]

</block>


<trial ACg>
/ validkeys = ("i", "g")
/ stimulustimes = [0=eraseword; 1 = ACg; 2= shape_rect1; 3=shape_rect2;]
/ correctresponse = ("g")
/ ontrialbegin = [values.incorrectresponsetrial = 0]
/ branch = [if (trial.ACg.error) trial.error]
</trial>
 
(same goes for ACi)

<trial error>
/ validkeys = ("k")
/ stimulusframes = [1=ACerrormessage]
/ ontrialend = [values.incorrectresponsetrial = 1]
</trial>

<expt Pretest>
/ subjects = (1 of 1)
/ blocks = [ 1=pretest; 2=demographics;3=mturk]
/ quit = [values.incorrectresponsetrial == 1 ]

</expt>
By Dave - 4/23/2020

xizhouxie - 4/23/2020
Hi! I have this block with 90 trials that includes Aci and ACg. The ACi and ACg are attention checks. When someone gets that wrong, the incorrectresponsetrial value becomes 1, and experiment ends. This works perfectly. But when I never get these attention checks wrong, the trials go beyond 90 and never end unless I quit. Could you tell me how to fix that? 


<block pretest>
/ screencolor = (255, 255, 255)
/ preinstructions = (intro, up,up2,bw)
/ trials = [ 1-90 = sequence(FocalBM,ACg, FocalBM,Filler,FocalBM,FocalBM,
FocalBM,FocalBM,ACi,FocalBM, Filler,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
Filler,Filler,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM, ACg,FocalBM,
FocalBM, Filler, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM, ACi, FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM, ACi, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM, ACg,
Filler, FocalBM, Filler, FocalBM, Filler,
FocalBM, FocalBM, Filler, Filler, FocalBM, ACi, Filler, FocalBM, Filler,
Filler, FocalBM, Filler, FocalBM, Filler,
Filler ) ]

</block>


<trial ACg>
/ validkeys = ("i", "g")
/ stimulustimes = [0=eraseword; 1 = ACg; 2= shape_rect1; 3=shape_rect2;]
/ correctresponse = ("g")
/ ontrialbegin = [values.incorrectresponsetrial = 0]
/ branch = [if (trial.ACg.error) trial.error]
</trial>
 
(same goes for ACi)

<trial error>
/ validkeys = ("k")
/ stimulusframes = [1=ACerrormessage]
/ ontrialend = [values.incorrectresponsetrial = 1]
</trial>

<expt Pretest>
/ subjects = (1 of 1)
/ blocks = [ 1=pretest; 2=demographics;3=mturk]
/ quit = [values.incorrectresponsetrial == 1 ]

</expt>

1-90 = sequence(FocalBM,ACg, FocalBM,Filler,FocalBM,FocalBM,
FocalBM,FocalBM,ACi,FocalBM, Filler,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
Filler,Filler,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM, ACg,FocalBM,
FocalBM, Filler, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM, ACi, FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM, ACi, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM, ACg,
Filler, FocalBM, Filler, FocalBM, Filler,
FocalBM, FocalBM, Filler, Filler, FocalBM, ACi, Filler, FocalBM, Filler,
Filler, FocalBM, Filler, FocalBM, Filler,
Filler ) ]

means you are running that entire sequence of trials 90 times, it doesn't mean you're running only a total amount of 90 trials.

if you only want to run the sequence of trials once, specify

1 = sequence(FocalBM,ACg, FocalBM,Filler,FocalBM,FocalBM,
FocalBM,FocalBM,ACi,FocalBM, Filler,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
Filler,Filler,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,ACg,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM, ACg,FocalBM,
FocalBM, Filler, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM, ACi, FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM, ACi, FocalBM,FocalBM,FocalBM,FocalBM,
FocalBM,FocalBM,FocalBM,FocalBM,FocalBM, ACg,
Filler, FocalBM, Filler, FocalBM, Filler,
FocalBM, FocalBM, Filler, Filler, FocalBM, ACi, Filler, FocalBM, Filler,
Filler, FocalBM, Filler, FocalBM, Filler,
Filler ) ]
By xizhouxie - 4/23/2020

Thanks Dave! I did not know that.