Hi,
Some of my trials repeat when they shouldn't. I think it might have to do with the way I'm selecting items- using lists and values.
https://mili2nd.co/5brb
<values>
/ testitem = 1
/ controlitem = 1
/ intro_hf_mis_item = 1
/ intro_hf_match_item = 1
/ intro_lf_mis_item = 1
/ intro_lf_match_item = 1
</values>
<list intro_hf_mis_item>
/ poolsize = 15
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<list intro_hf_match_item>
/ poolsize = 15
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<list intro_lf_mis_item>
/ poolsize = 15
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<list intro_lf_match_item>
/ poolsize = 15
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<list testitem>
/ poolsize = 66
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<list controlitem>
/ poolsize = 66
/ selectionrate = always
/ selectionmode = random
/ replace = false
</list>
<picture blank>
/items=("blank.png")
/ size = (600,600)
</picture>
<picture intro_hf_pictures_mismatch>
/items=("hand_back.jpeg",
"office_police.jpeg",
"list_fire.jpeg",
"sister_river.jpeg",
"mouth_bag.jpeg",
"judge_crowd.jpeg",
"literature_neck.jpeg",
"forest_basketball.jpeg",
"circle_books.jpeg",
"farmers_climbing.jpeg",
"pepper_photographs.jpeg",
"stadium_muscle.jpeg",
"aircraft_furniture.jpeg",
"soccer_giants.jpeg",
"roll_cents.jpeg")
/ select = values.intro_hf_mis_item
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video intro_hf_audio_mismatch>
/items=("hand.mp3",
"office.mp3",
"list.mp3",
"sister.mp3",
"mouth.mp3",
"judge.mp3",
"literature.mp3",
"forest.mp3",
"circle.mp3",
"farmers.mp3",
"pepper.mp3",
"stadium.mp3",
"aircraft.mp3",
"soccer.mp3",
"roll.mp3")
/ select = values.intro_hf_mis_item
</video>
<picture intro_lf_pictures_mismatch>
/items=("handkercheif_chais.jpeg",
"mineworker_jawline.jpeg",
"woodchips_halfdollar.jpeg",
"figureeight_gumdrop.jpeg",
"onionskin_bechamel.jpeg",
"venus_dreamcatcher.jpeg",
"creamers_wicker.jpeg",
"mousehole_soundwave.jpeg",
"aardvark_eightball.jpeg",
"pitbull_chainlink.jpeg",
"cornrows_nickle.jpeg",
"gimlet_buttonhole.jpeg",
"ganache_biking.jpeg",
"snakeskin_fettucine.jpeg",
"mastiff_bulgur.jpeg")
/ select = values.intro_lf_mis_item
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video intro_lf_audio_mismatch>
/items=("handkercheif.mp3",
"mineworker.mp3",
"woodchips.mp3",
"figureeight.mp3",
"onionskin.mp3",
"venus.mp3",
"creamers.mp3",
"mousehole.mp3",
"aardvark.mp3",
"pitbull.mp3",
"cornrows.mp3",
"gimlet.mp3",
"ganache.mp3",
"snakeskin.mp3",
"mastiff.mp3")
/ select = values.intro_lf_mis_item
</video>
<picture intro_hf_pictures_match>
/items=("man.jpeg",
"car.jpeg",
"movie.jpeg",
"heat.jpeg",
"meeting.jpeg",
"lake.jpeg",
"wine.jpeg",
"hill.jpeg",
"teeth.jpeg",
"twitter.jpeg",
"knife.jpeg",
"grandmother.jpeg",
"stream.jpeg",
"garage.jpeg",
"hardware.jpeg")
/ select = values.intro_hf_match_item
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video intro_hf_audio_match>
/items=("man.mp3",
"car.mp3",
"movie.mp3",
"heat.mp3",
"meeting.mp3",
"lake.mp3",
"wine.mp3",
"hill.mp3",
"teeth.mp3",
"twitter.mp3",
"knife.mp3",
"grandmother.mp3",
"stream.mp3",
"garage.mp3",
"hardware.mp3")
/ select = values.intro_hf_match_item
</video>
<picture intro_lf_pictures_match>
/items=("blowpipes.jpeg",
"medallists.jpeg",
"applecart.jpeg",
"womenswear.jpeg",
"cookiecutter.jpeg",
"unibrow.jpeg",
"skydive.jpeg",
"dressingroom.jpeg",
"earwig.jpeg",
"gouda.jpeg",
"subscript.jpeg",
"kebab.jpeg",
"beanstalk.jpeg",
"superwoman.jpeg",
"paperboy.jpeg")
/ select = values.intro_lf_match_item
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video intro_lf_audio_match>
/items=("blowpipes.mp3",
"medallists.mp3",
"applecart.mp3",
"womenswear.mp3",
"cookiecutter.mp3",
"unibrow.mp3",
"skydive.mp3",
"dressingroom.mp3",
"earwig.mp3",
"gouda.mp3",
"subscript.mp3",
"kebab.mp3",
"beanstalk.mp3",
"superwoman.mp3",
"paperboy.mp3")
/ select = values.intro_lf_match_item
</video>
<picture pictures>
/items=("skirt_slope.jpeg",
"cap_lid.jpeg",
"leaf_sheet.jpeg",
"croissant_horn.jpeg",
"goggles_glasses.jpeg",
"watch_clock.jpeg",
"golfclub_stick.jpeg",
"cashregister_box.jpeg",
"wrench_key.jpeg",
"tent_shop.jpeg",
"feather_pen.jpeg",
"toe_finger.jpeg",
"conduct_drive.jpeg",
"bullet_bale.jpeg",
"saw_mountainrange.jpeg",
"note_point.jpeg",
"dresser_closet.jpeg",
"card_letter.jpeg",
"ceiling_roof.jpeg",
"cup_treecrown.jpeg",
"clue_path.jpeg",
"auditorium_livingroom.jpeg",
"globe_balloon.jpeg",
"collar_necklace.jpeg",
"soapopera_novel.jpeg",
"hallway_runner.jpeg",
"toilet_shower.jpeg",
"balloon_ball.jpeg",
"container_smallboat.jpeg",
"slap_cheek.jpeg",
"cafe_coffee.jpeg",
"bus_truck.jpeg",
"motorcade_fashionshow.jpeg",
"fireplace_stove.jpeg",
"pitcher_jar.jpeg",
"lime_lemon.jpeg",
"icecream_snow.jpeg",
"landform_accident.jpeg",
"pew_bench.jpeg",
"baguette_block.jpeg",
"reed_fishingrod.jpeg",
"cape_onionlayer.jpeg",
"headset_helmet.jpeg",
"board_periodictable.jpeg",
"driver_pilot.jpeg",
"goalkeeper_doorman.jpeg",
"kite_comet.jpeg",
"tooth_cloveofgarlic.jpeg",
"mask_mascara.jpeg",
"envelope_package.jpeg",
"herb_grass.jpeg",
"sandwich_cake.jpeg",
"floor_soilpile.jpeg",
"jackhammer_drill.jpeg",
"time_weather.jpeg",
"beaker_vase.jpeg",
"suit_dress.jpeg",
"parade_stationstop.jpeg",
"tip_breath.jpeg",
"signpost_wave.jpeg",
"vault_waterfall.jpeg",
"reel_rolloftp.jpeg",
"bud_root.jpeg",
"beak_peak.jpeg",
"dam_jail.jpeg",
"clap_palm.jpeg")
/ select = values.testitem
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video audio>
/items=("skirt.mp3",
"cap.mp3",
"leaf.mp3",
"croissant.mp3",
"goggles.mp3",
"watch.mp3",
"golfclub.mp3",
"cashregister.mp3",
"wrench.mp3",
"tent.mp3",
"feather.mp3",
"toe.mp3",
"conduct.mp3",
"bullet.mp3",
"saw.mp3",
"note.mp3",
"dresser.mp3",
"card.mp3",
"ceiling.mp3",
"cup.mp3",
"clue.mp3",
"auditorium.mp3",
"globe.mp3",
"collar.mp3",
"soapopera.mp3",
"hallway.mp3",
"toilet.mp3",
"balloon.mp3",
"container.mp3",
"slap.mp3",
"cafe.mp3",
"bus.mp3",
"motorcade.mp3",
"fireplace.mp3",
"pitcher.mp3",
"lime.mp3",
"icecream.mp3",
"landform.mp3",
"pew.mp3",
"baguette.mp3",
"reed.mp3",
"cape.mp3",
"headset.mp3",
"board.mp3",
"driver.mp3",
"goalkeeper.mp3",
"kite.mp3",
"tooth.mp3",
"mask.mp3",
"envelope.mp3",
"herb.mp3",
"sandwich.mp3",
"floor.mp3",
"jackhammer.mp3",
"time.mp3",
"beaker.mp3",
"suit.mp3",
"parade.mp3",
"tip.mp3",
"signpost.mp3",
"vault.mp3",
"reel.mp3",
"bud.mp3",
"beak.mp3",
"dam.mp3",
"clap.mp3")
/ select = values.testitem
</video>
<picture pictures_control>
/items=("limb.jpeg",
"juice.jpeg",
"pool.jpeg",
"washcloth.jpeg",
"cucumber.jpeg",
"flag.jpeg",
"tack.jpeg",
"saber.jpeg",
"artichoke.jpeg",
"cow.jpeg",
"robot.jpeg",
"fabric.jpeg",
"touch.jpeg",
"rice.jpeg",
"rainbow.jpeg",
"rock.jpeg",
"referee.jpeg",
"seat.jpeg",
"button.jpeg",
"dog.jpeg",
"coal.jpeg",
"monarchy.jpeg",
"straw.jpeg",
"monkey.jpeg",
"firefly.jpeg",
"anchor.jpeg",
"duck.jpeg",
"bicycle.jpeg",
"garbage.jpeg",
"fang.jpeg",
"canvas.jpeg",
"ticket.jpeg",
"caveman.jpeg",
"vest.jpeg",
"insect.jpeg",
"troll.jpeg",
"brush.jpeg",
"hubcap.jpeg",
"clove.jpeg",
"pliers.jpeg",
"stroller.jpeg",
"salsa.jpeg",
"skyscraper.jpeg",
"dollar.jpeg",
"apple.jpeg",
"shoestring.jpeg",
"calculator.jpeg",
"wedding.jpeg",
"salad.jpeg",
"pirate.jpeg",
"painter.jpeg",
"couch.jpeg",
"tv.jpeg",
"dalmatian.jpeg",
"people.jpeg",
"armadillo.jpeg",
"smile.jpeg",
"SOCK.jpeg",
"fruit.jpeg",
"ladybug.jpeg",
"earring.jpeg",
"donkey.jpeg",
"triangle.jpeg",
"shin.jpeg",
"worm.jpeg",
"khakis.jpeg")
/ select = values.controlitem
/ position = (50%, 40%)
/size = (300,300)
</picture>
<video audio_control>
/items=("limb.mp3",
"juice.mp3",
"pool.mp3",
"washcloth.mp3",
"cucumber.mp3",
"flag.mp3",
"tack.mp3",
"saber.mp3",
"artichoke.mp3",
"cow.mp3",
"robot.mp3",
"fabric.mp3",
"touch.mp3",
"rice.mp3",
"rainbow.mp3",
"rock.mp3",
"referee.mp3",
"seat.mp3",
"button.mp3",
"dog.mp3",
"coal.mp3",
"monarchy.mp3",
"straw.mp3",
"monkey.mp3",
"firefly.mp3",
"anchor.mp3",
"duck.mp3",
"bicycle.mp3",
"garbage.mp3",
"fang.mp3",
"canvas.mp3",
"ticket.mp3",
"caveman.mp3",
"vest.mp3",
"insect.mp3",
"troll.mp3",
"brush.mp3",
"hubcap.mp3",
"clove.mp3",
"pliers.mp3",
"stroller.mp3",
"salsa.mp3",
"skyscraper.mp3",
"dollar.mp3",
"apple.mp3",
"shoestring.mp3",
"calculator.mp3",
"wedding.mp3",
"salad.mp3",
"pirate.mp3",
"painter.mp3",
"couch.mp3",
"tv.mp3",
"dalmatian.mp3",
"people.mp3",
"armadillo.mp3",
"smile.mp3",
"SOCK.mp3",
"fruit.mp3",
"ladybug.mp3",
"earring.mp3",
"donkey.mp3",
"triangle.mp3",
"shin.mp3",
"worm.mp3",
"khakis.mp3")
/ select = values.controlitem
</video>
<text Intro>
/ items = ("Please make sure your audio is turned up so that you can hear me. In this task, you will decide whether the image you are shown matches the word you hear. Press p if they match, and press q if they don't match. Try to answer as quickly and accurately as you can.")
/position = (50, 50)
/erase = false
/txcolor = black
/ size = (500,200)
</text>
<video introduction>
/items = ("Intro.mov")
</video>
<video error>
/ items= ("wrong.mov")
</video>
<text pressq>
/ items = ("Press q to reject")
/position = (20, 80)
/erase = false
/txcolor = crimson
/ fontstyle = ("30pt")
</text>
<text pressp>
/ items = ("Press p to accept")
/position = (80, 80)
/erase = false
/txcolor = crimson
/ fontstyle = ("30pt")
</text>
<trial test>
/ ontrialbegin = [
values.testitem = list.testitem.nextindex;
]
/ stimulustimes=[1=pictures, pressp, pressq; 700=audio]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (16)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial control>
/ ontrialbegin = [
values.controlitem = list.controlitem.nextindex;
]
/ stimulustimes=[1=pictures_control, pressp, pressq; 700=audio_control]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (25)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial intro_hf_mis>
/ ontrialbegin = [
values.intro_hf_mis_item = list.intro_hf_mis_item.nextindex;
]
/ stimulustimes=[1=intro_hf_pictures_mismatch, pressp, pressq; 700=intro_hf_audio_mismatch]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (16)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial intro_hf_match>
/ ontrialbegin = [
values.intro_hf_match_item = list.intro_hf_match_item.nextindex;
]
/ stimulustimes=[1=intro_hf_pictures_match, pressp, pressq; 700=intro_hf_audio_match]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (25)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial intro_lf_mis>
/ ontrialbegin = [
values.intro_lf_mis_item = list.intro_lf_mis_item.nextindex;
]
/ stimulustimes=[1=intro_lf_pictures_mismatch, pressp, pressq; 700=intro_lf_audio_mismatch]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (16)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial intro_lf_match>
/ ontrialbegin = [
values.intro_lf_match_item = list.intro_lf_match_item.nextindex;
]
/ stimulustimes=[1=intro_lf_pictures_match, pressp, pressq; 700=intro_lf_audio_match]
/ inputdevice=keyboard
/ validresponse=(25, 16)
/ timeout = 3500
/ posttrialpause = 100
/ correctresponse = (25)
/ errormessage = true(error, 400)
/ responsemessage = (noresponse, error, 400)
</trial>
<trial Intro>
/ stimulustimes=[1=Intro, introduction; 20000=blank]
/ timeout = 20000
/ posttrialpause = 100
</trial>
<block study>
/ trials = [1-30 = noreplace(intro_hf_mis,intro_hf_match); 31-60 = noreplace(intro_lf_mis, intro_lf_match); 61-193 = noreplace(control, test)]
</block>
<block intro>
/ trials = [1=intro]
</block>
<expt myexpt>
/ blocks = [1=Intro; 2 = study]
</expt>