Wow, thanks guys for all your help! I'll have a try and see how I go.
Hi all,
Thanks again for your responses to this post. I've been playing around with some of the scripts you posted and have an additional question. I've been using the one called 'Is This Fair' as it seemed to suit my needs best; however, when I test the script I can't really tell whether I've responded or not. As you can see, I've pasted the section of the script below and have changed the response options to 'z' and '/' to represent yes and no. Is it possible to display something to the participant so they understand they've reponded correctly e.g. a reaction time at the bottom of the screen?
<trial TRIAL_phrase1>/ ontrialbegin = [values.phrase = concat(values.phrase, counter.COUNTER_phrase1.selectedvalue)]/ ontrialend = [if(counter.COUNTER_phrase1.selectedindex >= counter.COUNTER_phrase1.itemcount) values.phrase=""]/ stimulustimes = [0 = TEXT_phrase, yes, no; 1000 = SHAPE_dummy]/ validresponse = ("z", "/")/ responseinterrupt = trial/ timeout = (counter.COUNTER_phrase1.selectedindex >= counter.COUNTER_phrase1.itemcount) * 60000 + values.wordduration/ branch = [if(counter.COUNTER_phrase1.selectedindex < counter.COUNTER_phrase1.itemcount) trial.TRIAL_phrase1]</trial><trial TRIAL_phrase2>/ ontrialbegin = [values.phrase = concat(values.phrase, counter.COUNTER_phrase2.selectedvalue)]/ ontrialend = [if(counter.COUNTER_phrase2.selectedindex >= counter.COUNTER_phrase2.itemcount) values.phrase=""]/ stimulustimes = [0 = TEXT_phrase, yes, no; 1000 = SHAPE_dummy]/ validresponse = ("z", "/")/ responseinterrupt = trial/ timeout = (counter.COUNTER_phrase2.selectedindex >= counter.COUNTER_phrase2.itemcount) * 60000 + values.wordduration/ branch = [if(counter.COUNTER_phrase2.selectedindex < counter.COUNTER_phrase2.itemcount) trial.TRIAL_phrase2]</trial>
<trial TRIAL_phrase1>
/ ontrialbegin = [values.phrase = concat(values.phrase, counter.COUNTER_phrase1.selectedvalue)]
/ ontrialend = [if(counter.COUNTER_phrase1.selectedindex >= counter.COUNTER_phrase1.itemcount) values.phrase=""]
/ stimulustimes = [0 = TEXT_phrase, yes, no; 1000 = SHAPE_dummy]
/ validresponse = ("z", "/")
/ responseinterrupt = trial
/ timeout = (counter.COUNTER_phrase1.selectedindex >= counter.COUNTER_phrase1.itemcount) * 60000 + values.wordduration
/ branch = [if(counter.COUNTER_phrase1.selectedindex < counter.COUNTER_phrase1.itemcount) trial.TRIAL_phrase1]
</trial>
<trial TRIAL_phrase2>
/ ontrialbegin = [values.phrase = concat(values.phrase, counter.COUNTER_phrase2.selectedvalue)]
/ ontrialend = [if(counter.COUNTER_phrase2.selectedindex >= counter.COUNTER_phrase2.itemcount) values.phrase=""]
/ timeout = (counter.COUNTER_phrase2.selectedindex >= counter.COUNTER_phrase2.itemcount) * 60000 + values.wordduration
/ branch = [if(counter.COUNTER_phrase2.selectedindex < counter.COUNTER_phrase2.itemcount) trial.TRIAL_phrase2]
Simplest solution would the / responsetrial property, set up like this
/ responsetrial = (noresponse, TRIAL_didnotrespond)/ responsetrial = (anyresponse, TRIAL_didrespond)
One could, of course, branch into the same trial by playing around with expressions a bit but I guess this should be the easiest way for you to implement.
Best wishes, Malte.
Ah, and remember that using responsetrials messes up your data file a bit since only every other line just contains the - useless - responsetrial information.
You may thus want to use / recorddata = false in the feedback trial.