﻿<?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 4  » Setitem from list on each trial</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Sun, 13 Sep 2026 19:12:38 GMT</lastBuildDate><ttl>20</ttl><item><title>Setitem from list on each trial</title><link>https://forums.millisecond.com/Topic18445.aspx</link><description>I'm trying to program a task where on each trial, two stimuli are presented, drawn from two of four possible lists (32 male angry faces, 32 male happy,32 female angry, 32 female happy). I need to ensure that across 64 trials, each item in each list is presented exactly once, and that all 16 combination pairs (FH left - FH right, FH left - FA right, FH left - MA right, FH left - MH right, FA left - FH right, FA left - FA right, FA left - MA right, FA left - MH right, ....) are each presented 4 times.&lt;br/&gt;&lt;br/&gt;I'm creating 16 different trials for these 16 combination pairs, and within these trials, want to choose the lists that I draw from to select the pictures.&lt;br/&gt;The problem occurs when I try to set the item in my picture element. I want to overwrite whatever is in there with a new list item that I draw from the appropriate list on each trial, but that doesn't seem to be working.&lt;br/&gt;&lt;br/&gt;Here's the relevant script:&lt;br/&gt;&amp;lt;list VSListFH&amp;gt;&lt;br/&gt;/ items = ("HF1.bmp", "HF2.bmp", "HF3.bmp", "HF4.bmp", "HF5.bmp", "HF6.bmp", "HF7.bmp", "HF8.bmp", "HF9.bmp", "HF10.bmp", "HF11.bmp", "HF12.bmp", "HF13.bmp", "HF14.bmp", "HF15.bmp", "HF16.bmp",&amp;nbsp;"HF17.bmp", "HF18.bmp", "HF19.bmp", "HF20.bmp", "HF21.bmp", "HF22.bmp", "HF23.bmp", "HF24.bmp", "HF25.bmp", "HF26.bmp", "HF27.bmp", "HF28.bmp", "HF29.bmp", "HF30.bmp", "HF31.bmp", "HF32.bmp")&lt;br/&gt;/ replace = false&lt;br/&gt;/ selectionrate = always&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;list VSListFA&amp;gt;&lt;br/&gt;/ items = ("AF1.bmp", "AF2.bmp", "AF3.bmp", "AF4.bmp", "AF5.bmp", "AF6.bmp", "AF7.bmp", "AF8.bmp", "AF9.bmp", "AF10.bmp", "AF11.bmp", "AF12.bmp", "AF13.bmp", "AF14.bmp", "AF15.bmp", "AF16.bmp",&lt;br/&gt;"AF17.bmp", "AF18.bmp", "AF19.bmp", "AF20.bmp", "AF21.bmp", "AF22.bmp", "AF23.bmp", "AF24.bmp", "AF25.bmp", "AF26.bmp", "AF27.bmp", "AF28.bmp", "AF29.bmp", "AF30.bmp", "AF31.bmp", "AF32.bmp")&lt;br/&gt;/ replace = false&lt;br/&gt;/ selectionrate = always&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;list VSListMH&amp;gt;&lt;br/&gt;/ items = ("HM1.bmp", "HM2.bmp", "HM3.bmp", "HM4.bmp", "HM5.bmp", "HM6.bmp", "HM7.bmp", "HM8.bmp", "HM9.bmp", "HM10.bmp", "HM11.bmp", "HM12.bmp", "HM13.bmp", "HM14.bmp", "HM15.bmp", "HM16.bmp",&amp;nbsp;"HM17.bmp", "HM18.bmp", "HM19.bmp", "HM20.bmp", "HM21.bmp", "HM22.bmp", "HM23.bmp", "HM24.bmp", "HM25.bmp", "HM26.bmp", "HM27.bmp", "HM28.bmp", "HM29.bmp", "HM30.bmp", "HM31.bmp", "HM32.bmp")&lt;br/&gt;/ replace = false&lt;br/&gt;/ selectionrate = always&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;list VSListMA&amp;gt;&lt;br/&gt;/ items = ("AM1.bmp", "AM2.bmp", "AM3.bmp", "AM4.bmp", "AM5.bmp", "AM6.bmp", "AM7.bmp", "AM8.bmp", "AM9.bmp", "AM10.bmp", "AM11.bmp", "AM12.bmp", "AM13.bmp", "AM14.bmp", "AM15.bmp", "AM16.bmp",&lt;br/&gt;"AM17.bmp", "AM18.bmp", "AM19.bmp", "AM20.bmp", "AM21.bmp", "AM22.bmp", "AM23.bmp", "AM24.bmp", "AM25.bmp", "AM26.bmp", "AM27.bmp", "AM28.bmp", "AM29.bmp", "AM30.bmp", "AM31.bmp", "AM32.bmp")&lt;br/&gt;/ replace = false&lt;br/&gt;/ selectionrate = always&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture VSPicLeft&amp;gt;&lt;br/&gt;/position = (40%,50%)&lt;br/&gt;/items = ("Template.bmp")&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture VSPicRight&amp;gt;&lt;br/&gt;/position = (60%,50%)&lt;br/&gt;/items = ("Template.bmp")&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial VS_FHFA&amp;gt;&lt;br/&gt;/ontrialbegin = [picture.VSPicLeft.setitem(list.VSListFH.nextvalue, 1)] &lt;br/&gt;/ontrialbegin = [picture.VSPicRight.setitem(list.VSListFA.nextvalue, 1)] &lt;br/&gt;/stimulustimes = [1 = Fix; 500 = VSPicleft, VSPicRight]&lt;br/&gt;/inputdevice = keyboard&lt;br/&gt;/validresponse = ("m","x")&lt;br/&gt;/correctresponse = ("x")&lt;br/&gt;/errormessage = true(Incorrect, 1000)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial VS_FHMA&amp;gt;&lt;br/&gt;/ontrialbegin = [picture.VSPicLeft.setitem(list.VSListFH.nextvalue, 1)] &lt;br/&gt;/ontrialbegin = [picture.VSPicRight.setitem(list.VSListMA.nextvalue, 1)] &lt;br/&gt;/stimulustimes = [1 = Fix; 500 = VSPicleft, VSPicRight]&lt;br/&gt;/inputdevice = keyboard&lt;br/&gt;/validresponse = ("m","x")&lt;br/&gt;/correctresponse = ("x")&lt;br/&gt;/errormessage = true(Incorrect, 1000)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;(and a bunch more trials)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;From the debug Window I can see there is a list item selected in 'nextvalue', but it is not being set to the picture. When I try to run the script I get the error: "picture.VSPicLeft: Unable to initialize &amp;lt;picture VSPicLeft&amp;gt; item number 1. Verify the item exists and is correctly defined."&lt;br/&gt;&lt;br/&gt;Any idea where I'm going wrong?</description><pubDate>Tue, 01 Mar 2016 03:45:53 GMT</pubDate><dc:creator>Lizzy</dc:creator></item><item><title>RE: Setitem from list on each trial</title><link>https://forums.millisecond.com/Topic18465.aspx</link><description>Thanks Dave for that solution. Works like a charm!</description><pubDate>Tue, 01 Mar 2016 03:45:53 GMT</pubDate><dc:creator>Lizzy</dc:creator></item><item><title>RE: Setitem from list on each trial</title><link>https://forums.millisecond.com/Topic18449.aspx</link><description>I cannot tell you where exactly you are going wrong without the actual image files. However, this is not a good way to go about this anyway for performance reasons alone. You should instead set up an &amp;lt;item&amp;gt; element that contains all images&lt;br/&gt;&lt;br/&gt;&amp;lt;item allpics&amp;gt;&lt;br/&gt;/ 1 = "HF1.bmp"&lt;br/&gt;...&lt;br/&gt;/ 33 = "AF1.bmp"&lt;br/&gt;...&lt;br/&gt;/ 65 = "HM1.bmp"&lt;br/&gt;...&lt;br/&gt;/ 97 = "AM1.bmp"&lt;br/&gt;...&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;reference that &amp;lt;item&amp;gt; element in your &amp;lt;picture&amp;gt; elements&lt;br/&gt;&lt;br/&gt;&amp;lt;picture VSPicLeft&amp;gt;&lt;br/&gt;/position = (40%,50%)&lt;br/&gt;/items = allitems&lt;br/&gt;/ select = values.leftpic&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture VSPicRight&amp;gt;&lt;br/&gt;/position = (60%,50%)&lt;br/&gt;/ items = allitems&lt;br/&gt;/select= values.rightpic&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;with &lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ leftpic = 1&lt;br/&gt;/ rightpic = 1&lt;br/&gt;...&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;and then merely draw the proper *item numbers* from your various &amp;lt;list&amp;gt;s and store them in the above &amp;lt;values&amp;gt;:&lt;br/&gt;&lt;br/&gt;* FH item numbers are 1 to 32*&lt;br/&gt;&amp;lt;list VSListFH&amp;gt;&lt;br/&gt;/ items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)&lt;br/&gt;...&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;*FA item numbers are 33 to 64*&lt;br/&gt;&amp;lt;list VSListFA&amp;gt;&lt;br/&gt;/ items = (33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64)&lt;br/&gt;...&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;...&lt;br/&gt;&lt;br/&gt;with &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial VS_FHFA&amp;gt;&lt;br/&gt;&lt;strong&gt;/ontrialbegin = [values.leftpic = list.VSListFH.nextvalue ]&lt;br/&gt;/ontrialbegin = [values.rightpic = list.VSListFA.nextvalue ]&lt;/strong&gt;&lt;br/&gt;/stimulustimes = [1 = Fix; 500 = VSPicleft, VSPicRight]&lt;br/&gt;/inputdevice = keyboard&lt;br/&gt;/validresponse = ("m","x")&lt;br/&gt;/correctresponse = ("x")&lt;br/&gt;/errormessage = true(Incorrect, 1000)&lt;br/&gt;&amp;lt;/trial&amp;gt;</description><pubDate>Mon, 29 Feb 2016 04:46:45 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>