﻿<?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  » Expression for Continuous Feedback?</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Mon, 24 Aug 2026 05:04:36 GMT</lastBuildDate><ttl>20</ttl><item><title>Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic11939.aspx</link><description>Hi all,&lt;br/&gt;&lt;br/&gt;I'm currently writing a script on Inquisit 3.0 in which participants' eye-movements determine task flow. Specifically, &lt;em&gt;where&lt;/em&gt; they look determines whether they are correct or not and &lt;em&gt;how fast&lt;/em&gt; they look in the correct place determines how many points they receive (which they are&amp;nbsp;shown on screen after every trial).&lt;br/&gt;&lt;br/&gt;Initially, we were going to simply use a reaction time (RT) cut-off/categorical approach (e.g. &lt;font size="3"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;/ branch = [if (trial.16.latency &amp;lt; 250) trial.01]; &lt;/font&gt;&lt;font size="2"&gt;/ branch = [if (trial.16.latency &amp;lt; 500) trial.02] etc.) but now we want to try&amp;nbsp;to determine RT and thus feedback continuously (i.e. from 1-4200 ms).&lt;br/&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;font size="2"&gt;Further, we would like to build into this continuous feedback a cut-off at 1000ms,&amp;nbsp;RTs over which participants receive no points. Finally, some trials will be "low reward" and others "high reward" - the points received in the former will necessarily be lower than in the latter, even when RT is identical. &lt;br/&gt;&lt;br/&gt;The calculation will be (1000 - RT) x 0.002 x&amp;nbsp;reward trial type (1 OR 10).&lt;br/&gt;&lt;br/&gt;I have never programmed anything like this before so am unsure how to do it (or even whether it can be done on Inquisit!) but have heard that expressions may be the way to go? If so, how exactly might it look in the script?&lt;br/&gt;&lt;br/&gt;I appreciate any help and advice any of you can give.&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;Jay&lt;br/&gt;&lt;/font&gt;&lt;br/&gt;&lt;/font&gt;&lt;br/&gt;</description><pubDate>Tue, 07 Jan 2014 05:19:30 GMT</pubDate><dc:creator>***JayD***</dc:creator></item><item><title>RE: Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic12037.aspx</link><description>Indeed, multiple &amp;lt;values&amp;gt; elements in a given script elements are not supported in Inquisit 3 (they are in Inquisit 4, though). Glad you were able to identify the issue.&lt;br/&gt;</description><pubDate>Tue, 07 Jan 2014 05:19:30 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic12036.aspx</link><description>Hi,&lt;br/&gt;&lt;br/&gt;I've figured out what the problem is - an additional&amp;nbsp;"values" element was tucked away in the script which had gone unnoticed (it was a remnant of an earlier version of the task).&lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;&lt;br/&gt;Jay&lt;br/&gt;</description><pubDate>Tue, 07 Jan 2014 02:47:33 GMT</pubDate><dc:creator>***JayD***</dc:creator></item><item><title>RE: Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic12035.aspx</link><description>Hi Dave,&lt;br/&gt;&lt;br/&gt;I used your last response to allow for continuous feedback in one of my tasks and it worked perfectly.&lt;br/&gt;&lt;br/&gt;However, I have just tried to apply the same example script you sent on another (very similar) script and Inquisit keeps giving me error messages.&lt;br/&gt;&lt;br/&gt;Here is some of the script for the task in which the feedback works:&lt;br/&gt;&lt;p&gt;******************************************************** VALUES &amp;amp; EXPRESSIONS ********************************************************&lt;/p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;p&gt;&amp;lt;values&amp;gt;&lt;/p&gt;&lt;p&gt;/ highreward = 10&lt;/p&gt;&lt;p&gt;/ lowreward = 1&lt;/p&gt;&lt;p&gt;/ reward = 0&lt;/p&gt;&lt;p&gt;/ RT = 0&lt;/p&gt;&lt;p&gt;/ points = 0&lt;/p&gt;&lt;p&gt;/ totalscore = 0&lt;/p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;p&gt;&amp;lt;/values&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;expressions&amp;gt;&lt;/p&gt;&lt;p&gt;/ calculatereward = max (0, (1000 - values.RT) * 0.002 * values.reward)&lt;/p&gt;&lt;p&gt;&amp;lt;/expressions&amp;gt;&lt;/p&gt;&lt;p&gt;************************************************ TRIALS **********************************************&lt;/p&gt;&lt;p&gt;*********************** FEEDBACK ***********************&lt;/p&gt;&lt;p&gt;&amp;lt;trial feedbacktrial&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes = [1 = FBtext]&lt;/p&gt;&lt;p&gt;/ response = timeout (1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text FBtext&amp;gt;&lt;/p&gt;&lt;p&gt;/ items = ("Correct! You win &amp;lt;%values.points%&amp;gt; MONEY points")&lt;/p&gt;&lt;p&gt;/ fontstyle = ("Arial", 4.79%, false, false, false, false, 5, 0)&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (0, 255, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0)&lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;************************&lt;/p&gt;&lt;p&gt;&amp;lt;trial 999&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes = [1=error]&lt;/p&gt;&lt;p&gt;/ response = timeout (1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt; &lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text error&amp;gt;&lt;/p&gt;&lt;p&gt;/ fontstyle = ("Arial", 4.79%, false, false, false, false, 5, 0)&lt;/p&gt;&lt;p&gt;/ items = ("Incorrect! You lose 5 MONEY points")&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (255, 0, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0) &lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;********************************************************* HD (RED) TRIALS ************************************************&lt;/p&gt;&lt;p&gt;************************************* DIAMOND TOP ***************************************&lt;/p&gt;&lt;p&gt;&amp;lt;trial HRT1&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 800 = Diamond_Top, Red_BR, Grey_Top_Right, Grey_Bottom, Grey_Bottom_Left, Grey_Top_Left, xdat1]&lt;/p&gt;&lt;p&gt;/ correctresponse = (Diamond_Top)&lt;/p&gt;&lt;p&gt;/ validresponse = (Red_BR, Diamond_Top)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.highreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.HRT1.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT1.correct, EQ, 1, feedbacktrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT1.correct, EQ, 0, 999)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;trial HRT2&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 800 = Diamond_Top, Red_B, Grey_Top_Right, Grey_Bottom_Right, Grey_Bottom_Left, Grey_Top_Left, xdat2]&lt;/p&gt;&lt;p&gt;/ correctresponse = (Diamond_Top)&lt;/p&gt;&lt;p&gt;/ validresponse = (Red_B, Diamond_Top)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.highreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.HRT2.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT2.correct, EQ, 1, feedbacktrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT2.correct, EQ, 0, 999)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;trial HRT3&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 800 = Diamond_Top, Red_BL, Grey_Top_Right, Grey_Bottom_Right, Grey_Bottom, Grey_Top_Left, xdat3]&lt;/p&gt;&lt;p&gt;/ correctresponse = (Diamond_Top)&lt;/p&gt;&lt;p&gt;/ validresponse = (Red_BL, Diamond_Top)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.highreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.HRT3.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT3.correct, EQ, 1, feedbacktrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.HRT3.correct, EQ, 0, 999)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;/p&gt;&lt;br/&gt;This works perfectly. &lt;br/&gt;&lt;br/&gt;However, the following is from my next task in which I've employed almost exactly the same script and I keep getting error messages such as "Expression values.reward is invalid. Expression contains an unkown element or property name." Similar messages appear for values.RT too (and perhaps others but I haven't yet checked).&lt;br/&gt;&lt;br/&gt;******************************************************** VALUES &amp;amp; EXPRESSIONS ********************************************************&lt;p&gt;&amp;lt;values&amp;gt;&lt;/p&gt;&lt;p&gt;/ normalreward = 1&lt;/p&gt;&lt;p&gt;/ reward = 0&lt;/p&gt;&lt;p&gt;/ RT = 0&lt;/p&gt;&lt;p&gt;/ points = 0&lt;/p&gt;&lt;p&gt;/ totalscore = 0&lt;/p&gt;&lt;p&gt;&amp;lt;/values&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;expressions&amp;gt;&lt;/p&gt;&lt;p&gt;/ calculatereward = max (0, (1000 - values.RT) * 0.002 * values.reward)&lt;/p&gt;&lt;p&gt;&amp;lt;/expressions&amp;gt;&lt;/p&gt;&lt;p&gt;******************************** ERROR FEEDBACK *********************************&lt;/p&gt;&lt;p&gt;&amp;lt;trial 999A&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes=[1=error_A]&lt;/p&gt;&lt;p&gt;/ response = timeout(1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt; &lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text error_A&amp;gt;&lt;/p&gt;&lt;p&gt;/ font = ("Arial", 50, 400, 0, 34)&lt;/p&gt;&lt;p&gt;/ items = ("Incorrect! You lose 5 ALCOHOL points")&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (255, 0, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0) &lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;*********************&lt;/p&gt;&lt;p&gt;&amp;lt;trial 999C&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes=[1=error_C]&lt;/p&gt;&lt;p&gt;/ response = timeout(1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt; &lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text error_C&amp;gt;&lt;/p&gt;&lt;p&gt;/ font = ("Arial", 50, 400, 0, 34)&lt;/p&gt;&lt;p&gt;/ items = ("Incorrect! You lose 5 CHOCOLATE points")&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (255, 0, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0) &lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;***********************&lt;/p&gt;&lt;p&gt;&amp;lt;trial 999N&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes=[1=error_N]&lt;/p&gt;&lt;p&gt;/ response = timeout(1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt; &lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text error_N&amp;gt;&lt;/p&gt;&lt;p&gt;/ font = ("Arial", 50, 400, 0, 34)&lt;/p&gt;&lt;p&gt;/ items = ("Incorrect! You lose 0 points")&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (255, 0, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0) &lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;******************************** POSITIVE FEEDBACK *********************************&lt;/p&gt;&lt;p&gt;&amp;lt;trial A_FBtrial&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes = [1 = A_FBtext]&lt;/p&gt;&lt;p&gt;/ response = timeout (1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text A_FBtext&amp;gt;&lt;/p&gt;&lt;p&gt;/ items = ("Correct! You win &amp;lt;%values.points%&amp;gt; ALCOHOL points")&lt;/p&gt;&lt;p&gt;/ fontstyle = ("Arial", 4.79%, false, false, false, false, 5, 0)&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (0, 255, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0)&lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;**********************&lt;/p&gt;&lt;p&gt;&amp;lt;trial C_FBtrial&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes = [1 = C_FBtext]&lt;/p&gt;&lt;p&gt;/ response = timeout (1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text C_FBtext&amp;gt;&lt;/p&gt;&lt;p&gt;/ items = ("Correct! You win &amp;lt;%values.points%&amp;gt; CHOCOLATE points")&lt;/p&gt;&lt;p&gt;/ fontstyle = ("Arial", 4.79%, false, false, false, false, 5, 0)&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (0, 255, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0)&lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;*********************&lt;/p&gt;&lt;p&gt;&amp;lt;trial N_FBtrial&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulusframes = [1 = N_FBtext]&lt;/p&gt;&lt;p&gt;/ response = timeout (1000)&lt;/p&gt;&lt;p&gt;/ recorddata = false&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;text N_FBtext&amp;gt;&lt;/p&gt;&lt;p&gt;/ items = ("Correct! Your Reaction Time was &amp;lt;%values.RT%&amp;gt; ms")&lt;/p&gt;&lt;p&gt;/ fontstyle = ("Arial", 4.79%, false, false, false, false, 5, 0)&lt;/p&gt;&lt;p&gt;/ position = (50,50)&lt;/p&gt;&lt;p&gt;/ color = (0, 255, 0)&lt;/p&gt;&lt;p&gt;/ txbgcolor = (0, 0, 0)&lt;/p&gt;&lt;p&gt;&amp;lt;/text&amp;gt;&lt;/p&gt;&lt;p&gt;************************************* STANDARD TRIALS 1 *********************************************&lt;/p&gt;&lt;p&gt;&amp;lt;trial 1&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 500 = yellow_up; 800 = blackleft_down, blackright_down, blackcentre_down, xdat1; 4999 = end]&lt;/p&gt;&lt;p&gt;/ correctresponse = (blackleft_down)&lt;/p&gt;&lt;p&gt;/ validresponse = (blackleft_down, blackright_down, blackcentre_down)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.normalreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.1.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.1.correct, EQ, 1, C_FBtrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.1.correct, EQ, 0, 999C)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;trial 2&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 500 = green_up; 800 = blackleft_down, blackright_down, blackcentre_down, xdat2; 4999 = end]&lt;/p&gt;&lt;p&gt;/ correctresponse = (blackright_down)&lt;/p&gt;&lt;p&gt;/ validresponse = (blackleft_down, blackright_down, blackcentre_down)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.normalreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.2.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.2.correct, EQ, 1, A_FBtrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.2.correct, EQ, 0, 999A)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;trial 3&amp;gt;&lt;/p&gt;&lt;p&gt;/ stimulustimes = [1 = fixation; 500 = pink_up; 800 = blackleft_down, blackright_down, blackcentre_down, xdat3; 4999 = end]&lt;/p&gt;&lt;p&gt;/ correctresponse = (blackcentre_down)&lt;/p&gt;&lt;p&gt;/ validresponse = (blackleft_down, blackright_down, blackcentre_down)&lt;/p&gt;&lt;p&gt;/ ontrialbegin = [values.reward = values.normalreward]&lt;/p&gt;&lt;p&gt;/ ontrialend = [values.RT = trial.3.latency; values.points = expressions.calculatereward; values.totalscore = values.totalscore + expressions.calculatereward]&lt;/p&gt;&lt;p&gt;/ branch = (trial.3.correct, EQ, 1, N_FBtrial)&lt;/p&gt;&lt;p&gt;/ branch = (trial.3.correct, EQ, 0, 999N)&lt;/p&gt;&lt;p&gt;/ trialduration = 5000&lt;/p&gt;&lt;p&gt;/ responsetime = 800&lt;/p&gt;&lt;p&gt;/ responseinterrupt = trial&lt;/p&gt;&lt;p&gt;&amp;lt;/trial&amp;gt;&lt;/p&gt;&lt;br/&gt;I can't figure out what the problem is as - as far as I can tell - both scripts seem almost identical in their feedback settings.&lt;br/&gt;&lt;br/&gt;Thanks again for any help you can give,&lt;br/&gt;&lt;br/&gt;Best Jay&lt;br/&gt;</description><pubDate>Tue, 07 Jan 2014 02:11:49 GMT</pubDate><dc:creator>***JayD***</dc:creator></item><item><title>RE: Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic11944.aspx</link><description>That's fantastic - Thanks a lot Dave!&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;&lt;br/&gt;Jay&lt;br/&gt;</description><pubDate>Wed, 18 Dec 2013 06:14:17 GMT</pubDate><dc:creator>***JayD***</dc:creator></item><item><title>RE: Expression for Continuous Feedback?</title><link>https://forums.millisecond.com/Topic11942.aspx</link><description>You'll want to do something along the following lines:&lt;div&gt;&lt;br/&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;font face="Courier New"&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ highreward = 10&lt;br/&gt;/ lowreward = 1&lt;br/&gt;/ reward = 0&lt;br/&gt;/ rt = 0&lt;br/&gt;/ trialscore = 0&lt;br/&gt;/ totalscore = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ calcreward = max(0, (1000 - values.rt)*0.002*values.reward)&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block myblock&amp;gt;&lt;br/&gt;/ trials = [1-10 = noreplace(highrewardtrial, lowrewardtrial)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial highrewardtrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1=mytext]&lt;br/&gt;/ ontrialbegin = [values.reward = values.highreward]&lt;br/&gt;/ ontrialend = [values.rt = trial.highrewardtrial.latency; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.trialscore = expressions.calcreward;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.totalscore = values.totalscore + expressions.calcreward]&lt;br/&gt;/ validresponse = (57)&lt;br/&gt;/ branch = [trial.feedbacktrial]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial lowrewardtrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1=mytext]&lt;br/&gt;/ ontrialbegin = [values.reward = values.lowreward]&lt;br/&gt;/ ontrialend = [values.rt = trial.lowrewardtrial.latency; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.trialscore = expressions.calcreward;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.totalscore = values.totalscore + expressions.calcreward]&lt;br/&gt;/ validresponse = (57)&lt;br/&gt;/ branch = [trial.feedbacktrial]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial feedbacktrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1=fbtext]&lt;br/&gt;/ validresponse = (57)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text mytext&amp;gt;&lt;br/&gt;/ items = ("&amp;lt;%script.currenttrial%&amp;gt;")&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text fbtext&amp;gt;&lt;br/&gt;/ items = ("RT: &amp;lt;%values.rt%&amp;gt; | Trial Score: &amp;lt;%values.trialscore%&amp;gt; | Total Score: &amp;lt;%values.totalscore%&amp;gt;")&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;br/&gt;&lt;/font&gt;&lt;/blockquote&gt;</description><pubDate>Wed, 18 Dec 2013 06:06:29 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>