﻿<?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  » conditional trajectories</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Sun, 27 Sep 2026 09:30:15 GMT</lastBuildDate><ttl>20</ttl><item><title>conditional trajectories</title><link>https://forums.millisecond.com/Topic29716.aspx</link><description>Hello!&lt;br/&gt;&lt;br/&gt;Is it possible to program, e.g., the following:&lt;br/&gt;&lt;br/&gt;Let's say I have 4 "room descriptions" that are presented with 2-4 items in each room. You can click on one item at a time, which will lead to its own description, but then returns to the room description. To go from room to room, there are "keys" that get presented following 1 of 4 different contingencies: i) all items have to be clicked on, ii) the same item has to be clicked on twice, iii) the same item has to be clicked on twice in a row, and iv) after the 6th click. &lt;br/&gt;Essentially, I'm envisioning something like, &lt;br/&gt;&amp;lt;trial room1&amp;gt;&lt;br/&gt;/stimulusframes = [ room1description, item1, item2, item3, item4, item1description, item2description, item3description, item4description ]&lt;br/&gt;/branch = [ (if trial.room1.response == "item1"){ return item1description; }&lt;br/&gt;&lt;br/&gt;And, with each item description, I have a return button that returns to the room description, unless the contingency for that room is met. The problems I'm running into are that I have two separate trials for each "item" (which is really a link to its description) and "item description", when everything has to be randomized. By everything I mean which contingency is applied to which room and the overall order of the rooms need to be randomized. &lt;br/&gt;&lt;br/&gt;Any help would be greatly appreciated.</description><pubDate>Sat, 19 Sep 2020 02:36:00 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29727.aspx</link><description>&lt;blockquote data-id="29726" class="if-quote-wrapper" unselectable="on" data-guid="1600482690672" contenteditable="false" id="if_insertedNode_1600482689571"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29726" 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="29726" 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="29726" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29726"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29725" class="if-quote-wrapper" unselectable="on" data-guid="1600482690672" id="if_insertedNode_1600482408232" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29725" 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="29725" 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="29725" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29725"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29724" class="if-quote-wrapper" unselectable="on" data-guid="1600482690672" id="if_insertedNode_1600482373255" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29724" 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="29724" 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="29724" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29724"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Thank you for all the hel&lt;a class="if-quote-goto quote-link" href="#" data-id="29724"&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;help!&lt;a class="if-quote-goto quote-link" href="#" data-id="29725"&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;My pleasure. To add the remaining three rooms, you'd just set up blocks and trials for B, C and D in the same manner. Then sample those blocks in random order at the &amp;lt;expt&amp;gt; level&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ blocks = [1-4 = noreplace(room_a_block, room_b_block, room_c_block, room_d_block)]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="29726"&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;Got it. Will do. This is incredibly helpful</description><pubDate>Sat, 19 Sep 2020 02:36:00 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29726.aspx</link><description>&lt;blockquote data-id="29725" class="if-quote-wrapper" unselectable="on" data-guid="1600482409401" id="if_insertedNode_1600482408232" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29725" 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="29725" 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="29725" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29725"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29724" class="if-quote-wrapper" unselectable="on" data-guid="1600482409401" id="if_insertedNode_1600482373255" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29724" 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="29724" 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="29724" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29724"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Thank you for all the hel&lt;a class="if-quote-goto quote-link" href="#" data-id="29724"&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;help!&lt;a class="if-quote-goto quote-link" href="#" data-id="29725"&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;My pleasure. To add the remaining three rooms, you'd just set up blocks and trials for B, C and D in the same manner. Then sample those blocks in random order at the &amp;lt;expt&amp;gt; level&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ blocks = [1-4 = noreplace(room_a_block, room_b_block, room_c_block, room_d_block)]&lt;br/&gt;...&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;</description><pubDate>Sat, 19 Sep 2020 02:29:03 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29725.aspx</link><description>&lt;blockquote data-id="29724" class="if-quote-wrapper" unselectable="on" data-guid="1600482373818" contenteditable="false" id="if_insertedNode_1600482373255"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29724" 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="29724" 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="29724" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29724"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Thank you for all the hel&lt;a class="if-quote-goto quote-link" href="#" data-id="29724"&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;help!</description><pubDate>Sat, 19 Sep 2020 02:26:17 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29724.aspx</link><description>Thank you for all the hel</description><pubDate>Sat, 19 Sep 2020 02:26:02 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29723.aspx</link><description>&lt;blockquote data-id="29722" class="if-quote-wrapper" unselectable="on" data-guid="1600481884847" id="if_insertedNode_1600481883910" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29722" 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="29722" 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="29722" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29722"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Is it possible to have the 'key text' appear in the frame with the item description, so that, after the contingency is met, a participant would still click 'return', however, this time the 'key text' appears on screen with that item description along with the next room button?&amp;nbsp;&lt;a class="if-quote-goto quote-link" href="#" data-id="29722"&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;Sure.&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ roomconstraint = 0&lt;br/&gt;/ n_roomitems = 0&lt;br/&gt;/ item1_nclicks = 0&lt;br/&gt;/ item2_nclicks = 0&lt;br/&gt;/ item3_nclicks = 0&lt;br/&gt;/ item4_nclicks = 0&lt;br/&gt;/ lastresponse = ""&lt;br/&gt;/ constraint_met = false&lt;br/&gt;/ descriptionitem = 1&lt;br/&gt;/ buttontext = ""&lt;br/&gt;/ keytext = ""&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;1 = click all&lt;br/&gt;2 = click same item twice&lt;br/&gt;3 = click same item twice in a row&lt;br/&gt;4 = six clicks&lt;br/&gt;&amp;lt;list constraints&amp;gt;&lt;br/&gt;/ items = (1, 2, 3, 4)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block room_a_block&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.keytext = "";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "RETURN";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = "";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.constraint_met = false;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_roomitems = 4;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.roomconstraint = list.constraints.nextvalue;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=room_a]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = trial.room_a.response;&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_description, room_a_item1, room_a_item2, room_a_item3, room_a_item4]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (room_a_item1, room_a_item2, room_a_item3, room_a_item4)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == "room_a_item1"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item2"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 2;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item3"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 3;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item4"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 4;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.roomconstraint == 1){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item2_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item3_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item4_nclicks &amp;gt; 0){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 2){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt;= 2 || values.item2_nclicks &amp;gt;= 2 || values.item3_nclicks &amp;gt;= 2 || values.item4_nclicks &amp;gt;= 2){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 3){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == values.lastresponse) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 4) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks + values.item2_nclicks + values.item3_nclicks + values.item4_nclicks &amp;gt;= 6) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item_description;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.keytext = "You've found the key and can advance to the next room.";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_description&amp;gt;&lt;br/&gt;/ items = ("Description of Room A")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 15%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item1&amp;gt;&lt;br/&gt;/ items = ("Item 1")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (20%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item2&amp;gt;&lt;br/&gt;/ items = ("Item 2")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (40%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item3&amp;gt;&lt;br/&gt;/ items = ("Item 3")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (60%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item4&amp;gt;&lt;br/&gt;/ items = ("Item 4")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (80%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 1.~n&amp;lt;%values.keytext%&amp;gt;", "Description of item 2.~n&amp;lt;%values.keytext%&amp;gt;", "Description of item 3.~n&amp;lt;%values.keytext%&amp;gt;", "Description of item 4.~n&amp;lt;%values.keytext%&amp;gt;")&lt;br/&gt;/ select = values.descriptionitem&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;button return&amp;gt;&lt;br/&gt;/ caption = "&amp;lt;%values.buttontext%&amp;gt;"&lt;br/&gt;/ size = (10%, 5%)&lt;br/&gt;/ position = (50%, 60%)&lt;br/&gt;&amp;lt;/button&amp;gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Sat, 19 Sep 2020 02:21:58 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29722.aspx</link><description>Is it possible to have the 'key text' appear in the frame with the item description, so that, after the contingency is met, a participant would still click 'return', however, this time the 'key text' appears on screen with that item description along with the next room button?&amp;nbsp;</description><pubDate>Sat, 19 Sep 2020 02:16:02 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29721.aspx</link><description>&lt;br/&gt;Or a bit more concise:&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ roomconstraint = 0&lt;br/&gt;/ n_roomitems = 0&lt;br/&gt;/ item1_nclicks = 0&lt;br/&gt;/ item2_nclicks = 0&lt;br/&gt;/ item3_nclicks = 0&lt;br/&gt;/ item4_nclicks = 0&lt;br/&gt;/ lastresponse = ""&lt;br/&gt;/ constraint_met = false&lt;br/&gt;/ descriptionitem = 1&lt;br/&gt;/ buttontext = ""&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;1 = click all&lt;br/&gt;2 = click same item twice&lt;br/&gt;3 = click same item twice in a row&lt;br/&gt;4 = six clicks&lt;br/&gt;&amp;lt;list constraints&amp;gt;&lt;br/&gt;/ items = (1, 2, 3, 4)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block room_a_block&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "RETURN";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = "";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.constraint_met = false;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_roomitems = 4;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.roomconstraint = list.constraints.nextvalue;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=room_a]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = trial.room_a.response;&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_description, room_a_item1, room_a_item2, room_a_item3, room_a_item4]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (room_a_item1, room_a_item2, room_a_item3, room_a_item4)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == "room_a_item1"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item2"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 2;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item3"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 3;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item4"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.descriptionitem = 4;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.roomconstraint == 1){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item2_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item3_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item4_nclicks &amp;gt; 0){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 2){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt;= 2 || values.item2_nclicks &amp;gt;= 2 || values.item3_nclicks &amp;gt;= 2 || values.item4_nclicks &amp;gt;= 2){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 3){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == values.lastresponse) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 4) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks + values.item2_nclicks + values.item3_nclicks + values.item4_nclicks &amp;gt;= 6) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item_description;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item_description.insertstimulusframe(text.key_message,1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item_description.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_description&amp;gt;&lt;br/&gt;/ items = ("Description of Room A")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 15%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item1&amp;gt;&lt;br/&gt;/ items = ("Item 1")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (20%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item2&amp;gt;&lt;br/&gt;/ items = ("Item 2")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (40%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item3&amp;gt;&lt;br/&gt;/ items = ("Item 3")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (60%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item4&amp;gt;&lt;br/&gt;/ items = ("Item 4")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (80%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 1", "Description of item 2", "Description of item 3", "Description of item 4")&lt;br/&gt;/ select = values.descriptionitem&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text key_message&amp;gt;&lt;br/&gt;/ items = ("You've found the key and can advance to the next room.")&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;button return&amp;gt;&lt;br/&gt;/ caption = "&amp;lt;%values.buttontext%&amp;gt;"&lt;br/&gt;/ size = (10%, 5%)&lt;br/&gt;/ position = (50%, 60%)&lt;br/&gt;&amp;lt;/button&amp;gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Sat, 19 Sep 2020 02:11:19 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29720.aspx</link><description>Thank you , this is absolutely perfect. I really appreciate it.</description><pubDate>Sat, 19 Sep 2020 02:11:01 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29719.aspx</link><description>&lt;blockquote data-id="29718" class="if-quote-wrapper" unselectable="on" data-guid="1600480466703" id="if_insertedNode_1600480466352" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29718" 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="29718" 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="29718" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29718"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29717" class="if-quote-wrapper" unselectable="on" data-guid="1600480466703" id="if_insertedNode_1600477460292" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29717" 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="29717" 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="29717" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29717"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29716" class="if-quote-wrapper" unselectable="on" data-guid="1600480466703" id="if_insertedNode_1600477154882" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29716" 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="29716" 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="29716" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/18/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29716"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello!&lt;br/&gt;&lt;br/&gt;Is it possible to program, e.g., the following:&lt;br/&gt;&lt;br/&gt;Let's say I have 4 "room descriptions" that are presented with 2-4 items in each room. You can click on one item at a time, which will lead to its own description, but then returns to the room description. To go from room to room, there are "keys" that get presented following 1 of 4 different contingencies: i) all items have to be clicked on, ii) the same item has to be clicked on twice, iii) the same item has to be clicked on twice in a row, and iv) after the 6th click. &lt;br/&gt;Essentially, I'm envisioning something like, &lt;br/&gt;&amp;lt;trial room1&amp;gt;&lt;br/&gt;/stimulusframes = [ room1description, item1, item2, item3, item4, item1description, item2description, item3description, item4description ]&lt;br/&gt;/branch = [ (if trial.room1.response == "item1"){ return item1description; }&lt;br/&gt;&lt;br/&gt;And, with each item description, I have a return button that returns to the room description, unless the contingency for that room is met. The problems I'm running into are that I have two separate trials for each "item" (which is really a link to its description) and "item description", when everything has to be randomized. By everything I mean which contingency is applied to which room and the overall order of the rooms need to be randomized. &lt;br/&gt;&lt;br/&gt;Any help would be greatly appreciated.&lt;a class="if-quote-goto quote-link" href="#" data-id="29716"&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;&amp;gt; The problems I'm running into are that I have two separate trials for each "item"&lt;br/&gt;&lt;br/&gt;Why?&lt;br/&gt;&lt;br/&gt;Also, it's not a problem to apply different contingencies to different "rooms" at random, not sure what you're struggling with in that regard.&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="29717"&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;Sorry, I wasn't really clear at all and am new to all this. I guess what I'm trying to figure out is how--if each 'item description' has a return button to return to the room description--to randomly incorporate a new stimulus instead of that return button when the room-specific contingency is met.&lt;a class="if-quote-goto quote-link" href="#" data-id="29718"&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;The basic gist (here: one room as an example) goes like this, I think?&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ roomconstraint = 0&lt;br/&gt;/ n_roomitems = 0&lt;br/&gt;/ item1_nclicks = 0&lt;br/&gt;/ item2_nclicks = 0&lt;br/&gt;/ item3_nclicks = 0&lt;br/&gt;/ item4_nclicks = 0&lt;br/&gt;/ lastresponse = ""&lt;br/&gt;/ constraint_met = false&lt;br/&gt;/ buttontext = ""&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;1 = click all&lt;br/&gt;2 = click same item twice&lt;br/&gt;3 = click same item twice in a row&lt;br/&gt;4 = six clicks&lt;br/&gt;&amp;lt;list constraints&amp;gt;&lt;br/&gt;/ items = (1, 2, 3, 4)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block room_a_block&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "RETURN";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = "";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.constraint_met = false;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_roomitems = 4;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.roomconstraint = list.constraints.nextvalue;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=room_a]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.lastresponse = trial.room_a.response;&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_description, room_a_item1, room_a_item2, room_a_item3, room_a_item4]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (room_a_item1, room_a_item2, room_a_item3, room_a_item4)&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == "room_a_item1"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item1_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item2"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item2_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item3"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item3_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item4"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.item4_nclicks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.roomconstraint == 1){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item2_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item3_nclicks &amp;gt; 0 &amp;amp;&amp;amp; values.item4_nclicks &amp;gt; 0){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 2){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks &amp;gt;= 2 || values.item2_nclicks &amp;gt;= 2 || values.item3_nclicks &amp;gt;= 2 || values.item4_nclicks &amp;gt;= 2){&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 3){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == values.lastresponse) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (values.roomconstraint == 4) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.item1_nclicks + values.item2_nclicks + values.item3_nclicks + values.item4_nclicks &amp;gt;= 6) {&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;values.constraint_met = true;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.room_a.response == "room_a_item1"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item1_description;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item2"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item2_description;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item3"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item3_description;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (trial.room_a.response == "room_a_item4"){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item4_description;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item1_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item1_description.insertstimulusframe(text.key_message,1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item1_description.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item1_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item2_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item2_description.insertstimulusframe(text.key_message,1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item2_description.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item2_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item3_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item3_description.insertstimulusframe(text.key_message,1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item3_description.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item3_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial room_a_item4_description&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.buttontext = "NEXT ROOM";&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item4_description.insertstimulusframe(text.key_message,1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a_item4_description.resetstimulusframes();&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1=clearscreen, room_a_item4_description, return]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ validresponse = (return)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!values.constraint_met) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial.room_a;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_description&amp;gt;&lt;br/&gt;/ items = ("Description of Room A")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 15%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item1&amp;gt;&lt;br/&gt;/ items = ("Item 1")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (20%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item2&amp;gt;&lt;br/&gt;/ items = ("Item 2")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (40%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item3&amp;gt;&lt;br/&gt;/ items = ("Item 3")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (60%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item4&amp;gt;&lt;br/&gt;/ items = ("Item 4")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (80%, 50%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item1_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 1")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item2_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 2")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item3_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 3")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text room_a_item4_description&amp;gt;&lt;br/&gt;/ items = ("Description of item 4")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text key_message&amp;gt;&lt;br/&gt;/ items = ("You've found the key and can advance to the next room.")&lt;br/&gt;/ position = (50%, 40%)&lt;br/&gt;/ size = (50%, 20%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;button return&amp;gt;&lt;br/&gt;/ caption = "&amp;lt;%values.buttontext%&amp;gt;"&lt;br/&gt;/ size = (10%, 5%)&lt;br/&gt;/ position = (50%, 60%)&lt;br/&gt;&amp;lt;/button&amp;gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Sat, 19 Sep 2020 01:55:19 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29718.aspx</link><description>&lt;blockquote data-id="29717" class="if-quote-wrapper" unselectable="on" data-guid="1600477460695" contenteditable="false" id="if_insertedNode_1600477460292"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29717" 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="29717" 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="29717" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 9/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29717"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29716" class="if-quote-wrapper" unselectable="on" data-guid="1600477460695" id="if_insertedNode_1600477154882" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29716" 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="29716" 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="29716" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/18/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29716"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello!&lt;br/&gt;&lt;br/&gt;Is it possible to program, e.g., the following:&lt;br/&gt;&lt;br/&gt;Let's say I have 4 "room descriptions" that are presented with 2-4 items in each room. You can click on one item at a time, which will lead to its own description, but then returns to the room description. To go from room to room, there are "keys" that get presented following 1 of 4 different contingencies: i) all items have to be clicked on, ii) the same item has to be clicked on twice, iii) the same item has to be clicked on twice in a row, and iv) after the 6th click. &lt;br/&gt;Essentially, I'm envisioning something like, &lt;br/&gt;&amp;lt;trial room1&amp;gt;&lt;br/&gt;/stimulusframes = [ room1description, item1, item2, item3, item4, item1description, item2description, item3description, item4description ]&lt;br/&gt;/branch = [ (if trial.room1.response == "item1"){ return item1description; }&lt;br/&gt;&lt;br/&gt;And, with each item description, I have a return button that returns to the room description, unless the contingency for that room is met. The problems I'm running into are that I have two separate trials for each "item" (which is really a link to its description) and "item description", when everything has to be randomized. By everything I mean which contingency is applied to which room and the overall order of the rooms need to be randomized. &lt;br/&gt;&lt;br/&gt;Any help would be greatly appreciated.&lt;a class="if-quote-goto quote-link" href="#" data-id="29716"&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;&amp;gt; The problems I'm running into are that I have two separate trials for each "item"&lt;br/&gt;&lt;br/&gt;Why?&lt;br/&gt;&lt;br/&gt;Also, it's not a problem to apply different contingencies to different "rooms" at random, not sure what you're struggling with in that regard.&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="29717"&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;Sorry, I wasn't really clear at all and am new to all this. I guess what I'm trying to figure out is how--if each 'item description' has a return button to return to the room description--to randomly incorporate a new stimulus instead of that return button when the room-specific contingency is met.</description><pubDate>Sat, 19 Sep 2020 01:19:41 GMT</pubDate><dc:creator>troyh</dc:creator></item><item><title>RE: conditional trajectories</title><link>https://forums.millisecond.com/Topic29717.aspx</link><description>&lt;blockquote data-id="29716" class="if-quote-wrapper" unselectable="on" data-guid="1600477154946" id="if_insertedNode_1600477154882" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29716" 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="29716" 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="29716" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;troyh - 9/18/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29716"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello!&lt;br/&gt;&lt;br/&gt;Is it possible to program, e.g., the following:&lt;br/&gt;&lt;br/&gt;Let's say I have 4 "room descriptions" that are presented with 2-4 items in each room. You can click on one item at a time, which will lead to its own description, but then returns to the room description. To go from room to room, there are "keys" that get presented following 1 of 4 different contingencies: i) all items have to be clicked on, ii) the same item has to be clicked on twice, iii) the same item has to be clicked on twice in a row, and iv) after the 6th click. &lt;br/&gt;Essentially, I'm envisioning something like, &lt;br/&gt;&amp;lt;trial room1&amp;gt;&lt;br/&gt;/stimulusframes = [ room1description, item1, item2, item3, item4, item1description, item2description, item3description, item4description ]&lt;br/&gt;/branch = [ (if trial.room1.response == "item1"){ return item1description; }&lt;br/&gt;&lt;br/&gt;And, with each item description, I have a return button that returns to the room description, unless the contingency for that room is met. The problems I'm running into are that I have two separate trials for each "item" (which is really a link to its description) and "item description", when everything has to be randomized. By everything I mean which contingency is applied to which room and the overall order of the rooms need to be randomized. &lt;br/&gt;&lt;br/&gt;Any help would be greatly appreciated.&lt;a class="if-quote-goto quote-link" href="#" data-id="29716"&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;&amp;gt; The problems I'm running into are that I have two separate trials for each "item"&lt;br/&gt;&lt;br/&gt;Why?&lt;br/&gt;&lt;br/&gt;Also, it's not a problem to apply different contingencies to different "rooms" at random, not sure what you're struggling with in that regard.&lt;br/&gt;</description><pubDate>Sat, 19 Sep 2020 01:02:00 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>