Group: Forum Members
Posts: 5,
Visits: 23
|
Hello Dave,
maybe I didn't explain it very clearly.
I need to show the same sources again and don't want to create a new list. First the sources are shown with the targets and the relation (that's what we've already written about and is working right now) but afterwards I want to show the same sources again. Each source should be presented once in a likability rating. Like that, I want to pick each source once out of the lists, which were created for the relation-block.
I am referring to your edited version of the script and want to add the likability rating. I am attaching both.
Hopefully, this was a bit more comprehensible.
Thanks a lot, Christina
-------------------EDITED SCRIPT------------------------ <block relation> / onblockbegin = [list.sourceitemslike.appenditem(list.allitems.nextindex); list.sourceitemslike.appenditem(list.allitems.currentindex); list.sourceitemslike.appenditem(list.allitems.nextindex); list.sourceitemslike.appenditem(list.allitems.currentindex); list.sourceitemsdislike.appenditem(list.allitems.nextindex); list.sourceitemsdislike.appenditem(list.allitems.currentindex); list.sourceitemsdislike.appenditem(list.allitems.nextindex); list.sourceitemsdislike.appenditem(list.allitems.currentindex);
list.targetitemslike.appenditem(list.allitems.nextindex); list.targetitemslike.appenditem(list.allitems.nextindex); list.targetitemslike.appenditem(list.targetitemslike.item(1)); list.targetitemslike.appenditem(list.targetitemslike.item(2));
list.targetitemsdislike.appenditem(list.targetitemslike.item(1)); list.targetitemsdislike.appenditem(list.targetitemslike.item(2)); list.targetitemsdislike.appenditem(list.targetitemslike.item(1)); list.targetitemsdislike.appenditem(list.targetitemslike.item(2));] / trials = [1-8 = noreplace(relationlike, relationdislike)] </block>
<trial relationlike> / stimulusframes = [1=sourcelike; 2=targetlike; 3=like] /timeout = 5000 /pretrialpause= 1000 </trial>
<trial relationdislike> / stimulusframes = [1=sourcedislike; 2=targetdislike; 3=dislike] /timeout = 5000 /pretrialpause= 1000 </trial>
<text like> /items = ("mag") /position= (50,50) /fontstyle= ("ARIAL", 40, true, false, false, false, 5, 0) / select = replace </text>
<text dislike> /items = ("mag nicht") /position= (50,50) /fontstyle= ("ARIAL", 40, true, false, false, false, 5, 0) / select = replace </text>
<text sourcelike> /items = kollegen / select = list.sourceitemslike.nextvalue / position= (25,50) / size = (30%, 30%) </text>
<text sourcedislike> /items = kollegen / select = list.sourceitemsdislike.nextvalue / position= (25,50) / size = (30%, 30%) </text>
<text targetlike> /items = kollegen / select = list.targetitemslike.nextvalue / position= (75,50) / size = (30%, 30%) </text>
<text targetdislike> /items = kollegen / select = list.targetitemsdislike.nextvalue / position= (75,50) / size = (30%, 30%) </text>
<item kollegen> /1 = "2.jpg" /2 = "3.jpg" /3 = "4.jpg" /4 = "5.bmp" /5 = "6.jpg" /6 = "7.jpg" /7 = "8.jpg" /8 = "9.bmp" /9 = "10.jpg" /10 = "11.bmp" </item>
<list allitems> / poolsize = 10 / selectionrate = always </list>
<list sourceitemslike> </list>
<list targetitemslike> / selectionmode = list.sourceitemslike.currentindex </list>
<list sourceitemsdislike> </list>
<list targetitemsdislike> / selectionmode = list.sourceitemsdislike.currentindex </list>
--------------------NEW PART OF THE SCRIPT--------------------------------- <likert likability> /stimulusframes = [1=question; 2= noreplace(sourcelike2, sourcedislike2)] /anchors = [1 = "sehr unsympathisch", 2="", 3="", 4="", 5="", 6="", 7="", 8="", 9= "sehr sympathisch"] /numpoints = 9 /anchorwidth = 100 /position = (50,70) </likert>
<picture sourcelike2> /items = kollegen / select = list.sourceitemslike.nextvalue / position= (50,30) / size = (40%, 40%) </picture>
<picture sourcedislike2> /items = kollegen / select = list.sourceitemsdislike.nextvalue / position= (50,30) / size = (40%, 40%) </picture>
<block likability> /preinstructions = (likability) /trials = [1 - 4=likability] </block>
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
> I need to show the same sources again and don't want to create a new list.
I understood that. You may not want to create a new list, but that is what you have to do. The only alternative is to remove the 2nd instance of each item from the existing <list>s (see the documentation for the list element's removeitem() function). Note that this will *destroy* the lists' existing structure, i.e., if you want to again show the source-target pairs later on, that won't be possible without you re-creating the lists' original structure.
|
Group: Forum Members
Posts: 5,
Visits: 23
|
Hello Dave,
thanks a lot! I did get your point and it is working right now! Great!
Unfortunately, there is a new problem. Sometimes, not every time, there is an error that appears during theexperiment. The experiment starts and the first pages are shown, but right before the<block relation> or after the first few presentations it is terminatedand there is this message: 'Unable to initialize <picture targetlike> item number 29. Verify theitem exists and is correctly defined.' Most of the time it concerns item numer 0 or the last items of the liststargetlike or targetdislike.This error appears in each of my three conditions,which have separate lists.
I tested every picture and there was no problem in presenting them on thescreen, so that doesn't seem to be the error. I am afraid there is a mistake in the definiton of the lists.
Do you have any idea? I attached my script and the stimuli as a zip-folder. I couldn't attach the chinese characters for the AMP (block test, pic1 - pic200) Maybe you could transpose them to text elements, as you did before.
Thanks again, Christina
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
> 'Unable to initialize <picture targetlike> item number 29. Verify theitem exists and is correctly defined.' > Most of the time it concerns item numer 0 or the last items of the liststargetlike or targetdislike.This error appears > in each of my three conditions,which have separate lists.
Means that you are referring to an item number *at runtime* which does not exist in the respective <list>. If you are displaying images, there can be no item 0. If the error pertains to any other item number, that item does not exist. For example, there is no item number 29 in <picture targetlike>:
<picture targetdislike> /items = kollegen /select = list.targetitemsdislike.nextindex / position= (70,50) / size = (30%, 30%) </picture>
<item kollegen> /1 = "1.bmp" /2 = "2.jpg" /3 = "3.bmp" /4 = "4.jpg" /5 = "5.bmp" /6 = "6.jpg" /7 = "7.jpg" /8 = "8.jpg" /9 = "9.bmp" /10 = "10.jpg" /11 = "11.bmp" /12 = "12.bmp" /13 = "13.bmp" /14 = "14.bmp" /15 = "15.jpg" /16 = "16.jpg" /17 = "17.jpg" /18 = "18.bmp" /19 = "19.jpg" /20 = "20.bmp" /21 = "21.jpg" /22 = "22.bmp" /23 = "23.jpg" /24 = "24.jpg" /25 = "25.bmp" /26 = "26.png" /27 = "27.png" /28 = "28.jpg" </item>
There are 28 items, not 29.
The problem likely is that you are selecting according to the list's item *index*.
/select = list.targetitemsdislike.nextindex
You *should* be selecting according to the list's item *value*.
/select = list.targetitemsdislike.nextvalue
Your lists contain the same item numbers multiple times, i.e., there are many more entries in the list than there are items.
For example, consider
<block myblock> / trials = [1-4=mytrial] </block>
<trial mytrial> / stimulusframes = [1=mypicture] / validresponse = (57) </trial>
<picture mypicture> / items = ("A.bmp", "B.bmp") / select = list.mylist.nextindex </picture>
<list mylist> / items = (1,1,2,2) </list>
which will *fail*, versus the correct
<block myblock> / trials = [1-4=mytrial] </block>
<trial mytrial> / stimulusframes = [1=mypicture] / validresponse = (57) </trial>
<picture mypicture> / items = ("A.bmp", "B.bmp") / select = list.mylist.nextvalue </picture>
<list mylist> / items = (1,1,2,2) </list>
|