Setitem from list on each trial


Author
Message
Lizzy
Lizzy
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 25, Visits: 104
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.

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.
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.

Here's the relevant script:
<list VSListFH>
/ 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", "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")
/ replace = false
/ selectionrate = always
</list>

<list VSListFA>
/ 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",
"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")
/ replace = false
/ selectionrate = always
</list>

<list VSListMH>
/ 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", "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")
/ replace = false
/ selectionrate = always
</list>

<list VSListMA>
/ 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",
"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")
/ replace = false
/ selectionrate = always
</list>

<picture VSPicLeft>
/position = (40%,50%)
/items = ("Template.bmp")
</picture>

<picture VSPicRight>
/position = (60%,50%)
/items = ("Template.bmp")
</picture>

<trial VS_FHFA>
/ontrialbegin = [picture.VSPicLeft.setitem(list.VSListFH.nextvalue, 1)]
/ontrialbegin = [picture.VSPicRight.setitem(list.VSListFA.nextvalue, 1)]
/stimulustimes = [1 = Fix; 500 = VSPicleft, VSPicRight]
/inputdevice = keyboard
/validresponse = ("m","x")
/correctresponse = ("x")
/errormessage = true(Incorrect, 1000)
</trial>

<trial VS_FHMA>
/ontrialbegin = [picture.VSPicLeft.setitem(list.VSListFH.nextvalue, 1)]
/ontrialbegin = [picture.VSPicRight.setitem(list.VSListMA.nextvalue, 1)]
/stimulustimes = [1 = Fix; 500 = VSPicleft, VSPicRight]
/inputdevice = keyboard
/validresponse = ("m","x")
/correctresponse = ("x")
/errormessage = true(Incorrect, 1000)
</trial>

(and a bunch more trials)


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 <picture VSPicLeft> item number 1. Verify the item exists and is correctly defined."

Any idea where I'm going wrong?
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Reading This Topic

Explore
Messages
Mentions
Search