|
Blackadder
|
|
|
Group: Forum Members
Posts: 280,
Visits: 147
|
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.
|
|
|
|
|
Blackadder
|
|
|
Group: Forum Members
Posts: 280,
Visits: 147
|
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.
|
|
|
|
|
Jules
|
|
|
Group: Forum Members
Posts: 11,
Visits: 1
|
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>
|
|
|
|
|
Jules
|
|
|
Group: Forum Members
Posts: 11,
Visits: 1
|
Wow, thanks guys for all your help! I'll have a try and see how I go.
|
|
|
|
|
Dave
|
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
I wonder if there is a reason why, upon a keypress, the trial reports the current trial.trialname.response but not the trial.trialname.latency for that response to "/ isvalidresponse" and "/ iscorrectresponse". This way you are unable to provide any within-trial-feedback depending on reaction time. I had reported a similar bug back in November 2009 which has supposedly been fixed since: "trial.mytrial.latency property data is unavailable for evaluation in current trial via /iscorrectresponse (etc.) when /trialduration attribute is defined. Instead latency of previous trial is used." What you observed appears to be closely related, so I strongly suggest you file a bug report via email. Thanks, ~Dave
|
|
|
|
|
Blackadder
|
|
|
Group: Forum Members
Posts: 280,
Visits: 147
|
I wonder if there is a reason why, upon a keypress, the trial reports the current trial.trialname.response but not the trial.trialname.latency for that response to "/ isvalidresponse" and "/ iscorrectresponse". This way you are unable to provide any within-trial-feedback depending on reaction time. Malte.
|
|
|
|
|
Dave
|
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
BTW, the problem would be fixed if Inquisit allowed to specifiy the responsetime by an expression. This is not possible, or is it? Not currently, although I have requested this feature a while ago. Chime in! ~Dave
|
|
|
|
|
Blackadder
|
|
|
Group: Forum Members
Posts: 280,
Visits: 147
|
BTW, the problem would be fixed if Inquisit allowed to specifiy the responsetime by an expression. This is not possible, or is it?
|
|
|
|
|
Blackadder
|
|
|
Group: Forum Members
Posts: 280,
Visits: 147
|
Ok, here we go. The attached script allows you to enter an arbitrary number of phrases als elements into a counter. Phrases may be of a maximum length of 15 words. All phrases in that counter are selected at random during the trial and displayed with incremental word count. Problem is: the subject can quit each trial by a button press which is not very welcome. I've tried to fuddle around with the "/ isvalidresponse" and hoped Inquisit would be able to do this: / isvalidresponse = [(trial.TRIAL_showall.latency > values.wordcount * values.wordduration) && ((trial.TRIAL_showall.response==203) || (trial.TRIAL_showall.response==205))] However, while Inquisit does record the response key at any given time the latency of this response appears not to be available. Instead, the latency of the previous trial is still contained in the trial attribute. Is that so? Dave, can you help me out on this one? Bye, Malte
|
|
|
|
|
Dave
|
|
|
Group: Administrators
Posts: 13K,
Visits: 109K
|
... and yet another slightly different approach contributed by yours truly, ~Dave
|
|
|
|