Hi,
could you please help me out with the following:
I've added a practisetrial and 2 instructions trials (myinstructions2 & myinstructions3). As soon as i try and run it, it comes up with the following error which has to do with the calculations and the summary part:
<text summary>
Expression 'expressions.d' is invalid. Expression contains an unknown element or property name.
<trial summary>
Expression 'values.magnitude' is invalid. Expression contains an unknown element
--> here's my relevant script:
<trial summary>
/ stimulustimes = [0=summary]
/ validresponse = (" ")
/ recorddata = false
/ ontrialbegin = [values.magnitude = "little to no"]
/ ontrialbegin = [if( abs(expressions.d) > 0.15 ) values.magnitude = "a slight"]
/ ontrialbegin = [if( abs(expressions.d) > 0.35 ) values.magnitude = "a moderate"]
/ ontrialbegin = [if( abs(expressions.d) >= 0.65 ) values.magnitude = "a strong"]
/ ontrialbegin = [if(expressions.d >= 0.0) expressions.attitude = "positive"]
/ ontrialbegin = [if(expressions.d < 0.0) expressions.attitude = "negative"]
</trial>
<text summary>
/ items = ("Your IAT score (D) was <% expressions.d %>, which suggests <% values.magnitude %> <% expressions.attitude %> implicit attitude towards <% item.targetALabel.1 %>.~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
</text>
--> and the practise trial i added:
block practise>
/ bgstim = (practiseAleft, orleft, practisetargetAleftmixed, practiseBright, reminder)
/ trials = [1-10 = noreplace(practisetargetAleft, practiseA, practiseB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ recorddata = false
/ ontrialend = [if(block.practise.latency <= 10000 && block.practise.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.practise.latency]
/ ontrialend = [if(block.practise.latency <= 10000 && block.practise.currenttrialnumber != 1 ) values.n1a = values.n1a + 1]
/ ontrialend = [if(block.practise.latency <= 10000 && block.practise.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.practise.latency * block.practise.latency)]
</block>
<block practise2>
/ bgstim = (practiseAleft, practisetargetARightmixed, orright, practiseBright, reminder)
/ trials = [1-10 = noreplace(practisetargetAright, practiseA, practiseB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ recorddata = false
/ ontrialend = [if(block.practise2.latency <= 10000 && block.practise2.currenttrialnumber != 1) values.sum2a = values.sum2a + block.practise2.latency]
/ ontrialend = [if(block.practise2.latency <= 10000 && block.practise2.currenttrialnumber != 1 ) values.n2a = values.n2a + 1]
/ ontrialend = [if(block.practise2.latency <= 10000 && block.practise2.currenttrialnumber != 1 ) values.ss2a = values.ss2a + (block.practise2.latency * block.practise2.latency)]
</block>
2nd question: I would rather not have a practise trial of the compatible/incompatible trials. how do I join these 2?
<block compatibletest1>
/ bgstim = (attributeAleft, orleft, targetAleftmixed, attributeBright, reminder)
/ trials = [1-21 = noreplace(targetAleft, attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency]
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a = values.n1a + 1]
/ ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency)]
</block>
<block compatibletest2>
/ bgstim = (attributeAleft, orleft, targetAleftmixed, attributeBright, reminder)
/ trials = [1-40 = noreplace(targetAleft, attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [if(block.compatibletest2.latency <= 10000) values.sum1b = values.sum1b + block.compatibletest2.latency]
/ ontrialend = [if(block.compatibletest2.latency <= 10000) values.n1b = values.n1b + 1]
/ ontrialend = [if(block.compatibletest2.latency <= 10000) values.ss1b = values.ss1b + (block.compatibletest2.latency * block.compatibletest2.latency)]
</block>
I guess the error has to do with the fact i chose the first script of the compatible trial and not the 2nd, for the record; the results of the practise trial don't have to be recorded.
The summary with the score doesn't have to be shown either, this score is more for my own purpose.
Your help would be greatly appreciated!