﻿<?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 5  » Letter-memory test data</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Tue, 22 Sep 2026 08:31:18 GMT</lastBuildDate><ttl>20</ttl><item><title>Letter-memory test data</title><link>https://forums.millisecond.com/Topic21730.aspx</link><description>Dear Dave,&lt;br/&gt;&lt;br/&gt;I am using the letter-memory test for about 2 months now but it appeared that 'recallDuration', 'values.correct', 'values.countCorrectLetters' and 'list.correctLetters.itemcount' are only being saved for the practice trials (the first 3 trials) and not for the test trials (the following 12 trials).&lt;br/&gt;&lt;br/&gt;I assume that the fault should be in the below part of the script.&lt;br/&gt;Can you please check?&lt;br/&gt;&lt;br/&gt;We would like for the test trials to only record data, not give any feedback after each trial.&lt;br/&gt;&lt;br/&gt;I look forward to hearing from you.&lt;br/&gt;&lt;br/&gt;Best regards,&lt;br/&gt;&lt;br/&gt;Bob Ramakers&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter1&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter1.response!="exit" &amp;amp;&amp;amp; trial.recall_letter1.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter1.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter1.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter1.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter1.response=="exit"){&lt;br/&gt;trial.recall_end;&lt;br/&gt;} else &lt;br/&gt;trial.recall_letter1;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter2&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter2.response!="exit" &amp;amp;&amp;amp; trial.recall_letter2.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter2.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter2.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter2.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter2.response=="exit")&lt;br/&gt;else &lt;br/&gt;trial.recall_letter2;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: trial.recall_end&lt;br/&gt;* presents feedback&lt;br/&gt;* evaluates the accuracy of the response (uses the first three letters entered by participant - any additional letters are ignored)&lt;br/&gt;* order of letters is not important&lt;br/&gt;* adds an ITI as the posttrialpause&lt;br/&gt;&amp;lt;trial recall_end&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.recallDuration = values.RecallEnd - values.RecallStart;&lt;br/&gt;values.temp_last3 = values.last3;&lt;br/&gt;&lt;br/&gt;values.recalledletters = concat(values.recalledletters, "&amp;nbsp;");&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 0, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 0, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 1, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 1, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 2, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 2, 1), "");&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;list.correctLetters.insertitem(values.countCorrectLetters, 1);&lt;br/&gt;&lt;br/&gt;if (values.countCorrectLetters != 3){&lt;br/&gt;trial.recall_end.insertstimulusframe(text.errorFeedback, 1);&lt;br/&gt;values.correct = 0;&lt;br/&gt;} else {&lt;br/&gt;trial.recall_end.insertstimulusframe(text.correctFeedback, 1);&lt;br/&gt;values.correct = 1;&lt;br/&gt;};&lt;br/&gt;list.accuracy.insertitem(values.correct, 1);&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1 = clearscreen, Verder]&lt;br/&gt;/ validresponse = (Verder)&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ posttrialpause = parameters.ITI&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;BLOCKS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: practice presents 3 trials (one per set size)&lt;br/&gt;&amp;lt;block lettermemory_practice&amp;gt;&lt;br/&gt;/ preinstructions = (intro)&lt;br/&gt;/ trials = [1-3 = sequence(fixation, show_letter, recall_letter1)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: the test presents 12 trials (4 per set size)&lt;br/&gt;&amp;lt;block lettermemory&amp;gt;&lt;br/&gt;/ preinstructions = (testIntro)&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;list.correctLetters.reset();&lt;br/&gt;list.accuracy.reset();&lt;br/&gt;]&lt;br/&gt;/ trials = [1-12 = sequence(fixation, show_letter, recall_letter2)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Mon, 12 Jun 2017 02:11:15 GMT</pubDate><dc:creator>BobRamakers</dc:creator></item><item><title>RE: Letter-memory test data</title><link>https://forums.millisecond.com/Topic21814.aspx</link><description>Dear Dave,&lt;br/&gt;&lt;br/&gt;Thank you for your help.&lt;br/&gt;It looks like the test is working well and all data is being recorded now :-)&lt;br/&gt;&lt;br/&gt;Thank you!&lt;br/&gt;&lt;br/&gt;Best regards,&lt;br/&gt;&lt;br/&gt;Bob Ramakers</description><pubDate>Mon, 12 Jun 2017 02:11:15 GMT</pubDate><dc:creator>BobRamakers</dc:creator></item><item><title>RE: Letter-memory test data</title><link>https://forums.millisecond.com/Topic21747.aspx</link><description>&lt;div data-id="21738" class="if-quote-wrapper" unselectable="on" data-guid="1496282527949"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="21738" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="21738" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="21738" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - Wednesday, May 31, 2017&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-21738"&gt;&lt;div class="if-quote-message-margin"&gt;&lt;div data-id="21730" class="if-quote-wrapper" unselectable="on" data-guid="1496282527949"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="21730" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="21730" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="21730" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;BobRamakers - Tuesday, May 30, 2017&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-21730"&gt;&lt;div class="if-quote-message-margin"&gt;Dear Dave,&lt;br/&gt;&lt;br/&gt;I am using the letter-memory test for about 2 months now but it appeared that 'recallDuration', 'values.correct', 'values.countCorrectLetters' and 'list.correctLetters.itemcount' are only being saved for the practice trials (the first 3 trials) and not for the test trials (the following 12 trials).&lt;br/&gt;&lt;br/&gt;I assume that the fault should be in the below part of the script.&lt;br/&gt;Can you please check?&lt;br/&gt;&lt;br/&gt;We would like for the test trials to only record data, not give any feedback after each trial.&lt;br/&gt;&lt;br/&gt;I look forward to hearing from you.&lt;br/&gt;&lt;br/&gt;Best regards,&lt;br/&gt;&lt;br/&gt;Bob Ramakers&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter1&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter1.response!="exit" &amp;amp;&amp;amp; trial.recall_letter1.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter1.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter1.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter1.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter1.response=="exit"){&lt;br/&gt;trial.recall_end;&lt;br/&gt;} else &lt;br/&gt;trial.recall_letter1;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter2&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter2.response!="exit" &amp;amp;&amp;amp; trial.recall_letter2.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter2.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter2.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter2.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter2.response=="exit")&lt;br/&gt;else &lt;br/&gt;trial.recall_letter2;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: trial.recall_end&lt;br/&gt;* presents feedback&lt;br/&gt;* evaluates the accuracy of the response (uses the first three letters entered by participant - any additional letters are ignored)&lt;br/&gt;* order of letters is not important&lt;br/&gt;* adds an ITI as the posttrialpause&lt;br/&gt;&amp;lt;trial recall_end&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.recallDuration = values.RecallEnd - values.RecallStart;&lt;br/&gt;values.temp_last3 = values.last3;&lt;br/&gt;&lt;br/&gt;values.recalledletters = concat(values.recalledletters, "&amp;nbsp;");&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 0, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 0, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 1, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 1, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 2, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 2, 1), "");&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;list.correctLetters.insertitem(values.countCorrectLetters, 1);&lt;br/&gt;&lt;br/&gt;if (values.countCorrectLetters != 3){&lt;br/&gt;trial.recall_end.insertstimulusframe(text.errorFeedback, 1);&lt;br/&gt;values.correct = 0;&lt;br/&gt;} else {&lt;br/&gt;trial.recall_end.insertstimulusframe(text.correctFeedback, 1);&lt;br/&gt;values.correct = 1;&lt;br/&gt;};&lt;br/&gt;list.accuracy.insertitem(values.correct, 1);&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1 = clearscreen, Verder]&lt;br/&gt;/ validresponse = (Verder)&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ posttrialpause = parameters.ITI&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;BLOCKS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: practice presents 3 trials (one per set size)&lt;br/&gt;&amp;lt;block lettermemory_practice&amp;gt;&lt;br/&gt;/ preinstructions = (intro)&lt;br/&gt;/ trials = [1-3 = sequence(fixation, show_letter, recall_letter1)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: the test presents 12 trials (4 per set size)&lt;br/&gt;&amp;lt;block lettermemory&amp;gt;&lt;br/&gt;/ preinstructions = (testIntro)&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;list.correctLetters.reset();&lt;br/&gt;list.accuracy.reset();&lt;br/&gt;]&lt;br/&gt;/ trials = [1-12 = sequence(fixation, show_letter, recall_letter2)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="21730"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;I'm not sure what the relevance of the code snippets you posted is. There is no "recall_letter2" trial in the original script, so I must assume you modified the script and probably broke it. I cannot assess that on the basis of incomplete excerpts. Note that values.countCorrectLetters and values.correct are updated in &amp;lt;trial recall_end&amp;gt; in the original. If you don't run that &amp;lt;trial&amp;gt; during the test block, this will obviously not happen.&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="21738"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;So, to fix this -- in essence -- set up a trial called &amp;lt;trial recall_end2&amp;gt; like so:&lt;br/&gt;----&lt;br/&gt;&amp;lt;trial recall_end2&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.recallDuration = values.RecallEnd - values.RecallStart;&lt;br/&gt;values.temp_last3 = values.last3;&lt;br/&gt;&lt;br/&gt;values.recalledletters = concat(values.recalledletters, " ");&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 0, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 0, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 1, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 1, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 2, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 2, 1), "");&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;list.correctLetters.insertitem(values.countCorrectLetters, 1);&lt;br/&gt;&lt;br/&gt;if (values.countCorrectLetters != 3){&lt;br/&gt;values.correct = 0;&lt;br/&gt;} else {&lt;br/&gt;values.correct = 1;&lt;br/&gt;};&lt;br/&gt;list.accuracy.insertitem(values.correct, 1);&lt;br/&gt;]&lt;br/&gt;/ validresponse = (0)&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ trialduration = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;and then /branch to it from &amp;lt;trial recall_letter2&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter2&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter2.response!="exit" &amp;amp;&amp;amp; trial.recall_letter2.response!="clear") {&lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter2.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter2.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter2.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;&lt;strong&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter2.response=="exit"){&lt;br/&gt;trial.recall_end2;}&lt;br/&gt;else&lt;br/&gt;trial.recall_letter2;&lt;br/&gt;]&lt;/strong&gt;&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;----&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_end2&amp;gt; displays no feedback or other visual stimuli and does not require a response -- its only purpose is to perform the values.correct, values.countCorrectLetters, etc. calculations, i.e. serve the same function as &amp;lt;trial recall_end&amp;gt; in the "practice" section minus the on-screen performance feedback.&lt;br/&gt;</description><pubDate>Wed, 31 May 2017 19:07:04 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: Letter-memory test data</title><link>https://forums.millisecond.com/Topic21738.aspx</link><description>&lt;div data-id="21730" class="if-quote-wrapper" unselectable="on" data-guid="1496247224925"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="21730" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="21730" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="21730" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;BobRamakers - Tuesday, May 30, 2017&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-21730"&gt;&lt;div class="if-quote-message-margin"&gt;Dear Dave,&lt;br/&gt;&lt;br/&gt;I am using the letter-memory test for about 2 months now but it appeared that 'recallDuration', 'values.correct', 'values.countCorrectLetters' and 'list.correctLetters.itemcount' are only being saved for the practice trials (the first 3 trials) and not for the test trials (the following 12 trials).&lt;br/&gt;&lt;br/&gt;I assume that the fault should be in the below part of the script.&lt;br/&gt;Can you please check?&lt;br/&gt;&lt;br/&gt;We would like for the test trials to only record data, not give any feedback after each trial.&lt;br/&gt;&lt;br/&gt;I look forward to hearing from you.&lt;br/&gt;&lt;br/&gt;Best regards,&lt;br/&gt;&lt;br/&gt;Bob Ramakers&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter1&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter1.response!="exit" &amp;amp;&amp;amp; trial.recall_letter1.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter1.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter1.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter1.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter1.response=="exit"){&lt;br/&gt;trial.recall_end;&lt;br/&gt;} else &lt;br/&gt;trial.recall_letter1;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial recall_letter2&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.last3 = substring(values.presentedLetters, length(values.presentedLetters) - 3, 3);&lt;br/&gt;values.recallCount += 1;&lt;br/&gt;if (values.recallCount == 1){&lt;br/&gt;values.RecallStart = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=WhiteScreen, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit, recalledletters, recallprompt]&lt;br/&gt;/ validresponse = (B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z, _, clear, exit)&lt;br/&gt;/ monkeyresponse = ("B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Z", "exit")&lt;br/&gt;/ ontrialend = [&lt;br/&gt;if(trial.recall_letter2.response!="exit" &amp;amp;&amp;amp; trial.recall_letter2.response!="clear") { &lt;br/&gt;values.recalledletters=concat(values.recalledletters, trial.recall_letter2.response);&lt;br/&gt;values.recalledletters = substring(values.recalledletters, 0, 3);&lt;br/&gt;};&lt;br/&gt;if(trial.recall_letter2.response=="clear") {&lt;br/&gt;values.recalledletters="";&lt;br/&gt;};&lt;br/&gt;if (trial.recall_letter2.response == "exit"){&lt;br/&gt;values.RecallEnd = script.elapsedtime;&lt;br/&gt;};&lt;br/&gt;]&lt;br/&gt;/ responsemessage = (B, clickB, 150)&lt;br/&gt;/ responsemessage = (C, clickC, 150)&lt;br/&gt;/ responsemessage = (D, clickD, 150)&lt;br/&gt;/ responsemessage = (F, clickF, 150)&lt;br/&gt;/ responsemessage = (G, clickG, 150)&lt;br/&gt;/ responsemessage = (H, clickH, 150)&lt;br/&gt;/ responsemessage = (J, clickJ, 150)&lt;br/&gt;/ responsemessage = (K, clickK, 150)&lt;br/&gt;/ responsemessage = (L, clickL, 150)&lt;br/&gt;/ responsemessage = (M, clickM, 150)&lt;br/&gt;/ responsemessage = (N, clickN, 150)&lt;br/&gt;/ responsemessage = (P, clickP, 150)&lt;br/&gt;/ responsemessage = (Q, clickQ, 150)&lt;br/&gt;/ responsemessage = (R, clickR, 150)&lt;br/&gt;/ responsemessage = (S, clickS, 150)&lt;br/&gt;/ responsemessage = (T, clickT, 150)&lt;br/&gt;/ responsemessage = (V, clickV, 150)&lt;br/&gt;/ responsemessage = (W, clickW, 150)&lt;br/&gt;/ responsemessage = (X, clickX, 150)&lt;br/&gt;/ responsemessage = (Z, clickZ, 150)&lt;br/&gt;/ responsemessage = (clear, clickclear, 150)&lt;br/&gt;/ responsemessage = (exit, clickexit, 150)&lt;br/&gt;/ responsemessage = (_, click_, 150)&lt;br/&gt;/ branch = [&lt;br/&gt;if(trial.recall_letter2.response=="exit")&lt;br/&gt;else &lt;br/&gt;trial.recall_letter2;&lt;br/&gt;]&lt;br/&gt;/ recorddata = true&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: trial.recall_end&lt;br/&gt;* presents feedback&lt;br/&gt;* evaluates the accuracy of the response (uses the first three letters entered by participant - any additional letters are ignored)&lt;br/&gt;* order of letters is not important&lt;br/&gt;* adds an ITI as the posttrialpause&lt;br/&gt;&amp;lt;trial recall_end&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;values.recallDuration = values.RecallEnd - values.RecallStart;&lt;br/&gt;values.temp_last3 = values.last3;&lt;br/&gt;&lt;br/&gt;values.recalledletters = concat(values.recalledletters, "&amp;nbsp;");&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 0, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 0, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 1, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 1, 1), "");&lt;br/&gt;};&lt;br/&gt;if (contains(values.temp_last3, substring(values.recalledletters, 2, 1))){&lt;br/&gt;values.countCorrectLetters += 1;&lt;br/&gt;values.temp_last3 = replaceall(values.temp_last3, substring(values.recalledletters, 2, 1), "");&lt;br/&gt;};&lt;br/&gt;&lt;br/&gt;list.correctLetters.insertitem(values.countCorrectLetters, 1);&lt;br/&gt;&lt;br/&gt;if (values.countCorrectLetters != 3){&lt;br/&gt;trial.recall_end.insertstimulusframe(text.errorFeedback, 1);&lt;br/&gt;values.correct = 0;&lt;br/&gt;} else {&lt;br/&gt;trial.recall_end.insertstimulusframe(text.correctFeedback, 1);&lt;br/&gt;values.correct = 1;&lt;br/&gt;};&lt;br/&gt;list.accuracy.insertitem(values.correct, 1);&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1 = clearscreen, Verder]&lt;br/&gt;/ validresponse = (Verder)&lt;br/&gt;/ recorddata = true&lt;br/&gt;/ posttrialpause = parameters.ITI&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;BLOCKS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: practice presents 3 trials (one per set size)&lt;br/&gt;&amp;lt;block lettermemory_practice&amp;gt;&lt;br/&gt;/ preinstructions = (intro)&lt;br/&gt;/ trials = [1-3 = sequence(fixation, show_letter, recall_letter1)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: the test presents 12 trials (4 per set size)&lt;br/&gt;&amp;lt;block lettermemory&amp;gt;&lt;br/&gt;/ preinstructions = (testIntro)&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;list.correctLetters.reset();&lt;br/&gt;list.accuracy.reset();&lt;br/&gt;]&lt;br/&gt;/ trials = [1-12 = sequence(fixation, show_letter, recall_letter2)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="21730"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;I'm not sure what the relevance of the code snippets you posted is. There is no "recall_letter2" trial in the original script, so I must assume you modified the script and probably broke it. I cannot assess that on the basis of incomplete excerpts. Note that values.countCorrectLetters and values.correct are updated in &amp;lt;trial recall_end&amp;gt; in the original. If you don't run that &amp;lt;trial&amp;gt; during the test block, this will obviously not happen.&lt;br/&gt;</description><pubDate>Wed, 31 May 2017 09:21:53 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>