﻿<?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 7  » Counting clicks on stimulus during trial</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Thu, 23 Apr 2026 16:38:36 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Counting clicks on stimulus during trial</title><link>https://forums.millisecond.com/Topic41732.aspx</link><description>&lt;blockquote data-id="41731" class="if-quote-wrapper" unselectable="on" data-guid="1764087676647" contenteditable="false" id="if_insertedNode_1764087675280"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="41731" 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="41731" 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="41731" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 11/25/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-41731"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="39302" class="if-quote-wrapper" unselectable="on" data-guid="1764087676647" contenteditable="false" id="if_insertedNode_1764084693786"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39302" 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="39302" 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="39302" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39302"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="39301" class="if-quote-wrapper" unselectable="on" data-guid="1764087676647" contenteditable="false" id="if_insertedNode_1744716694508"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39301" 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="39301" 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="39301" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39301"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hi all,&lt;br/&gt;For an experiment (pavlovian-instrumental-transfer task) I'm programming a task with 3 phases: first a very simple classical conditioning phase in which participants learn that a stimulus (apple) gets followed by a movieclip, and another stimulus (banana) gets followed by nothing. secondly an instrumental learning phase in which they click on a butterfly to get a movieclip. In a third phase, I want to present the butterfly along with either the banana or the apple for 10 seconds per trial. During these trials in the third phase, I want to count the clicks on the butterfly (without having seperate trials per click, because then the stimuli "flash" ). I expect there to be more clicks on the butterfly when accompanied by the apple compared to the banana.&lt;br/&gt;&lt;br/&gt;How can I code this click-counting and save it in the data?&lt;br/&gt;&lt;br/&gt;thanks a lot! I put the code underneath.&lt;br/&gt;Amelie&lt;br/&gt;&lt;br/&gt;// DEFAULTS&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ screencolor = white&lt;br/&gt;/ txbgcolor =  white&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ halign = center&lt;br/&gt;/ vAlign = center&lt;br/&gt;/ fontstyle = ("Arial", 3%)&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;//PINGU VIDEO's&lt;br/&gt;&lt;br/&gt;&amp;lt;video v1&amp;gt;&lt;br/&gt;/items = ("01.mp4")&lt;br/&gt;/ playThrough = false &lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v2&amp;gt;&lt;br/&gt;/items = ("02.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v3&amp;gt;&lt;br/&gt;/items = ("03.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v4&amp;gt;&lt;br/&gt;/items = ("04.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v5&amp;gt;&lt;br/&gt;/items = ("05.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v6&amp;gt;&lt;br/&gt;/items = ("06.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v7&amp;gt;&lt;br/&gt;/items = ("07.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v8&amp;gt;&lt;br/&gt;/items = ("08.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v9&amp;gt;&lt;br/&gt;/items = ("09.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v10&amp;gt;&lt;br/&gt;/items = ("10.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v11&amp;gt;&lt;br/&gt;/items = ("11.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v12&amp;gt;&lt;br/&gt;/items = ("12.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v13&amp;gt;&lt;br/&gt;/items = ("13.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v14&amp;gt;&lt;br/&gt;/items = ("14.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v15&amp;gt;&lt;br/&gt;/items = ("15.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v16&amp;gt;&lt;br/&gt;/items = ("16.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v17&amp;gt;&lt;br/&gt;/items = ("17.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v18&amp;gt;&lt;br/&gt;/items = ("18.mp4")&lt;br/&gt;/ playThrough = true&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// make list of video's&lt;br/&gt;&lt;br/&gt;&amp;lt;list videos&amp;gt;&lt;br/&gt;/items = (video.v1, video.v2,video.v3,video.v4,video.v5,video.v6,video.v7,video.v8,video.v9,video.v10,video.v11,video.v12,video.v13,video.v14,video.v15,video.v16, video.v17,video.v18)&lt;br/&gt;/selectionmode= random &lt;br/&gt;/maxrunsize= 1&lt;br/&gt;/replace = false&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;// PICTURES&lt;br/&gt;&amp;lt;picture apple&amp;gt;&lt;br/&gt;/items = ("s2.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture banana&amp;gt;&lt;br/&gt;/items = ("s1.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture butterfly&amp;gt;&lt;br/&gt;/items = ("response.jpg")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture star&amp;gt;&lt;br/&gt;/items = ("Star.jpg")&lt;br/&gt;/ position = (10%, 90%)&lt;br/&gt;/ size = (20%, 20%)&lt;br/&gt;&amp;lt;/picture&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;picture blank&amp;gt;&lt;br/&gt;/items = ("blank.png")&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ size = (200%, 200%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&amp;lt;sound chimes &amp;gt;&lt;br/&gt;/items =("chimes.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;sound notify &amp;gt;&lt;br/&gt;/items =("notify.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;picture blackbox&amp;gt;&lt;br/&gt;/items = ("blackbox.png")&lt;br/&gt;/ position = (20%,20%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// TRIALS&lt;br/&gt;&amp;lt;trial appletrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = apple,chimes; 6000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial bananatrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = banana,notify; 6000 = blank]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;lt;trial blank&amp;gt;&lt;br/&gt;/stimulustimes = [0 = blank]&lt;br/&gt;/ timeout = 2000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial videofeedback&amp;gt;&lt;br/&gt;/stimulustimes = [0= star; 1000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 11000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial1&amp;gt;&lt;br/&gt;/stimulustimes = [1 = butterfly]&lt;br/&gt;/inputdevice = mouse&lt;br/&gt;/correctresponse = (butterfly)&lt;br/&gt;/responseinterrupt = trial&lt;br/&gt;/branch = {&lt;br/&gt;&amp;nbsp; if (trial.butterflytrial1.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.videofeedback;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial2&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial2.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial1;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial3&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial3.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial2;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial4&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial4.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial3;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;//blocks&lt;br/&gt;&amp;lt;block pav1&amp;gt;&lt;br/&gt;/trials = [1 = trial.appletrial; 2 =trial.bananatrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&amp;lt;block pav2&amp;gt;&lt;br/&gt;/trials = [1 = trial.bananatrial; 2 =trial.appletrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block instrumental&amp;gt;&lt;br/&gt;/ trials = [1 = trial.butterflytrial1; 2= butterflytrial2; 3-10 = random(butterflytrial1, butterflytrial2,butterflytrial3,butterflytrial4)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expt pit&amp;gt;&lt;br/&gt;/ blocks = [1-6= noReplaceNoRepeat(pav1, pav1, pav1, pav2, pav2, pav2); 7= instrumental]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="39301"&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;Stimuli don't "flash" (i.e. get erased at the end of a trial) when you set /erase = false in the respective stimulus elements. Have a trial that collects a single click, loop that trial for 10 seconds, count up the clicks /onTrialEnd.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;values&amp;gt;&lt;br/&gt;/ clickCount = 0&lt;br/&gt;/ timeLeft = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block exampleBlock&amp;gt;&lt;br/&gt;/ trials = [1-4=startTrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial startTrial&amp;gt;&lt;br/&gt;/ onTrialBegin = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft = 10000;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen]&lt;br/&gt;/ validResponse = (0)&lt;br/&gt;/ trialDuration = 500&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.clickTrial;&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial clickTrial&amp;gt;&lt;br/&gt;/ onTrialEnd = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (this.response == "clickMe") {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft -= this.elapsedTime;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen, clickMe, clickCount]&lt;br/&gt;/ inputDevice = mouse&lt;br/&gt;/ validResponse = (clickMe, 0)&lt;br/&gt;/ timeout = values.timeLeft&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.timeLeft &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return this;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.logData;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial logData&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;shape clickMe&amp;gt;&lt;br/&gt;/ shape = roundedrectangle&lt;br/&gt;/ color = blue&lt;br/&gt;/ borderColor = azure&lt;br/&gt;/ size = (10%, 10%)&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text clickCount&amp;gt;&lt;br/&gt;/ items = ("Clicks counted: &amp;lt;%values.clickCount%&amp;gt;&lt;br/&gt;\n Time left: &amp;lt;%values.timeLeft%&amp;gt;")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 10%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (date, time, subject, group, session, blockNum, blockCode, trialNum, trialCode, response, latency, correct, values.clickCount)&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="39302"&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;Hi Dave,&lt;br/&gt;We are now in a phase of the study in which we think it would be convenient to provide timing for each click on the stimulus (within this trial).&lt;br/&gt;For each startTrial loop (in your example above), where I count and log clicks using clickTrial, I need a way to identify each individual click in the dataset along with its timestamp. In other words, I need one row per click, including the time of that click, with the timestamp resetting to 0 at the start of every loop. I can than sum up the number of clicks (rows) within this trial myself, so it is no longer needed to sum up the number of clicks in the log trial per se (but it can stay as well, if that would be possible or not make the script too complex).&lt;br/&gt;Is there a chance you could help me with that?&lt;br/&gt;&lt;br/&gt;thank you very much!&lt;br/&gt;kind regards&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="41731"&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;First change /recordData = false to /recordData = true in the respeciive &amp;lt;trial&amp;gt; element.&lt;br/&gt;&lt;a href="https://www.millisecond.com/support/docs/current/html/language/attributes/recorddata.htm"&gt;&lt;a href="https://www.millisecond.com/support/docs/current/html/language/attributes/recorddata.htm"&gt;https://www.millisecond.com/support/docs/current/html/language/attributes/recorddata.htm&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It is unclear what you understand to be the timestamp (relative to what?). You may simply wish to log the script.elapsedTime property to the data file.&lt;br/&gt;&lt;a href="https://www.millisecond.com/support/docs/current/html/language/properties/elapsedtime.htm"&gt;&lt;a href="https://www.millisecond.com/support/docs/current/html/language/properties/elapsedtime.htm"&gt;https://www.millisecond.com/support/docs/current/html/language/properties/elapsedtime.htm&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Tue, 25 Nov 2025 16:25:55 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>Counting clicks on stimulus during trial</title><link>https://forums.millisecond.com/Topic39301.aspx</link><description>Hi all,&lt;br/&gt;For an experiment (pavlovian-instrumental-transfer task) I'm programming a task with 3 phases: first a very simple classical conditioning phase in which participants learn that a stimulus (apple) gets followed by a movieclip, and another stimulus (banana) gets followed by nothing. secondly an instrumental learning phase in which they click on a butterfly to get a movieclip. In a third phase, I want to present the butterfly along with either the banana or the apple for 10 seconds per trial. During these trials in the third phase, I want to count the clicks on the butterfly (without having seperate trials per click, because then the stimuli "flash" ). I expect there to be more clicks on the butterfly when accompanied by the apple compared to the banana.&lt;br/&gt;&lt;br/&gt;How can I code this click-counting and save it in the data?&lt;br/&gt;&lt;br/&gt;thanks a lot! I put the code underneath.&lt;br/&gt;Amelie&lt;br/&gt;&lt;br/&gt;// DEFAULTS&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ screencolor = white&lt;br/&gt;/ txbgcolor =  white&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ halign = center&lt;br/&gt;/ vAlign = center&lt;br/&gt;/ fontstyle = ("Arial", 3%)&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;//PINGU VIDEO's&lt;br/&gt;&lt;br/&gt;&amp;lt;video v1&amp;gt;&lt;br/&gt;/items = ("01.mp4")&lt;br/&gt;/ playThrough = false &lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v2&amp;gt;&lt;br/&gt;/items = ("02.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v3&amp;gt;&lt;br/&gt;/items = ("03.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v4&amp;gt;&lt;br/&gt;/items = ("04.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v5&amp;gt;&lt;br/&gt;/items = ("05.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v6&amp;gt;&lt;br/&gt;/items = ("06.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v7&amp;gt;&lt;br/&gt;/items = ("07.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v8&amp;gt;&lt;br/&gt;/items = ("08.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v9&amp;gt;&lt;br/&gt;/items = ("09.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v10&amp;gt;&lt;br/&gt;/items = ("10.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v11&amp;gt;&lt;br/&gt;/items = ("11.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v12&amp;gt;&lt;br/&gt;/items = ("12.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v13&amp;gt;&lt;br/&gt;/items = ("13.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v14&amp;gt;&lt;br/&gt;/items = ("14.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v15&amp;gt;&lt;br/&gt;/items = ("15.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v16&amp;gt;&lt;br/&gt;/items = ("16.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v17&amp;gt;&lt;br/&gt;/items = ("17.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v18&amp;gt;&lt;br/&gt;/items = ("18.mp4")&lt;br/&gt;/ playThrough = true&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// make list of video's&lt;br/&gt;&lt;br/&gt;&amp;lt;list videos&amp;gt;&lt;br/&gt;/items = (video.v1, video.v2,video.v3,video.v4,video.v5,video.v6,video.v7,video.v8,video.v9,video.v10,video.v11,video.v12,video.v13,video.v14,video.v15,video.v16, video.v17,video.v18)&lt;br/&gt;/selectionmode= random &lt;br/&gt;/maxrunsize= 1&lt;br/&gt;/replace = false&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;// PICTURES&lt;br/&gt;&amp;lt;picture apple&amp;gt;&lt;br/&gt;/items = ("s2.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture banana&amp;gt;&lt;br/&gt;/items = ("s1.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture butterfly&amp;gt;&lt;br/&gt;/items = ("response.jpg")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture star&amp;gt;&lt;br/&gt;/items = ("Star.jpg")&lt;br/&gt;/ position = (10%, 90%)&lt;br/&gt;/ size = (20%, 20%)&lt;br/&gt;&amp;lt;/picture&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;picture blank&amp;gt;&lt;br/&gt;/items = ("blank.png")&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ size = (200%, 200%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&amp;lt;sound chimes &amp;gt;&lt;br/&gt;/items =("chimes.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;sound notify &amp;gt;&lt;br/&gt;/items =("notify.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;picture blackbox&amp;gt;&lt;br/&gt;/items = ("blackbox.png")&lt;br/&gt;/ position = (20%,20%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// TRIALS&lt;br/&gt;&amp;lt;trial appletrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = apple,chimes; 6000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial bananatrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = banana,notify; 6000 = blank]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;lt;trial blank&amp;gt;&lt;br/&gt;/stimulustimes = [0 = blank]&lt;br/&gt;/ timeout = 2000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial videofeedback&amp;gt;&lt;br/&gt;/stimulustimes = [0= star; 1000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 11000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial1&amp;gt;&lt;br/&gt;/stimulustimes = [1 = butterfly]&lt;br/&gt;/inputdevice = mouse&lt;br/&gt;/correctresponse = (butterfly)&lt;br/&gt;/responseinterrupt = trial&lt;br/&gt;/branch = {&lt;br/&gt;&amp;nbsp; if (trial.butterflytrial1.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.videofeedback;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial2&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial2.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial1;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial3&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial3.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial2;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial4&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial4.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial3;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;//blocks&lt;br/&gt;&amp;lt;block pav1&amp;gt;&lt;br/&gt;/trials = [1 = trial.appletrial; 2 =trial.bananatrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&amp;lt;block pav2&amp;gt;&lt;br/&gt;/trials = [1 = trial.bananatrial; 2 =trial.appletrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block instrumental&amp;gt;&lt;br/&gt;/ trials = [1 = trial.butterflytrial1; 2= butterflytrial2; 3-10 = random(butterflytrial1, butterflytrial2,butterflytrial3,butterflytrial4)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expt pit&amp;gt;&lt;br/&gt;/ blocks = [1-6= noReplaceNoRepeat(pav1, pav1, pav1, pav2, pav2, pav2); 7= instrumental]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Tue, 25 Nov 2025 16:24:49 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: Counting clicks on stimulus during trial</title><link>https://forums.millisecond.com/Topic41731.aspx</link><description>&lt;blockquote data-id="39302" class="if-quote-wrapper" unselectable="on" data-guid="1764084694446" contenteditable="false" id="if_insertedNode_1764084693786"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39302" 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="39302" 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="39302" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39302"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="39301" class="if-quote-wrapper" unselectable="on" data-guid="1764084694446" contenteditable="false" id="if_insertedNode_1744716694508"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39301" 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="39301" 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="39301" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39301"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hi all,&lt;br/&gt;For an experiment (pavlovian-instrumental-transfer task) I'm programming a task with 3 phases: first a very simple classical conditioning phase in which participants learn that a stimulus (apple) gets followed by a movieclip, and another stimulus (banana) gets followed by nothing. secondly an instrumental learning phase in which they click on a butterfly to get a movieclip. In a third phase, I want to present the butterfly along with either the banana or the apple for 10 seconds per trial. During these trials in the third phase, I want to count the clicks on the butterfly (without having seperate trials per click, because then the stimuli "flash" ). I expect there to be more clicks on the butterfly when accompanied by the apple compared to the banana.&lt;br/&gt;&lt;br/&gt;How can I code this click-counting and save it in the data?&lt;br/&gt;&lt;br/&gt;thanks a lot! I put the code underneath.&lt;br/&gt;Amelie&lt;br/&gt;&lt;br/&gt;// DEFAULTS&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ screencolor = white&lt;br/&gt;/ txbgcolor =  white&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ halign = center&lt;br/&gt;/ vAlign = center&lt;br/&gt;/ fontstyle = ("Arial", 3%)&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;//PINGU VIDEO's&lt;br/&gt;&lt;br/&gt;&amp;lt;video v1&amp;gt;&lt;br/&gt;/items = ("01.mp4")&lt;br/&gt;/ playThrough = false &lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v2&amp;gt;&lt;br/&gt;/items = ("02.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v3&amp;gt;&lt;br/&gt;/items = ("03.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v4&amp;gt;&lt;br/&gt;/items = ("04.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v5&amp;gt;&lt;br/&gt;/items = ("05.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v6&amp;gt;&lt;br/&gt;/items = ("06.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v7&amp;gt;&lt;br/&gt;/items = ("07.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v8&amp;gt;&lt;br/&gt;/items = ("08.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v9&amp;gt;&lt;br/&gt;/items = ("09.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v10&amp;gt;&lt;br/&gt;/items = ("10.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v11&amp;gt;&lt;br/&gt;/items = ("11.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v12&amp;gt;&lt;br/&gt;/items = ("12.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v13&amp;gt;&lt;br/&gt;/items = ("13.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v14&amp;gt;&lt;br/&gt;/items = ("14.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v15&amp;gt;&lt;br/&gt;/items = ("15.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v16&amp;gt;&lt;br/&gt;/items = ("16.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v17&amp;gt;&lt;br/&gt;/items = ("17.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v18&amp;gt;&lt;br/&gt;/items = ("18.mp4")&lt;br/&gt;/ playThrough = true&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// make list of video's&lt;br/&gt;&lt;br/&gt;&amp;lt;list videos&amp;gt;&lt;br/&gt;/items = (video.v1, video.v2,video.v3,video.v4,video.v5,video.v6,video.v7,video.v8,video.v9,video.v10,video.v11,video.v12,video.v13,video.v14,video.v15,video.v16, video.v17,video.v18)&lt;br/&gt;/selectionmode= random &lt;br/&gt;/maxrunsize= 1&lt;br/&gt;/replace = false&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;// PICTURES&lt;br/&gt;&amp;lt;picture apple&amp;gt;&lt;br/&gt;/items = ("s2.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture banana&amp;gt;&lt;br/&gt;/items = ("s1.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture butterfly&amp;gt;&lt;br/&gt;/items = ("response.jpg")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture star&amp;gt;&lt;br/&gt;/items = ("Star.jpg")&lt;br/&gt;/ position = (10%, 90%)&lt;br/&gt;/ size = (20%, 20%)&lt;br/&gt;&amp;lt;/picture&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;picture blank&amp;gt;&lt;br/&gt;/items = ("blank.png")&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ size = (200%, 200%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&amp;lt;sound chimes &amp;gt;&lt;br/&gt;/items =("chimes.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;sound notify &amp;gt;&lt;br/&gt;/items =("notify.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;picture blackbox&amp;gt;&lt;br/&gt;/items = ("blackbox.png")&lt;br/&gt;/ position = (20%,20%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// TRIALS&lt;br/&gt;&amp;lt;trial appletrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = apple,chimes; 6000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial bananatrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = banana,notify; 6000 = blank]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;lt;trial blank&amp;gt;&lt;br/&gt;/stimulustimes = [0 = blank]&lt;br/&gt;/ timeout = 2000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial videofeedback&amp;gt;&lt;br/&gt;/stimulustimes = [0= star; 1000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 11000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial1&amp;gt;&lt;br/&gt;/stimulustimes = [1 = butterfly]&lt;br/&gt;/inputdevice = mouse&lt;br/&gt;/correctresponse = (butterfly)&lt;br/&gt;/responseinterrupt = trial&lt;br/&gt;/branch = {&lt;br/&gt;&amp;nbsp; if (trial.butterflytrial1.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.videofeedback;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial2&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial2.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial1;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial3&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial3.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial2;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial4&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial4.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial3;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;//blocks&lt;br/&gt;&amp;lt;block pav1&amp;gt;&lt;br/&gt;/trials = [1 = trial.appletrial; 2 =trial.bananatrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&amp;lt;block pav2&amp;gt;&lt;br/&gt;/trials = [1 = trial.bananatrial; 2 =trial.appletrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block instrumental&amp;gt;&lt;br/&gt;/ trials = [1 = trial.butterflytrial1; 2= butterflytrial2; 3-10 = random(butterflytrial1, butterflytrial2,butterflytrial3,butterflytrial4)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expt pit&amp;gt;&lt;br/&gt;/ blocks = [1-6= noReplaceNoRepeat(pav1, pav1, pav1, pav2, pav2, pav2); 7= instrumental]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="39301"&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;Stimuli don't "flash" (i.e. get erased at the end of a trial) when you set /erase = false in the respective stimulus elements. Have a trial that collects a single click, loop that trial for 10 seconds, count up the clicks /onTrialEnd.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;values&amp;gt;&lt;br/&gt;/ clickCount = 0&lt;br/&gt;/ timeLeft = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block exampleBlock&amp;gt;&lt;br/&gt;/ trials = [1-4=startTrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial startTrial&amp;gt;&lt;br/&gt;/ onTrialBegin = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft = 10000;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen]&lt;br/&gt;/ validResponse = (0)&lt;br/&gt;/ trialDuration = 500&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.clickTrial;&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial clickTrial&amp;gt;&lt;br/&gt;/ onTrialEnd = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (this.response == "clickMe") {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft -= this.elapsedTime;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen, clickMe, clickCount]&lt;br/&gt;/ inputDevice = mouse&lt;br/&gt;/ validResponse = (clickMe, 0)&lt;br/&gt;/ timeout = values.timeLeft&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.timeLeft &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return this;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.logData;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial logData&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;shape clickMe&amp;gt;&lt;br/&gt;/ shape = roundedrectangle&lt;br/&gt;/ color = blue&lt;br/&gt;/ borderColor = azure&lt;br/&gt;/ size = (10%, 10%)&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text clickCount&amp;gt;&lt;br/&gt;/ items = ("Clicks counted: &amp;lt;%values.clickCount%&amp;gt;&lt;br/&gt;\n Time left: &amp;lt;%values.timeLeft%&amp;gt;")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 10%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (date, time, subject, group, session, blockNum, blockCode, trialNum, trialCode, response, latency, correct, values.clickCount)&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="39302"&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;Hi Dave,&lt;br/&gt;We are now in a phase of the study in which we think it would be convenient to provide timing for each click on the stimulus (within this trial).&lt;br/&gt;For each startTrial loop (in your example above), where I count and log clicks using clickTrial, I need a way to identify each individual click in the dataset along with its timestamp. In other words, I need one row per click, including the time of that click, with the timestamp resetting to 0 at the start of every loop. I can than sum up the number of clicks (rows) within this trial myself, so it is no longer needed to sum up the number of clicks in the log trial per se (but it can stay as well, if that would be possible or not make the script too complex).&lt;br/&gt;Is there a chance you could help me with that?&lt;br/&gt;&lt;br/&gt;thank you very much!&lt;br/&gt;kind regards&lt;br/&gt;</description><pubDate>Tue, 25 Nov 2025 15:39:47 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: Counting clicks on stimulus during trial</title><link>https://forums.millisecond.com/Topic39305.aspx</link><description>&lt;blockquote data-id="39302" class="if-quote-wrapper" unselectable="on" data-guid="1744799773857" contenteditable="false" id="if_insertedNode_1744799772513"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39302" 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="39302" 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="39302" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39302"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="39301" class="if-quote-wrapper" unselectable="on" data-guid="1744799773857" contenteditable="false" id="if_insertedNode_1744716694508"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39301" 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="39301" 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="39301" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39301"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hi all,&lt;br/&gt;For an experiment (pavlovian-instrumental-transfer task) I'm programming a task with 3 phases: first a very simple classical conditioning phase in which participants learn that a stimulus (apple) gets followed by a movieclip, and another stimulus (banana) gets followed by nothing. secondly an instrumental learning phase in which they click on a butterfly to get a movieclip. In a third phase, I want to present the butterfly along with either the banana or the apple for 10 seconds per trial. During these trials in the third phase, I want to count the clicks on the butterfly (without having seperate trials per click, because then the stimuli "flash" ). I expect there to be more clicks on the butterfly when accompanied by the apple compared to the banana.&lt;br/&gt;&lt;br/&gt;How can I code this click-counting and save it in the data?&lt;br/&gt;&lt;br/&gt;thanks a lot! I put the code underneath.&lt;br/&gt;Amelie&lt;br/&gt;&lt;br/&gt;// DEFAULTS&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ screencolor = white&lt;br/&gt;/ txbgcolor =  white&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ halign = center&lt;br/&gt;/ vAlign = center&lt;br/&gt;/ fontstyle = ("Arial", 3%)&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;//PINGU VIDEO's&lt;br/&gt;&lt;br/&gt;&amp;lt;video v1&amp;gt;&lt;br/&gt;/items = ("01.mp4")&lt;br/&gt;/ playThrough = false &lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v2&amp;gt;&lt;br/&gt;/items = ("02.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v3&amp;gt;&lt;br/&gt;/items = ("03.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v4&amp;gt;&lt;br/&gt;/items = ("04.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v5&amp;gt;&lt;br/&gt;/items = ("05.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v6&amp;gt;&lt;br/&gt;/items = ("06.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v7&amp;gt;&lt;br/&gt;/items = ("07.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v8&amp;gt;&lt;br/&gt;/items = ("08.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v9&amp;gt;&lt;br/&gt;/items = ("09.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v10&amp;gt;&lt;br/&gt;/items = ("10.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v11&amp;gt;&lt;br/&gt;/items = ("11.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v12&amp;gt;&lt;br/&gt;/items = ("12.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v13&amp;gt;&lt;br/&gt;/items = ("13.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v14&amp;gt;&lt;br/&gt;/items = ("14.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v15&amp;gt;&lt;br/&gt;/items = ("15.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v16&amp;gt;&lt;br/&gt;/items = ("16.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v17&amp;gt;&lt;br/&gt;/items = ("17.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v18&amp;gt;&lt;br/&gt;/items = ("18.mp4")&lt;br/&gt;/ playThrough = true&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// make list of video's&lt;br/&gt;&lt;br/&gt;&amp;lt;list videos&amp;gt;&lt;br/&gt;/items = (video.v1, video.v2,video.v3,video.v4,video.v5,video.v6,video.v7,video.v8,video.v9,video.v10,video.v11,video.v12,video.v13,video.v14,video.v15,video.v16, video.v17,video.v18)&lt;br/&gt;/selectionmode= random &lt;br/&gt;/maxrunsize= 1&lt;br/&gt;/replace = false&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;// PICTURES&lt;br/&gt;&amp;lt;picture apple&amp;gt;&lt;br/&gt;/items = ("s2.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture banana&amp;gt;&lt;br/&gt;/items = ("s1.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture butterfly&amp;gt;&lt;br/&gt;/items = ("response.jpg")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture star&amp;gt;&lt;br/&gt;/items = ("Star.jpg")&lt;br/&gt;/ position = (10%, 90%)&lt;br/&gt;/ size = (20%, 20%)&lt;br/&gt;&amp;lt;/picture&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;picture blank&amp;gt;&lt;br/&gt;/items = ("blank.png")&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ size = (200%, 200%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&amp;lt;sound chimes &amp;gt;&lt;br/&gt;/items =("chimes.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;sound notify &amp;gt;&lt;br/&gt;/items =("notify.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;picture blackbox&amp;gt;&lt;br/&gt;/items = ("blackbox.png")&lt;br/&gt;/ position = (20%,20%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// TRIALS&lt;br/&gt;&amp;lt;trial appletrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = apple,chimes; 6000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial bananatrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = banana,notify; 6000 = blank]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;lt;trial blank&amp;gt;&lt;br/&gt;/stimulustimes = [0 = blank]&lt;br/&gt;/ timeout = 2000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial videofeedback&amp;gt;&lt;br/&gt;/stimulustimes = [0= star; 1000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 11000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial1&amp;gt;&lt;br/&gt;/stimulustimes = [1 = butterfly]&lt;br/&gt;/inputdevice = mouse&lt;br/&gt;/correctresponse = (butterfly)&lt;br/&gt;/responseinterrupt = trial&lt;br/&gt;/branch = {&lt;br/&gt;&amp;nbsp; if (trial.butterflytrial1.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.videofeedback;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial2&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial2.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial1;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial3&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial3.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial2;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial4&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial4.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial3;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;//blocks&lt;br/&gt;&amp;lt;block pav1&amp;gt;&lt;br/&gt;/trials = [1 = trial.appletrial; 2 =trial.bananatrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&amp;lt;block pav2&amp;gt;&lt;br/&gt;/trials = [1 = trial.bananatrial; 2 =trial.appletrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block instrumental&amp;gt;&lt;br/&gt;/ trials = [1 = trial.butterflytrial1; 2= butterflytrial2; 3-10 = random(butterflytrial1, butterflytrial2,butterflytrial3,butterflytrial4)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expt pit&amp;gt;&lt;br/&gt;/ blocks = [1-6= noReplaceNoRepeat(pav1, pav1, pav1, pav2, pav2, pav2); 7= instrumental]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="39301"&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;Stimuli don't "flash" (i.e. get erased at the end of a trial) when you set /erase = false in the respective stimulus elements. Have a trial that collects a single click, loop that trial for 10 seconds, count up the clicks /onTrialEnd.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;values&amp;gt;&lt;br/&gt;/ clickCount = 0&lt;br/&gt;/ timeLeft = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block exampleBlock&amp;gt;&lt;br/&gt;/ trials = [1-4=startTrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial startTrial&amp;gt;&lt;br/&gt;/ onTrialBegin = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft = 10000;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen]&lt;br/&gt;/ validResponse = (0)&lt;br/&gt;/ trialDuration = 500&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.clickTrial;&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial clickTrial&amp;gt;&lt;br/&gt;/ onTrialEnd = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (this.response == "clickMe") {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft -= this.elapsedTime;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen, clickMe, clickCount]&lt;br/&gt;/ inputDevice = mouse&lt;br/&gt;/ validResponse = (clickMe, 0)&lt;br/&gt;/ timeout = values.timeLeft&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.timeLeft &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return this;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.logData;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial logData&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;shape clickMe&amp;gt;&lt;br/&gt;/ shape = roundedrectangle&lt;br/&gt;/ color = blue&lt;br/&gt;/ borderColor = azure&lt;br/&gt;/ size = (10%, 10%)&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text clickCount&amp;gt;&lt;br/&gt;/ items = ("Clicks counted: &amp;lt;%values.clickCount%&amp;gt;&lt;br/&gt;\n Time left: &amp;lt;%values.timeLeft%&amp;gt;")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 10%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (date, time, subject, group, session, blockNum, blockCode, trialNum, trialCode, response, latency, correct, values.clickCount)&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="39302"&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;Thank you very much!&lt;br/&gt;</description><pubDate>Wed, 16 Apr 2025 10:36:30 GMT</pubDate><dc:creator>Amelinq</dc:creator></item><item><title>RE: Counting clicks on stimulus during trial</title><link>https://forums.millisecond.com/Topic39302.aspx</link><description>&lt;blockquote data-id="39301" class="if-quote-wrapper" unselectable="on" data-guid="1744716696144" contenteditable="false" id="if_insertedNode_1744716694508"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="39301" 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="39301" 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="39301" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Amelinq - 4/15/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-39301"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hi all,&lt;br/&gt;For an experiment (pavlovian-instrumental-transfer task) I'm programming a task with 3 phases: first a very simple classical conditioning phase in which participants learn that a stimulus (apple) gets followed by a movieclip, and another stimulus (banana) gets followed by nothing. secondly an instrumental learning phase in which they click on a butterfly to get a movieclip. In a third phase, I want to present the butterfly along with either the banana or the apple for 10 seconds per trial. During these trials in the third phase, I want to count the clicks on the butterfly (without having seperate trials per click, because then the stimuli "flash" ). I expect there to be more clicks on the butterfly when accompanied by the apple compared to the banana.&lt;br/&gt;&lt;br/&gt;How can I code this click-counting and save it in the data?&lt;br/&gt;&lt;br/&gt;thanks a lot! I put the code underneath.&lt;br/&gt;Amelie&lt;br/&gt;&lt;br/&gt;// DEFAULTS&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ screencolor = white&lt;br/&gt;/ txbgcolor =  white&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ halign = center&lt;br/&gt;/ vAlign = center&lt;br/&gt;/ fontstyle = ("Arial", 3%)&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;//PINGU VIDEO's&lt;br/&gt;&lt;br/&gt;&amp;lt;video v1&amp;gt;&lt;br/&gt;/items = ("01.mp4")&lt;br/&gt;/ playThrough = false &lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v2&amp;gt;&lt;br/&gt;/items = ("02.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v3&amp;gt;&lt;br/&gt;/items = ("03.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v4&amp;gt;&lt;br/&gt;/items = ("04.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v5&amp;gt;&lt;br/&gt;/items = ("05.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v6&amp;gt;&lt;br/&gt;/items = ("06.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v7&amp;gt;&lt;br/&gt;/items = ("07.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v8&amp;gt;&lt;br/&gt;/items = ("08.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v9&amp;gt;&lt;br/&gt;/items = ("09.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v10&amp;gt;&lt;br/&gt;/items = ("10.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v11&amp;gt;&lt;br/&gt;/items = ("11.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v12&amp;gt;&lt;br/&gt;/items = ("12.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v13&amp;gt;&lt;br/&gt;/items = ("13.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v14&amp;gt;&lt;br/&gt;/items = ("14.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v15&amp;gt;&lt;br/&gt;/items = ("15.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v16&amp;gt;&lt;br/&gt;/items = ("16.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v17&amp;gt;&lt;br/&gt;/items = ("17.mp4")&lt;br/&gt;/ playThrough = false&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&amp;lt;video v18&amp;gt;&lt;br/&gt;/items = ("18.mp4")&lt;br/&gt;/ playThrough = true&lt;br/&gt;/ position = (50,50)&lt;br/&gt;/ erase = true&lt;br/&gt;/ size = (70%,70%)&lt;br/&gt;&amp;lt;/video&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// make list of video's&lt;br/&gt;&lt;br/&gt;&amp;lt;list videos&amp;gt;&lt;br/&gt;/items = (video.v1, video.v2,video.v3,video.v4,video.v5,video.v6,video.v7,video.v8,video.v9,video.v10,video.v11,video.v12,video.v13,video.v14,video.v15,video.v16, video.v17,video.v18)&lt;br/&gt;/selectionmode= random &lt;br/&gt;/maxrunsize= 1&lt;br/&gt;/replace = false&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;// PICTURES&lt;br/&gt;&amp;lt;picture apple&amp;gt;&lt;br/&gt;/items = ("s2.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture banana&amp;gt;&lt;br/&gt;/items = ("s1.jpg")&lt;br/&gt;/ position = (50%, 30%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture butterfly&amp;gt;&lt;br/&gt;/items = ("response.jpg")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ size = (40%, 40%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture star&amp;gt;&lt;br/&gt;/items = ("Star.jpg")&lt;br/&gt;/ position = (10%, 90%)&lt;br/&gt;/ size = (20%, 20%)&lt;br/&gt;&amp;lt;/picture&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;lt;picture blank&amp;gt;&lt;br/&gt;/items = ("blank.png")&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ size = (200%, 200%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&amp;lt;sound chimes &amp;gt;&lt;br/&gt;/items =("chimes.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;sound notify &amp;gt;&lt;br/&gt;/items =("notify.wav")&lt;br/&gt;/playthrough = true &lt;br/&gt;&amp;lt;/sound&amp;gt;&lt;br/&gt;&amp;lt;picture blackbox&amp;gt;&lt;br/&gt;/items = ("blackbox.png")&lt;br/&gt;/ position = (20%,20%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;// TRIALS&lt;br/&gt;&amp;lt;trial appletrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = apple,chimes; 6000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial bananatrial&amp;gt;&lt;br/&gt;/stimulustimes = [0= blank; 2000 = banana,notify; 6000 = blank]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 18000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;lt;trial blank&amp;gt;&lt;br/&gt;/stimulustimes = [0 = blank]&lt;br/&gt;/ timeout = 2000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial videofeedback&amp;gt;&lt;br/&gt;/stimulustimes = [0= star; 1000= list.videos]&lt;br/&gt;/validresponse = (noresponse)&lt;br/&gt;/timeout = 11000&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial1&amp;gt;&lt;br/&gt;/stimulustimes = [1 = butterfly]&lt;br/&gt;/inputdevice = mouse&lt;br/&gt;/correctresponse = (butterfly)&lt;br/&gt;/responseinterrupt = trial&lt;br/&gt;/branch = {&lt;br/&gt;&amp;nbsp; if (trial.butterflytrial1.correct) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.videofeedback;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial2&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial2.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial1;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial3&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial3.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial2;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial butterflytrial4&amp;gt;&lt;br/&gt;/ stimulustimes = [1= butterfly]&lt;br/&gt;/ inputdevice = mouse&lt;br/&gt;/ correctResponse = (butterfly)&lt;br/&gt;/branch= {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (trial.butterflytrial4.correct == true) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;  return trial.butterflytrial3;&lt;br/&gt;&amp;nbsp; }&lt;br/&gt;}&lt;br/&gt;/ responseinterrupt = trial&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;//blocks&lt;br/&gt;&amp;lt;block pav1&amp;gt;&lt;br/&gt;/trials = [1 = trial.appletrial; 2 =trial.bananatrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&amp;lt;block pav2&amp;gt;&lt;br/&gt;/trials = [1 = trial.bananatrial; 2 =trial.appletrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block instrumental&amp;gt;&lt;br/&gt;/ trials = [1 = trial.butterflytrial1; 2= butterflytrial2; 3-10 = random(butterflytrial1, butterflytrial2,butterflytrial3,butterflytrial4)]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;expt pit&amp;gt;&lt;br/&gt;/ blocks = [1-6= noReplaceNoRepeat(pav1, pav1, pav1, pav2, pav2, pav2); 7= instrumental]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="39301"&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;Stimuli don't "flash" (i.e. get erased at the end of a trial) when you set /erase = false in the respective stimulus elements. Have a trial that collects a single click, loop that trial for 10 seconds, count up the clicks /onTrialEnd.&lt;br/&gt;&lt;br/&gt;[code]&amp;lt;values&amp;gt;&lt;br/&gt;/ clickCount = 0&lt;br/&gt;/ timeLeft = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block exampleBlock&amp;gt;&lt;br/&gt;/ trials = [1-4=startTrial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial startTrial&amp;gt;&lt;br/&gt;/ onTrialBegin = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft = 10000;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen]&lt;br/&gt;/ validResponse = (0)&lt;br/&gt;/ trialDuration = 500&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.clickTrial;&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial clickTrial&amp;gt;&lt;br/&gt;/ onTrialEnd = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (this.response == "clickMe") {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.clickCount++;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.timeLeft -= this.elapsedTime;&lt;br/&gt;}&lt;br/&gt;/ stimulusTimes = [0=clearScreen, clickMe, clickCount]&lt;br/&gt;/ inputDevice = mouse&lt;br/&gt;/ validResponse = (clickMe, 0)&lt;br/&gt;/ timeout = values.timeLeft&lt;br/&gt;/ branch = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.timeLeft &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return this;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return trial.logData;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;}&lt;br/&gt;/ recordData = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial logData&amp;gt;&lt;br/&gt;/ trialDuration = 0&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;shape clickMe&amp;gt;&lt;br/&gt;/ shape = roundedrectangle&lt;br/&gt;/ color = blue&lt;br/&gt;/ borderColor = azure&lt;br/&gt;/ size = (10%, 10%)&lt;br/&gt;/ erase = false&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text clickCount&amp;gt;&lt;br/&gt;/ items = ("Clicks counted: &amp;lt;%values.clickCount%&amp;gt;&lt;br/&gt;\n Time left: &amp;lt;%values.timeLeft%&amp;gt;")&lt;br/&gt;/ erase = false&lt;br/&gt;/ position = (50%, 10%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (date, time, subject, group, session, blockNum, blockCode, trialNum, trialCode, response, latency, correct, values.clickCount)&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;[/code]</description><pubDate>Tue, 15 Apr 2025 12:10:07 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>