﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 4  » Linking correct responses to text items</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Sun, 20 Sep 2026 06:23:29 GMT</lastBuildDate><ttl>20</ttl><item><title>Linking correct responses to text items</title><link>https://forums.millisecond.com/Topic19165.aspx</link><description>Hello,&lt;br/&gt;&lt;br/&gt;I am programming a facial recognition memory task where a group of faces will be presented in a learning block and a test block. &amp;nbsp;In the test block, participants will indicate if the face was previously presented by clicking "Old" or "New." &amp;nbsp;I am having a hard time with defining the valid and correct responses within the "test" trials. &amp;nbsp;I keep getting an error message saying that it is an invalid setting. &amp;nbsp;Can you please look at my script and provide some feedback as to what I'm doing wrong?&lt;br/&gt;&lt;br/&gt;These are all the lines that I have written regarding the recognition question (if a face is old or new):&lt;br/&gt;&lt;br/&gt;&amp;lt;item Recognitionquestions&amp;gt;&lt;br/&gt;/1 = "Is this face Old or New?" &lt;br/&gt;&amp;lt;/item&amp;gt;&amp;nbsp;&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;lt;text recognitionquestions&amp;gt;&lt;br/&gt;/items = item.recognitionquestions&lt;br/&gt;/position = (50%, 5%)&lt;br/&gt;/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)&lt;br/&gt;/ txcolor = (0, 0, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;/ontrialbegin = [values.category = "Wifaces"]&lt;br/&gt;/ontrialbegin = [values.itemnumber = list.learningwifaces.nextvalue]&lt;br/&gt;/ontrialbegin = [values.itemnumber = list.testwifaces.nextvalue]&lt;br/&gt;&lt;br/&gt;/stimulusframes = [1 = wifaces, recognitionquestions]&lt;br/&gt;/validresponse = (Old, New)&lt;br/&gt;/correctresponse = [if values.itemnumber.wifaces(1-20) == "Old"&lt;br/&gt;else values.itemnumber.wifaces(21-40) == "New"]&lt;br/&gt;/ontrialend = [values.countcorr_wifaces]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thank you for your help.&lt;br/&gt;</description><pubDate>Mon, 30 May 2016 11:33:06 GMT</pubDate><dc:creator>marti305</dc:creator></item><item><title>RE: Linking correct responses to text items</title><link>https://forums.millisecond.com/Topic19171.aspx</link><description>There are numerous syntax issues.&lt;br/&gt;&lt;br/&gt;#1: &lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;...&lt;br/&gt;/ontrialbegin = [values.itemnumber = list.learningwifaces.nextvalue]&lt;br/&gt;/ontrialbegin = [values.itemnumber = list.testwifaces.nextvalue]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;It does not make sense to first set values.itemnumber to a value sampled from list.learningwifaces and then immediately overwrite that with a value sampled from list.testwifaces. You'll want to eliminate the first of the two /ontrialbegin statements.&lt;br/&gt;&lt;br/&gt;#2: &lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;...&lt;br/&gt;/correctresponse = [if values.itemnumber.wifaces(1-20) == "Old"&lt;br/&gt;else values.itemnumber.wifaces(21-40) == "New"]&lt;br/&gt;..&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;You may not use /correctresponse. If you need to determine the correct response dynamically, you *must* use /iscorrectresponse.&lt;br/&gt;&lt;br/&gt;#3: Even if you were using /iscorrectresponse, the syntax is wrong.&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;...&lt;br/&gt;/iscorrectresponse = [if &lt;strong&gt;values.itemnumber.wifaces&lt;/strong&gt;(1-20) == "Old"&lt;br/&gt;else values.itemnumber.wifaces(21-40) == "New"]&lt;br/&gt;..&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;There is no such thing as values.itemnumber.wifaces. The only thing that exists is values.itemnumber. &lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;...&lt;br/&gt;/correctresponse = [if values.itemnumber.wifaces&lt;strong&gt;(1-20)&lt;/strong&gt; == "Old"&lt;br/&gt;else values.itemnumber.wifaces(21-40) == "New"]&lt;br/&gt;..&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;No syntax like that exists. This is not how you check the numerical value of a global variable (a &amp;lt;values&amp;gt; entry).&lt;br/&gt;&lt;br/&gt;The proper syntax is:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;/ontrialbegin = [values.category = "Wifaces"]&lt;br/&gt;/ontrialbegin = [values.itemnumber = list.testwifaces.nextvalue]&lt;br/&gt;&lt;br/&gt;/stimulusframes = [1 = wifaces, recognitionquestions, old, new]&lt;br/&gt;/ validresponse = (Old, New)&lt;br/&gt;&lt;strong&gt;/ iscorrectresponse = [ (values.itemnumber &amp;lt; 21 &amp;amp;&amp;amp; trial.testwifaces.response == "Old") || (values.itemnumber &amp;gt; 20 &amp;amp;&amp;amp;  trial.testwifaces.response == "New") ]&lt;/strong&gt;&lt;br/&gt;...&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Here's a basic, self-contained example so you can check / verify for yourself:&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ itemnumber = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block testblock&amp;gt;&lt;br/&gt;/ trials = [1-40 = testwifaces]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testWIfaces&amp;gt;&lt;br/&gt;/ ontrialbegin = [values.itemnumber = list.testwifaces.nextvalue]&lt;br/&gt;/ stimulusframes = [1 = wifaces, old, new]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (Old, New)&lt;br/&gt;/ iscorrectresponse = [ (values.itemnumber &amp;lt; 21 &amp;amp;&amp;amp; trial.testwifaces.response == "Old") || (values.itemnumber &amp;gt; 20 &amp;amp;&amp;amp; trial.testwifaces.response == "New") ]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;list testwifaces&amp;gt;&lt;br/&gt;/ items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text wifaces&amp;gt;&lt;br/&gt;/ items = wifaceitems&lt;br/&gt;/ select = values.itemnumber&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item wifaceitems&amp;gt;&lt;br/&gt;/ 1 = "Old 01"&lt;br/&gt;/ 2 = "Old 02"&lt;br/&gt;/ 3 = "Old 03"&lt;br/&gt;/ 4 = "Old 04"&lt;br/&gt;/ 5 = "Old 05"&lt;br/&gt;/ 6 = "Old 06"&lt;br/&gt;/ 7 = "Old 07"&lt;br/&gt;/ 8 = "Old 08"&lt;br/&gt;/ 9 = "Old 09"&lt;br/&gt;/ 10 = "Old 10"&lt;br/&gt;/ 11 = "Old 11"&lt;br/&gt;/ 12 = "Old 12"&lt;br/&gt;/ 13 = "Old 13"&lt;br/&gt;/ 14 = "Old 14"&lt;br/&gt;/ 15 = "Old 15"&lt;br/&gt;/ 16 = "Old 16"&lt;br/&gt;/ 17 = "Old 17"&lt;br/&gt;/ 18 = "Old 18"&lt;br/&gt;/ 19 = "Old 19"&lt;br/&gt;/ 20 = "Old 20"&lt;br/&gt;&lt;br/&gt;/ 21 = "New 01"&lt;br/&gt;/ 22 = "New 02"&lt;br/&gt;/ 23 = "New 03"&lt;br/&gt;/ 24 = "New 04"&lt;br/&gt;/ 25 = "New 05"&lt;br/&gt;/ 26 = "New 06"&lt;br/&gt;/ 27 = "New 07"&lt;br/&gt;/ 28 = "New 08"&lt;br/&gt;/ 29 = "New 09"&lt;br/&gt;/ 30 = "New 10"&lt;br/&gt;/ 31 = "New 11"&lt;br/&gt;/ 32 = "New 12"&lt;br/&gt;/ 33 = "New 13"&lt;br/&gt;/ 34 = "New 14"&lt;br/&gt;/ 35 = "New 15"&lt;br/&gt;/ 36 = "New 16"&lt;br/&gt;/ 37 = "New 17"&lt;br/&gt;/ 38 = "New 18"&lt;br/&gt;/ 39 = "New 19"&lt;br/&gt;/ 40 = "New 20"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text old&amp;gt;&lt;br/&gt;/ items = ("OLD IMAGE")&lt;br/&gt;/ position = (40%,75%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text new&amp;gt;&lt;br/&gt;/ items = ("NEW IMAGE")&lt;br/&gt;/ position = (60%,75%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;</description><pubDate>Mon, 30 May 2016 11:33:06 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>