﻿<?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  » Branching + creating proper blocks</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Tue, 05 May 2026 03:46:25 GMT</lastBuildDate><ttl>20</ttl><item><title>Branching + creating proper blocks</title><link>https://forums.millisecond.com/Topic20018.aspx</link><description>So the idea of the task is when someone chooses the risky selection, they go to the trial that contains an image that rewards them points. However, when I run the task, it doesn't send them there once they have selected the risky or safe option. Additionally, I know that the block needs to include ALL the trials, but rather then running the trials based on their branch conditions, it is just running them all separately. &amp;nbsp;&lt;br/&gt;I removed the script that I had for the images, since it is done correctly and not an issue.&amp;nbsp;&lt;br/&gt;&lt;br/&gt;****TRIALS******&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/randomnum = "NA"&lt;br/&gt;/cutoff1=10&lt;br/&gt;/cutoff2=50&lt;br/&gt;/cutoff3=90&lt;br/&gt;/cutoff4=100&lt;br/&gt;/score = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;for risky choices this means theres a 10% chance of the worst outcome, 40% 2nd worse.... etc&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial gain10object&amp;gt;&lt;br/&gt;/ stimulusframes = [1=gain10object]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp; values.score = values.score +=10]&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial gain20house&amp;gt;&lt;br/&gt;/ stimulusframes = [1=gain20house]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp; values.score = values.score +=20]&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial lose10animal&amp;gt;&lt;br/&gt;/ stimulusframes = [1=lose10animal]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp; values.score = values.score -=10]&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial lose20place&amp;gt;&lt;br/&gt;/ stimulusframes = [1=lose20place]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp; values.score = values.score -=20]&lt;br/&gt;/ timeout = 50&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page pre&amp;gt;&lt;br/&gt;^^TEXT&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page post&amp;gt;&lt;br/&gt;^^TEXT&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block test&amp;gt;&lt;br/&gt;/ preinstructions = (page.pre)&lt;br/&gt;/postinstructions = (page.post)&lt;br/&gt;/trials = [&lt;br/&gt;1-10 = replace(choiceriskyleft, choiceriskyright, gain10object, gain20house, lose10animal, lose20place)&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial choiceriskyleft&amp;gt;&lt;br/&gt;/ontrialbegin = [values.randomnum = rand(1,100)]&lt;br/&gt;/stimulusframes = [1 = yellowstarriskyleft, redblocksaferight]&lt;br/&gt;/validresponse = ("f", "j")&lt;br/&gt;/branch= [if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="f") trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="j") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff1 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff2 &amp;amp;&amp;amp; response=="f") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff1 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff2 &amp;amp;&amp;amp; response=="j") trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff2 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff3 &amp;amp;&amp;amp; response=="f") trial.lose10animal]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff2 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff3 &amp;amp;&amp;amp; response=="j") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff3 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff4 &amp;amp;&amp;amp; response=="f") trial.lose20place]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff3 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff4 &amp;amp;&amp;amp; response=="j") trial.lose10animal]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial choiceriskyright&amp;gt;&lt;br/&gt;/ontrialbegin = [values.randomnum = rand(1,100)]&lt;br/&gt;/stimulusframes = [1 = yellowstarriskyright, redblocksafeleft]&lt;br/&gt;/validresponse = ("f", "j")&lt;br/&gt;/branch= [if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="j") trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="f") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff1 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff2 &amp;amp;&amp;amp; response=="j") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff1 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff2 &amp;amp;&amp;amp; response=="f") trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff2 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff3 &amp;amp;&amp;amp; response=="j") trial.lose10animal]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff2 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff3 &amp;amp;&amp;amp; response=="f") trial.gain20house]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff3 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff4 &amp;amp;&amp;amp; response=="j") trial.lose20place]&lt;br/&gt;/branch =[if (values.randomnum &amp;gt;values.cutoff3 &amp;amp;&amp;amp; values.randomnum &amp;gt;=values.cutoff4 &amp;amp;&amp;amp; response=="f") trial.lose10animal]&lt;br/&gt;&amp;lt;/trial&amp;gt;</description><pubDate>Tue, 01 Nov 2016 14:27:03 GMT</pubDate><dc:creator>liznik</dc:creator></item><item><title>RE: Branching + creating proper blocks</title><link>https://forums.millisecond.com/Topic20019.aspx</link><description>#1: If you want to determine which gain or loss trial to run contingent on a subject's choice in the choice trials, it makes no sense to include gain and loss trials in the &amp;lt;block&amp;gt;'s /trials attribute. You cannot know that you want to run them. You will want to exclusively invoke them via /branch at the &amp;lt;trial&amp;gt;-level.&lt;br/&gt;&lt;br/&gt;&amp;lt;block test&amp;gt;&lt;br/&gt;/ preinstructions = (page.pre)&lt;br/&gt;/postinstructions = (page.post)&lt;br/&gt;/trials = [&lt;br/&gt;1-10 = replace(choiceriskyleft, choiceriskyright, &lt;strike&gt;gain10object, gain20house, lose10animal, lose20place&lt;/strike&gt;)&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;#2: This is invalid syntax on multiple grounds and hence cannot work.&lt;br/&gt;&amp;lt;trial choiceriskyleft&amp;gt;&lt;br/&gt;...&lt;br/&gt;/branch= [if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="f") trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp; response=="j") trial.gain20house]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;(a) "response" has no meaning. You need to fully reference the respective &amp;lt;trial&amp;gt;'s response property:&lt;br/&gt;(b) The response property does not return "f" or "j". It returns the respective key's numerical scan code. See the "Keyboard Scan Codes" topic in the documentation as well as Tools -&amp;gt; Keyboard Scancodes... for those values. The scancode for F is 33, the scancode for J is 36. In sum, the /branch logic needs to read&lt;br/&gt;&lt;br/&gt;&amp;lt;trial choiceriskyleft&amp;gt;&lt;br/&gt;...&lt;br/&gt;/branch= [if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp;&lt;strong&gt; trial.choiceriskyleft.&lt;/strong&gt;response==&lt;strong&gt;33&lt;/strong&gt;) trial.gain10object]&lt;br/&gt;/branch =[if (values.randomnum &amp;lt;=values.cutoff1 &amp;amp;&amp;amp;&lt;strong&gt; trial.choiceriskyleft.&lt;/strong&gt;response==&lt;strong&gt;36&lt;/strong&gt;) trial.gain20house]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;and so forth.&lt;br/&gt;&lt;br/&gt;#3: Further,&lt;br/&gt;&lt;br/&gt;&amp;lt;trial gain10object&amp;gt;&lt;br/&gt;/ stimulusframes = [1=gain10object]&lt;br/&gt;&lt;strong&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp; values.score = values.score +=10]&lt;/strong&gt;&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;is wrong. "+=" and "-=" are the increment and decrement operators, respectively. If you want to increment values.score by X, you simply state &lt;br/&gt;&lt;br/&gt;&amp;lt;trial gain10object&amp;gt;&lt;br/&gt;/ stimulusframes = [1=gain10object]&lt;br/&gt;&lt;strong&gt;/ ontrialend = [ values.score +=10]&lt;/strong&gt;&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;i.e., add 10 to values.score.&lt;br/&gt;&lt;br/&gt;Similarly., to decrement values.score, state &lt;br/&gt;&lt;br/&gt;&amp;lt;trial lose10animal&amp;gt;&lt;br/&gt;/ stimulusframes = [1=lose10animal]&lt;br/&gt;&lt;strong&gt;/ ontrialend = [values.score -=10]&lt;/strong&gt;&lt;br/&gt;/ timeout = 500&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;i.e., subtract 10 from values.score.&lt;br/&gt;&lt;br/&gt;Hope this helps.&lt;br/&gt;</description><pubDate>Tue, 01 Nov 2016 14:27:03 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>