I am currently working on an OLD/NEW Face Recognition task; the experiment is divided into two phases. In the first phase, participants see face stimuli that they have to memorize for the second phase of the experiment (20 trials). In the latter new and old face stimuli are shown, (48 trials), my main problem is that same new face stimuli are repeated within the same trial when they should appear only once per trial.
I put different trials according to the experimental phase in which are shown and if they are new or already presented.
This is my script:
<picture facestim>
/items = facestim
/select = values.facestim
/size = (80%, 80%)
/position = (50%, 50%)
</picture>
<trial facestimAF>
/stimulusframes = [1=facestim]
/validresponse = (30, 38)
/correctresponse = (30)
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.block==1) values.facestim=list.b1_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.block==1) values.facestim=list.b1_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.block==2) values.facestim=list.b2_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.block==2) values.facestim=list.b2_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.block==3) values.facestim=list.b3_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.block==3) values.facestim=list.b3_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.block==4) values.facestim=list.b4_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.block==4) values.facestim=list.b4_af_1.nextvalue]
</trial>
<trial facestimAF_p>
/stimulusframes = [1=facestim]
/validresponse = (16, 25)
/correctresponse = (16)
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==1) values.facestim=list.b1_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==1) values.facestim=list.b1_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==2) values.facestim=list.b2_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==2) values.facestim=list.b2_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==3) values.facestim=list.b3_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==3) values.facestim=list.b3_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==4) values.facestim=list.b4_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==4) values.facestim=list.b4_af_1.nextvalue]
</trial>
<trial facestimAF_n>
/stimulusframes = [1=facestim]
/validresponse = (16, 25)
/correctresponse = (25)
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==1) values.facestim=list.b1_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==1) values.facestim=list.b1_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==2) values.facestim=list.b2_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==2) values.facestim=list.b2_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==3) values.facestim=list.b3_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==3) values.facestim=list.b3_af_1.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==0 && values.blockm==4) values.facestim=list.b4_af.nextvalue]
/ontrialbegin = [if(mod(script.subjectid,2)==1 && values.blockm==4) values.facestim=list.b4_af_1.nextvalue]
</trial>
<block facestim1>
/preinstructions = (instructpres)
/trials = [ 1-20= noreplace(facestimAF, facestimAM, facestimWF, facestimWM)]
/onblockend = [values.block= values.block + 1]
</block>
<block facestim1_memory>
/preinstructions = (instructmem)
/trials = [ 1-48=noreplace(facestimAF_n, facestimAM_n, facestimWF_n, facestimWM_n, facestimAF_p, facestimAM_p, facestimWF_p, facestimWM_p)]
/onblockend = [values.blockm= values.blockm + 1]
</block>