+xHi,
I have a problem with a script that was running on Inquisit 5.
In my block, I define the value of an expression (condition):
<block conditioning_repeat>
/ preinstructions = (instru_conditioning_repeat)
/ onblockbegin = [ expressions.condition = "repeat" ]
/ trials = [ 1-2 = noreplacenorepeat( training_1_positive, training_2_negative);
3-22 = noreplacenorepeat( A_positive, B_positive,
D_negative, E_negative, ); ]
/ screencolor = grey
</block>
In my trial, I define a branch depending of this expression's value :
<trial A_positive>
/ stimulustimes=[ 0 = amorce; 500 =A ; 2000 = eraser, Pos1 ]
/ timeout = parameters.trial_duration
/ branch = [ if (expressions.condition == "repeat") trial.repeat ]
/ branch = [ if (expressions.condition == "think") trial.think ]
/ branch = [ if (expressions.condition == "control") trial.control ]
/ branch = [ if (expressions.condition == "control_time") trial.control_time ]
</trial>
However, the branch do not work anymore.
Any idea ? (script attached)
Setting expressions like that is no longer allowed under Inquisit 6 (it's unsafe and always has been). The correct way to do this is to use values.
<values>
/ condition = ""
</values>
<block conditioning_repeat>
/ preinstructions = (instru_conditioning_repeat)
/ onblockbegin = [ values.condition = "repeat" ]
/ trials = [ 1-2 = noreplacenorepeat( training_1_positive, training_2_negative);
3-22 = noreplacenorepeat( A_positive, B_positive,
D_negative, E_negative, ); ]
/ screencolor = grey
</block>
In my trial, I define a branch depending of this expression's value :
<trial A_positive>
/ stimulustimes=[ 0 = amorce; 500 =A ; 2000 = eraser, Pos1 ]
/ timeout = parameters.trial_duration
/ branch = [ if (values.condition == "repeat") trial.repeat ]
/ branch = [ if (values.condition == "think") trial.think ]
/ branch = [ if (values.condition == "control") trial.control ]
/ branch = [ if (values.condition == "control_time") trial.control_time ]
</trial>