﻿<?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 6  » ontrialend 'too slow' feedback not working</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Fri, 17 Apr 2026 09:46:44 GMT</lastBuildDate><ttl>20</ttl><item><title>ontrialend 'too slow' feedback not working</title><link>https://forums.millisecond.com/Topic35678.aspx</link><description>Hello,&lt;br/&gt;First of all thank you, Dave, for all the previous help.&lt;br/&gt;Last few days I puzzled over this:&lt;br/&gt;In short; I have different trials (irrelevants, probes, targets, irrelevant_sounds, probes_sounds and targets_sounds). The ..._sounds trials need different 'tooslow' feedback since they are only finished playing after 1 second (and the other stimuli present right away on the screen).&lt;br/&gt;I implemented the feedback in the script (in bold) but when I run the block, the too slow feedback doesn't always appear. Often 6 out of 30 trials (1 block = 30 trials) it doesn't. &lt;br/&gt;I really don't understand how this happens. Does anyone have an idea?&lt;br/&gt;Thank you for checking my script!&lt;br/&gt;&lt;br/&gt;&amp;lt;trial irrelevants&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants.insertstimulustime(list.irrelevants.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants.latency &amp;gt; 800){trial.irrelevants.insertstimulustime(text.tooslow, 800&lt;/strong&gt;)}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;/branch= [if(trial.irrelevants.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets&amp;gt;&lt;br/&gt;/ ontrialbegin = [ &lt;br/&gt;&amp;nbsp; trial.targets.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets.insertstimulustime(list.targets.nextvalue, 200); &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets.latency &amp;gt; 800){trial.targets.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.targets.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no] &lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // yes = s-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes.insertstimulustime(list.probes.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes.latency &amp;gt; 800){trial.probes.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.probes.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") &lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;TRIAL SOUNDS________&lt;br/&gt;&amp;lt;trial irrelevants_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.insertstimulustime(list.irrelevants_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants_sounds.latency &amp;gt; 1800){trial.irrelevants_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.irrelevants_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.targets_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets_sounds.insertstimulustime(list.targets_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets_sounds.latency &amp;gt; 1800){trial.targets_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.targets_sounds.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes_sounds.insertstimulustime(list.probes_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes_sounds.latency &amp;gt; 1800){trial.probes_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.probes_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;</description><pubDate>Fri, 06 Oct 2023 08:40:55 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: ontrialend 'too slow' feedback not working</title><link>https://forums.millisecond.com/Topic35683.aspx</link><description>&lt;blockquote data-id="35682" class="if-quote-wrapper" unselectable="on" data-guid="1696581578857" contenteditable="false" id="if_insertedNode_1696581578214"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="35682" 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="35682" 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="35682" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 10/6/2023&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-35682"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;thank you once again&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="35682"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;it works perfect now :)&lt;br/&gt;</description><pubDate>Fri, 06 Oct 2023 08:40:55 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: ontrialend 'too slow' feedback not working</title><link>https://forums.millisecond.com/Topic35682.aspx</link><description>thank you once again&lt;br/&gt;</description><pubDate>Fri, 06 Oct 2023 08:39:23 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: ontrialend 'too slow' feedback not working</title><link>https://forums.millisecond.com/Topic35680.aspx</link><description>&lt;blockquote data-id="35679" class="if-quote-wrapper" unselectable="on" data-guid="1696514518487" contenteditable="false" id="if_insertedNode_1696514517606"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="35679" 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="35679" 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="35679" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 10/5/2023&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-35679"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="35678" class="if-quote-wrapper" unselectable="on" data-guid="1696514518487" contenteditable="false" id="if_insertedNode_1696511646269"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="35678" 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="35678" 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="35678" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 10/5/2023&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-35678"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello,&lt;br/&gt;First of all thank you, Dave, for all the previous help.&lt;br/&gt;Last few days I puzzled over this:&lt;br/&gt;In short; I have different trials (irrelevants, probes, targets, irrelevant_sounds, probes_sounds and targets_sounds). The ..._sounds trials need different 'tooslow' feedback since they are only finished playing after 1 second (and the other stimuli present right away on the screen).&lt;br/&gt;I implemented the feedback in the script (in bold) but when I run the block, the too slow feedback doesn't always appear. Often 6 out of 30 trials (1 block = 30 trials) it doesn't. &lt;br/&gt;I really don't understand how this happens. Does anyone have an idea?&lt;br/&gt;Thank you for checking my script!&lt;br/&gt;&lt;br/&gt;&amp;lt;trial irrelevants&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants.insertstimulustime(list.irrelevants.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants.latency &amp;gt; 800){trial.irrelevants.insertstimulustime(text.tooslow, 800&lt;/strong&gt;)}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;/branch= [if(trial.irrelevants.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets&amp;gt;&lt;br/&gt;/ ontrialbegin = [ &lt;br/&gt;&amp;nbsp; trial.targets.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets.insertstimulustime(list.targets.nextvalue, 200); &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets.latency &amp;gt; 800){trial.targets.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.targets.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no] &lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // yes = s-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes.insertstimulustime(list.probes.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes.latency &amp;gt; 800){trial.probes.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.probes.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") &lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;TRIAL SOUNDS________&lt;br/&gt;&amp;lt;trial irrelevants_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.insertstimulustime(list.irrelevants_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants_sounds.latency &amp;gt; 1800){trial.irrelevants_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.irrelevants_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.targets_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets_sounds.insertstimulustime(list.targets_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets_sounds.latency &amp;gt; 1800){trial.targets_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.targets_sounds.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes_sounds.insertstimulustime(list.probes_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes_sounds.latency &amp;gt; 1800){trial.probes_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.probes_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="35678"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;You don't know what the response latency in the current trial &lt;strong&gt;will &lt;/strong&gt;be /ontrialbegin, so the whole approach makes no sense. The stimulus will be inserted if the latency in the &lt;strong&gt;previous&lt;/strong&gt; instance of that trial was greater than the value specified.&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="35679"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;FWIW, what you'll probably want to do is simply this: Always have the "too slow" stimulus in your trial's stimulus presentation sequence, have /beginresponsetime at 0 or 200 (if you want latency relative to the onset of the probe stimulus) and set /responseinterrupt to immediate, That way, if a participant responds before the "too slow" stimulus is scheduled to appear, they will not see it. If they take longer, they will.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;trial probes_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.probes_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.probes_sounds.insertstimulustime(list.probes_sounds.nextvalue, 200);&lt;br/&gt; ]&lt;br/&gt;/branch= [if(trial.probes_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon; 1800=tooslow]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/responseinterrupt = immediate&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0 // or 200&lt;br/&gt;&amp;lt;/trial&amp;gt;[/code]</description><pubDate>Thu, 05 Oct 2023 14:07:52 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: ontrialend 'too slow' feedback not working</title><link>https://forums.millisecond.com/Topic35679.aspx</link><description>&lt;blockquote data-id="35678" class="if-quote-wrapper" unselectable="on" data-guid="1696511647289" contenteditable="false" id="if_insertedNode_1696511646269"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="35678" 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="35678" 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="35678" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 10/5/2023&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-35678"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello,&lt;br/&gt;First of all thank you, Dave, for all the previous help.&lt;br/&gt;Last few days I puzzled over this:&lt;br/&gt;In short; I have different trials (irrelevants, probes, targets, irrelevant_sounds, probes_sounds and targets_sounds). The ..._sounds trials need different 'tooslow' feedback since they are only finished playing after 1 second (and the other stimuli present right away on the screen).&lt;br/&gt;I implemented the feedback in the script (in bold) but when I run the block, the too slow feedback doesn't always appear. Often 6 out of 30 trials (1 block = 30 trials) it doesn't. &lt;br/&gt;I really don't understand how this happens. Does anyone have an idea?&lt;br/&gt;Thank you for checking my script!&lt;br/&gt;&lt;br/&gt;&amp;lt;trial irrelevants&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants.insertstimulustime(list.irrelevants.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants.latency &amp;gt; 800){trial.irrelevants.insertstimulustime(text.tooslow, 800&lt;/strong&gt;)}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;/branch= [if(trial.irrelevants.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets&amp;gt;&lt;br/&gt;/ ontrialbegin = [ &lt;br/&gt;&amp;nbsp; trial.targets.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets.insertstimulustime(list.targets.nextvalue, 200); &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets.latency &amp;gt; 800){trial.targets.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.targets.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no] &lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // yes = s-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes.insertstimulustime(list.probes.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes.latency &amp;gt; 800){trial.probes.insertstimulustime(text.tooslow, 800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/branch= [if (trial.probes.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") &lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;TRIAL SOUNDS________&lt;br/&gt;&amp;lt;trial irrelevants_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.irrelevants_sounds.insertstimulustime(list.irrelevants_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;&amp;nbsp;if (trial.irrelevants_sounds.latency &amp;gt; 1800){trial.irrelevants_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.irrelevants_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial targets_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.targets_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.targets_sounds.insertstimulustime(list.targets_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.targets_sounds.latency &amp;gt; 1800){trial.targets_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.targets_sounds.responsetext == "l")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("s") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial probes_sounds&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp; trial.probes_sounds.resetstimulusframes();&lt;br/&gt;&amp;nbsp; trial.probes_sounds.insertstimulustime(list.probes_sounds.nextvalue, 200);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;nbsp;if (trial.probes_sounds.latency &amp;gt; 1800){trial.probes_sounds.insertstimulustime(text.tooslow, 1800)&lt;/strong&gt;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]&lt;br/&gt;/branch= [if(trial.probes_sounds.responsetext == "s")trial.wrong]&lt;br/&gt;/stimulustimes = [0 = yes, no, soundicon]&lt;br/&gt;/validresponse = ("s","l")&lt;br/&gt;/correctresponse = ("l") // no = l-key&lt;br/&gt;/timeout = 2500&lt;br/&gt;/beginresponsetime = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="35678"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;You don't know what the response latency in the current trial &lt;strong&gt;will &lt;/strong&gt;be /ontrialbegin, so the whole approach makes no sense. The stimulus will be inserted if the latency in the &lt;strong&gt;previous&lt;/strong&gt; instance of that trial was greater than the value specified.&lt;br/&gt;</description><pubDate>Thu, 05 Oct 2023 13:17:13 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>