﻿<?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 3  » error sound and quit button</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Fri, 26 Jun 2026 21:20:42 GMT</lastBuildDate><ttl>20</ttl><item><title>error sound and quit button</title><link>https://forums.millisecond.com/Topic20825.aspx</link><description>Hello,&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I have two questions concerning a script I'm writing with Inquisit 3.&amp;nbsp;&lt;br/&gt;1) I would like a &amp;nbsp;errorfeedback when the participant makes a mistake.&amp;nbsp;&lt;br/&gt;I tried to program this, however it does not seem to work.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;lt;item errorsound&amp;gt;&lt;br/&gt;/1 = "errorsound.wav"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;sound errorfeedbacksound&amp;gt;&lt;br/&gt;/items = errorsound&lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testA&amp;gt;&lt;br/&gt;/ ontrialbegin = [if (trial.testA.correct == false) sound.errorfeedbacksound]&lt;br/&gt;/ stimulusframes = [1=correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten,&lt;br/&gt;&amp;nbsp;&amp;nbsp; eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, numbers, quitbuttona]&lt;br/&gt;/ validresponse = (correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten,&lt;br/&gt;&amp;nbsp;  eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, quitbuttona)&lt;br/&gt;/ correctresponse = (correctAnswer)&lt;br/&gt;/ correctmessage = true(correctMark, 0)&lt;br/&gt;/ errormessage = true(errorMark, 0)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;2) Furthermore, I would like a quit button during every task (when the participant clicks on the button the task stops).&lt;br/&gt;I was wondering if it is also possible to have this in a openended trial.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;lt;openended testC&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = testC, stoppen]&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;values.response = toupper(openended.testC.response);&lt;br/&gt;values.response = replaceall(values.response, " ", "");&lt;br/&gt;values.correctAnswer = getitem(item.testC_correctAnswers,text.testC.currentitemnumber);&lt;br/&gt;values.response == values.correctAnswer;&lt;br/&gt;]&lt;br/&gt;/ validresponse = (quitbuttonc, anyresponse, correctAnswer)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;insert(item.testAccuracy_easy,openended.testC.correct, 1);&lt;br/&gt;if (openended.testC.correct) {&lt;br/&gt;insert(item.testlatencies_easy,openended.testC.latency, 1);&lt;br/&gt;} ;&lt;br/&gt;if (openended.testC.response != "") {&lt;br/&gt;values.countAttempted = values.countAttempted + 1;&lt;br/&gt;}]&lt;br/&gt;/ontrialend = [if (trial.testC.response == "quitbuttonc") &lt;br/&gt;{values.quittimec = block.testC.elapsedtime; &lt;br/&gt;values.quitc = 1;}]&lt;br/&gt;/ buttonlabel = "volgende"&lt;br/&gt;/ timeout = 20000&lt;br/&gt;/ errormessage = true(errorfeedback, 500)&lt;br/&gt;/ correctmessage = true(correctfeedback,500)&lt;br/&gt;/ ontrialend = [values.testCCorrect = trial.testC.numCorrect]&lt;br/&gt;&amp;lt;/openended&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block testC&amp;gt;&lt;br/&gt;/ stop = [values.quitc == 1]&lt;br/&gt;/ trials = [1-25 = testC]&lt;br/&gt;/ timeout = 1200000&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thanks in advance!&lt;br/&gt;Johanne</description><pubDate>Mon, 06 Mar 2017 08:04:51 GMT</pubDate><dc:creator>Johanne</dc:creator></item><item><title>RE: error sound and quit button</title><link>https://forums.millisecond.com/Topic20970.aspx</link><description>&lt;div data-id="20965" class="if-quote-wrapper" unselectable="on" data-guid="1488816083428"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="20965" 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="20965" 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="20965" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Johanne - Monday, March 6, 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-20965"&gt;&lt;div class="if-quote-message-margin"&gt;Hi dave,&amp;nbsp;&lt;br/&gt;Thanks again for the answer, that really helps a lot.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I however cannot figure out how to use /&amp;nbsp;responsemessage to play an errorsound and errormessage.&lt;br/&gt;This part of the script is in the first comment.&lt;br/&gt;&lt;br/&gt;Furthermore, I came across another problem.&amp;nbsp;&lt;br/&gt;I have 3 blocks that branch and thus repeat after each other.&amp;nbsp;&lt;br/&gt;I want them to stop after 20 minutes.&amp;nbsp;&lt;br/&gt;This is tried to program this with the timeout function, however this does not work.&amp;nbsp;&lt;br/&gt;Then I tried to branch the experiment after 20 minutes.&lt;br/&gt;The elapsed time of the experiment does not seem to be correct in my output.&lt;br/&gt;It shows an amount of time that is way to long.&lt;br/&gt;Do you know a solution to this problem?&lt;br/&gt;This part of the script is bellow.&lt;br/&gt;&lt;br/&gt;Thanks in advance.&amp;nbsp;&lt;br/&gt;Johanne&lt;br/&gt;&lt;br/&gt;&amp;lt;expt bversion&amp;gt;&lt;br/&gt;/ subjects = (1 of 1)&lt;br/&gt;/ skip = [values.experimentswitch==1]&lt;br/&gt;/ skip = [values.experimentswitch==3]&lt;br/&gt;/ onexptbegin = [if (!values.showdeckinfo) text.deck.textcolor = white]&lt;br/&gt;/ blocks = [1 = color]&lt;br/&gt;/ preinstructions = (welcome, page1)&lt;br/&gt;/ postinstructions = (endb)&lt;br/&gt;/ onexptend = [values.completed = 1]&lt;br/&gt;&lt;strong&gt;/ branch = [if (expt.bversion.elapsedtime &amp;lt; 1200000) expt.cversion] &lt;br/&gt;&lt;/strong&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block color&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse = 0]&lt;br/&gt;/ onblockbegin = [values.colorblockcount = values.colorblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 1]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.colorblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.colorblockcount == 1) values.trialscompletefirstcategory = values.colortrialcount]&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.colorblockcount == 1)  values.percenterror_C1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_C2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;/ branch = [if (values.colorblockcount &amp;gt; values.cstotalblocks) ]&lt;br/&gt;/ branch = [if (expressions.toomanytrials) ]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0) &lt;br/&gt;{values.OldRuleWindow = 1;  values.RuleChange = 1; block.form}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block form&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse = 0]&lt;br/&gt;/ onblockbegin = [values.formblockcount = values.formblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 2]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.formblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.formblockcount == 1)  values.percenterror_F1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_F2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;&lt;br/&gt;/ branch = [if (values.formblockcount &amp;gt; values.cstotalblocks)]&lt;br/&gt;/ branch = [if (expressions.toomanytrials)]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values, values.correctstreakthreshold)==0) &lt;br/&gt;{values.OldRuleWindow = 1; values.RuleChange = 1; block.number}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block number&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse= 0]&lt;br/&gt;/ onblockbegin = [values.numberblockcount = values.numberblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 3]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.numberblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.numberblockcount == 1)  values.percenterror_N1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_N2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;&lt;br/&gt;/ branch = [if (values.numberblockcount &amp;gt; values.cstotalblocks)]&lt;br/&gt;/ branch = [if (expressions.toomanytrials)]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold) ==0) &lt;br/&gt;{values.OldRuleWindow = 1; values.RuleChange = 1; block.color}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="20965"&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;&amp;gt; I however cannot figure out how to use /&amp;nbsp;responsemessage to play an errorsound and errormessage.&lt;br/&gt;&lt;br/&gt;You need to define a /responsemessage attribute for every response that is *not* a correct response.&lt;br/&gt;&lt;br/&gt;To terminate the procedure after 20 minutes, try defining /stop attributes at the &amp;lt;expt&amp;gt; level, i.e. something like&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ stop = [script.elapsedtime &amp;gt;= 1200000]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;</description><pubDate>Mon, 06 Mar 2017 08:04:51 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: error sound and quit button</title><link>https://forums.millisecond.com/Topic20965.aspx</link><description>Hi dave,&amp;nbsp;&lt;br/&gt;Thanks again for the answer, that really helps a lot.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I however cannot figure out how to use /&amp;nbsp;responsemessage to play an errorsound and errormessage.&lt;br/&gt;This part of the script is in the first comment.&lt;br/&gt;&lt;br/&gt;Furthermore, I came across another problem.&amp;nbsp;&lt;br/&gt;I have 3 blocks that branch and thus repeat after each other.&amp;nbsp;&lt;br/&gt;I want them to stop after 20 minutes.&amp;nbsp;&lt;br/&gt;This is tried to program this with the timeout function, however this does not work.&amp;nbsp;&lt;br/&gt;Then I tried to branch the experiment after 20 minutes.&lt;br/&gt;The elapsed time of the experiment does not seem to be correct in my output.&lt;br/&gt;It shows an amount of time that is way to long.&lt;br/&gt;Do you know a solution to this problem?&lt;br/&gt;This part of the script is bellow.&lt;br/&gt;&lt;br/&gt;Thanks in advance.&amp;nbsp;&lt;br/&gt;Johanne&lt;br/&gt;&lt;br/&gt;&amp;lt;expt bversion&amp;gt;&lt;br/&gt;/ subjects = (1 of 1)&lt;br/&gt;/ skip = [values.experimentswitch==1]&lt;br/&gt;/ skip = [values.experimentswitch==3]&lt;br/&gt;/ onexptbegin = [if (!values.showdeckinfo) text.deck.textcolor = white]&lt;br/&gt;/ blocks = [1 = color]&lt;br/&gt;/ preinstructions = (welcome, page1)&lt;br/&gt;/ postinstructions = (endb)&lt;br/&gt;/ onexptend = [values.completed = 1]&lt;br/&gt;&lt;strong&gt;/ branch = [if (expt.bversion.elapsedtime &amp;lt; 1200000) expt.cversion] &lt;br/&gt;&lt;/strong&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block color&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse = 0]&lt;br/&gt;/ onblockbegin = [values.colorblockcount = values.colorblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 1]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.colorblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.colorblockcount == 1) values.trialscompletefirstcategory = values.colortrialcount]&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.colorblockcount == 1)  values.percenterror_C1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_C2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;/ branch = [if (values.colorblockcount &amp;gt; values.cstotalblocks) ]&lt;br/&gt;/ branch = [if (expressions.toomanytrials) ]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0) &lt;br/&gt;{values.OldRuleWindow = 1;  values.RuleChange = 1; block.form}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block form&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse = 0]&lt;br/&gt;/ onblockbegin = [values.formblockcount = values.formblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 2]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.formblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.formblockcount == 1)  values.percenterror_F1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_F2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;&lt;br/&gt;/ branch = [if (values.formblockcount &amp;gt; values.cstotalblocks)]&lt;br/&gt;/ branch = [if (expressions.toomanytrials)]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values, values.correctstreakthreshold)==0) &lt;br/&gt;{values.OldRuleWindow = 1; values.RuleChange = 1; block.number}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block number&amp;gt;&lt;br/&gt;/ stop = [values.quitb == 1]&lt;br/&gt;/ onblockbegin = [values.correctstreak = 0; values.errorsum_block = 0]&lt;br/&gt;/ onblockbegin = [values.PerseverativeResponse= 0]&lt;br/&gt;/ onblockbegin = [values.numberblockcount = values.numberblockcount + 1]&lt;br/&gt;/ onblockbegin = [values.category = 3]&lt;br/&gt;&lt;br/&gt;/ trials = [1 = selectcard]&lt;br/&gt;&lt;br/&gt;/ skip = [values.numberblockcount &amp;gt;= values.cstotalblocks]&lt;br/&gt;/ stop = [expressions.toomanytrials]&lt;br/&gt;/ stop = [values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold)==0]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.correctstreak == values.correctstreakthreshold ) &lt;br/&gt;values.completedcategories = values.completedcategories + 1]&lt;br/&gt;&lt;br/&gt;/ onblockend = [if (values.numberblockcount == 1)  values.percenterror_N1 = 100 * (values.errorsum_block/trial.selectcard.count)&lt;br/&gt;else values.percenterror_N2 = 100*(values.errorsum_block/trial.selectcard.count)]&lt;br/&gt;&lt;br/&gt;/ branch = [if (values.numberblockcount &amp;gt; values.cstotalblocks)]&lt;br/&gt;/ branch = [if (expressions.toomanytrials)]&lt;br/&gt;/ branch = [if (values.correctstreak &amp;gt; 0 &amp;amp;&amp;amp; mod(values.correctstreak, values.correctstreakthreshold) ==0) &lt;br/&gt;{values.OldRuleWindow = 1; values.RuleChange = 1; block.color}]&lt;br/&gt;&lt;strong&gt;/ timeout = max(&lt;strong&gt;1200000&lt;/strong&gt; - block.color.elapsedtime - block.form.elapsedtime - block.number.elapsedtime, 1)&lt;br/&gt;&lt;/strong&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;</description><pubDate>Mon, 06 Mar 2017 02:24:22 GMT</pubDate><dc:creator>Johanne</dc:creator></item><item><title>RE: error sound and quit button</title><link>https://forums.millisecond.com/Topic20906.aspx</link><description>&lt;div data-id="20905" class="if-quote-wrapper" unselectable="on" data-guid="1488302706253"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="20905" 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="20905" 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="20905" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Johanne - Tuesday, February 28, 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-20905"&gt;&lt;div class="if-quote-message-margin"&gt;Hi Dave, thanks a lot for the last answer!&lt;br/&gt; I have some follow up questions.&lt;br/&gt; &lt;br/&gt; Is it possible to have and an error message and sound at the same time with the responsemessage &amp;nbsp;feature?&lt;br/&gt; &lt;br/&gt; Furthermore, I was wondering if you can programme in the openended trial that when the participants press the ESC button the expt (so not the script) quits. If I understand correctly the scancode for the ESC-key is 1. However, now the expt ends when you press 1 and the ‘nextbutton’.&lt;br/&gt; See part of the script below. &lt;br/&gt; &lt;br/&gt; Thanks in advance!&lt;br/&gt; Johanne&lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &amp;lt;openended testC&amp;gt;&lt;br/&gt; / stimulusframes = [1 = testC, stoppen]&lt;br/&gt; / iscorrectresponse = [&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response = toupper(openended.testC.response);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response = replaceall(values.response, " ", "");&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.correctAnswer = getitem(item.testC_correctAnswers,text.testC.currentitemnumber);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response == values.correctAnswer;&lt;br/&gt; ]&lt;br/&gt; / validresponse = (anyresponse, correctAnswer) &lt;br/&gt; / validresponse = (scancode)&lt;br/&gt; &lt;br/&gt; / ontrialend = [&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert(item.testAccuracy_easy,openended.testC.correct, 1);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (openended.testC.correct) {&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert(item.testlatencies_easy,openended.testC.latency, 1);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } ;&lt;br/&gt; &lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (openended.testC.response != "") {&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.countAttempted = values.countAttempted + 1;&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }]&lt;br/&gt; /ontrialend = [if (trial.testC.response == 1)&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {values.quittimec = block.testC.elapsedtime; &lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.quitc = 1;}]&lt;br/&gt; &lt;br/&gt; / buttonlabel = "volgende"&lt;br/&gt; / timeout = 20000&lt;br/&gt; / errormessage = true(errorfeedback, 500)&lt;br/&gt; / correctmessage = true(correctfeedback,500)&lt;br/&gt; / ontrialend = [values.testCCorrect = trial.testC.numCorrect]&lt;br/&gt; &amp;lt;/openended&amp;gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="20905"&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;&amp;gt; Is it possible to have and an error message and sound at the same time with the responsemessage &amp;nbsp;feature?&lt;br/&gt;&lt;br/&gt;Yes.&lt;br/&gt;&lt;br/&gt;&amp;gt; I was wondering if you can programme in the openended trial that when the participants press the ESC button the expt (so not the script).&lt;br/&gt;&lt;br/&gt;No. The only thing you can do is have the participants type some special word (e.g. "quit") into the openended's textbox and then /stop based on that.&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ stop = [openended.testc.response == "quit"]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;</description><pubDate>Tue, 28 Feb 2017 09:27:25 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: error sound and quit button</title><link>https://forums.millisecond.com/Topic20905.aspx</link><description>Hi Dave, thanks a lot for the last answer!&lt;br/&gt; I have some follow up questions.&lt;br/&gt; &lt;br/&gt; Is it possible to have and an error message and sound at the same time with the responsemessage &amp;nbsp;feature?&lt;br/&gt; &lt;br/&gt; Furthermore, I was wondering if you can programme in the openended trial that when the participants press the ESC button the expt (so not the script) quits. If I understand correctly the scancode for the ESC-key is 1. However, now the expt ends when you press 1 and the ‘nextbutton’.&lt;br/&gt; See part of the script below. &lt;br/&gt; &lt;br/&gt; Thanks in advance!&lt;br/&gt; Johanne&lt;br/&gt; &lt;br/&gt; &lt;br/&gt; &amp;lt;openended testC&amp;gt;&lt;br/&gt; / stimulusframes = [1 = testC, stoppen]&lt;br/&gt; / iscorrectresponse = [&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response = toupper(openended.testC.response);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response = replaceall(values.response, " ", "");&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.correctAnswer = getitem(item.testC_correctAnswers,text.testC.currentitemnumber);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.response == values.correctAnswer;&lt;br/&gt; ]&lt;br/&gt; / validresponse = (anyresponse, correctAnswer) &lt;br/&gt; / validresponse = (scancode)&lt;br/&gt; &lt;br/&gt; / ontrialend = [&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert(item.testAccuracy_easy,openended.testC.correct, 1);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (openended.testC.correct) {&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert(item.testlatencies_easy,openended.testC.latency, 1);&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } ;&lt;br/&gt; &lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (openended.testC.response != "") {&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.countAttempted = values.countAttempted + 1;&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }]&lt;br/&gt; /ontrialend = [if (trial.testC.response == 1)&lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {values.quittimec = block.testC.elapsedtime; &lt;br/&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.quitc = 1;}]&lt;br/&gt; &lt;br/&gt; / buttonlabel = "volgende"&lt;br/&gt; / timeout = 20000&lt;br/&gt; / errormessage = true(errorfeedback, 500)&lt;br/&gt; / correctmessage = true(correctfeedback,500)&lt;br/&gt; / ontrialend = [values.testCCorrect = trial.testC.numCorrect]&lt;br/&gt; &amp;lt;/openended&amp;gt;&lt;br/&gt;</description><pubDate>Tue, 28 Feb 2017 09:07:07 GMT</pubDate><dc:creator>Johanne</dc:creator></item><item><title>RE: error sound and quit button</title><link>https://forums.millisecond.com/Topic20827.aspx</link><description>&lt;div data-id="20825" class="if-quote-wrapper" unselectable="on" data-guid="1487701145623"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="20825" 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="20825" 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="20825" title=" "&gt;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Johanne - Tuesday, February 21, 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-20825"&gt;&lt;div class="if-quote-message-margin"&gt;Hello,&amp;nbsp;&lt;br/&gt;&lt;br/&gt;I have two questions concerning a script I'm writing with Inquisit 3.&amp;nbsp;&lt;br/&gt;1) I would like a &amp;nbsp;errorfeedback when the participant makes a mistake.&amp;nbsp;&lt;br/&gt;I tried to program this, however it does not seem to work.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;lt;item errorsound&amp;gt;&lt;br/&gt;/1 = "errorsound.wav"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;sound errorfeedbacksound&amp;gt;&lt;br/&gt;/items = errorsound&lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial testA&amp;gt;&lt;br/&gt;/ ontrialbegin = [if (trial.testA.correct == false) sound.errorfeedbacksound]&lt;br/&gt;/ stimulusframes = [1=correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten,&lt;br/&gt;&amp;nbsp;&amp;nbsp; eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, numbers, quitbuttona]&lt;br/&gt;/ validresponse = (correctAnswer, one, two, three, four, five, six, seven, eight, nine, ten,&lt;br/&gt;&amp;nbsp;  eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, quitbuttona)&lt;br/&gt;/ correctresponse = (correctAnswer)&lt;br/&gt;/ correctmessage = true(correctMark, 0)&lt;br/&gt;/ errormessage = true(errorMark, 0)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;2) Furthermore, I would like a quit button during every task (when the participant clicks on the button the task stops).&lt;br/&gt;I was wondering if it is also possible to have this in a openended trial.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;lt;openended testC&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = testC, stoppen]&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;values.response = toupper(openended.testC.response);&lt;br/&gt;values.response = replaceall(values.response, " ", "");&lt;br/&gt;values.correctAnswer = getitem(item.testC_correctAnswers,text.testC.currentitemnumber);&lt;br/&gt;values.response == values.correctAnswer;&lt;br/&gt;]&lt;br/&gt;/ validresponse = (quitbuttonc, anyresponse, correctAnswer)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;insert(item.testAccuracy_easy,openended.testC.correct, 1);&lt;br/&gt;if (openended.testC.correct) {&lt;br/&gt;insert(item.testlatencies_easy,openended.testC.latency, 1);&lt;br/&gt;} ;&lt;br/&gt;if (openended.testC.response != "") {&lt;br/&gt;values.countAttempted = values.countAttempted + 1;&lt;br/&gt;}]&lt;br/&gt;/ontrialend = [if (trial.testC.response == "quitbuttonc") &lt;br/&gt;{values.quittimec = block.testC.elapsedtime; &lt;br/&gt;values.quitc = 1;}]&lt;br/&gt;/ buttonlabel = "volgende"&lt;br/&gt;/ timeout = 20000&lt;br/&gt;/ errormessage = true(errorfeedback, 500)&lt;br/&gt;/ correctmessage = true(correctfeedback,500)&lt;br/&gt;/ ontrialend = [values.testCCorrect = trial.testC.numCorrect]&lt;br/&gt;&amp;lt;/openended&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block testC&amp;gt;&lt;br/&gt;/ stop = [values.quitc == 1]&lt;br/&gt;/ trials = [1-25 = testC]&lt;br/&gt;/ timeout = 1200000&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thanks in advance!&lt;br/&gt;Johanne&lt;a class="if-quote-goto quote-link" href="#" data-id="20825"&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;/ errormessage = true(errorMark, 0)&lt;br/&gt;&lt;br/&gt;needs to read &lt;br/&gt;&lt;br/&gt;/ errormessage = true(errorfeedbacksound, 500)&lt;br/&gt;&lt;br/&gt;Also, a &amp;lt;trial&amp;gt; may only have a single /errormessage and a single /correctmessage attribute, not mulltiple. You may, however, define multiple /responsemessage attributes.&lt;br/&gt;&lt;br/&gt;&amp;gt; 2) Furthermore, I would like a quit button during every task (when the participant clicks on the button the task stops).&lt;br/&gt;&amp;gt; I was wondering if it is also possible to have this in a openended trial. &lt;br/&gt;&lt;br/&gt;No. &lt;br/&gt;</description><pubDate>Tue, 21 Feb 2017 10:21:37 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>