Trouble changing


Author
Message
kiwi7
kiwi7
posted Last Year HOT
New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)
Group: Forum Members
Posts: 3, Visits: 22
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!
Attachments
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
kiwi7 - 11/18/2023
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!

I'm sorry, but the code is so broken in parts that I can't figure out what it's intended to do in the first place. As a general matter, if you have a list containing words as items and you want a value to be set to an item sampled from that list, you simply do

/ ontrialbegin = [
    values.selected_word = list.randomWords.nextvalue;
]


just like it's done in the original attentional blink script ( https://library.millisecond.com/v6/attentionalblink/attentionalblink/simpleattentionalblink.iqzip ) for e.g. values.letter1 to values.letter18, values.T1_stim, and values.T2_stim.

There, you have the definition of the global variables (values)

<values>
...

/ T1_stim = ""
/ T2_stim = ""

/ letter1 = ""
/ letter2 = ""
/ letter3 = ""
/ letter4 = ""
/ letter5 = ""
/ letter6 = ""
/ letter7 = ""
/ letter8 = ""
/ letter9 = ""
/ letter10 = ""
/ letter11 = ""
/ letter12 = ""
/ letter13 = ""
/ letter14 = ""
/ letter15 = ""
/ letter16 = ""
/ letter17 = ""
/ letter18 = ""
...
</values>


You have the text stimuli displaying whatever those variables end up being set to

<text letter1>
/ items = ("<%values.letter1%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

<text letter2>
/ items = ("<%values.letter2%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

...


You have some lists with items (whether these are letters or words makes no difference).

<list letters>
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "Y")
/ replace = false
/ selectionrate = always
</list>
...

<list T2selection>
/items = ("X", "Z", "X", "Z", "X", "Z", "X", "Z")
/ selectionmode = list.streampositions.currentindex
</list>


And then the fixation trial sets these variables to the items sampled from those lists.

<trial fixation>
/ ontrialbegin = [
...
    list.letters.reset();
    values.letter1 = list.letters.nextvalue;
    values.letter2 = list.letters.nextvalue;
    values.letter3 = list.letters.nextvalue;
    values.letter4 = list.letters.nextvalue;
    values.letter5 = list.letters.nextvalue;
    values.letter6 = list.letters.nextvalue;
    values.letter7 = list.letters.nextvalue;
    values.letter8 = list.letters.nextvalue;
    values.letter9 = list.letters.nextvalue;
    values.letter10 = list.letters.nextvalue;
    values.letter11 = list.letters.nextvalue;
    values.letter12 = list.letters.nextvalue;
    values.letter13 = list.letters.nextvalue;
    values.letter14 = list.letters.nextvalue;
    values.letter15 = list.letters.nextvalue;
    values.letter16 = list.letters.nextvalue;
    values.letter17 = list.letters.nextvalue;
    values.letter18 = list.letters.nextvalue;
    values.T1_stim = list.letters.nextvalue;
    values.T2_stim = list.T2selection.nextvalue;
...
]
...
</trial>


What you want to do is no different.

kiwi7
kiwi7
New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)
Group: Forum Members
Posts: 3, Visits: 22
Dave - 11/18/2023
kiwi7 - 11/18/2023
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!

I'm sorry, but the code is so broken in parts that I can't figure out what it's intended to do in the first place. As a general matter, if you have a list containing words as items and you want a value to be set to an item sampled from that list, you simply do

/ ontrialbegin = [
    values.selected_word = list.randomWords.nextvalue;
]


just like it's done in the original attentional blink script ( https://library.millisecond.com/v6/attentionalblink/attentionalblink/simpleattentionalblink.iqzip ) for e.g. values.letter1 to values.letter18, values.T1_stim, and values.T2_stim.

There, you have the definition of the global variables (values)

<values>
...

/ T1_stim = ""
/ T2_stim = ""

/ letter1 = ""
/ letter2 = ""
/ letter3 = ""
/ letter4 = ""
/ letter5 = ""
/ letter6 = ""
/ letter7 = ""
/ letter8 = ""
/ letter9 = ""
/ letter10 = ""
/ letter11 = ""
/ letter12 = ""
/ letter13 = ""
/ letter14 = ""
/ letter15 = ""
/ letter16 = ""
/ letter17 = ""
/ letter18 = ""
...
</values>


You have the text stimuli displaying whatever those variables end up being set to

<text letter1>
/ items = ("<%values.letter1%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

<text letter2>
/ items = ("<%values.letter2%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

...


You have some lists with items (whether these are letters or words makes no difference).

<list letters>
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "Y")
/ replace = false
/ selectionrate = always
</list>
...

<list T2selection>
/items = ("X", "Z", "X", "Z", "X", "Z", "X", "Z")
/ selectionmode = list.streampositions.currentindex
</list>


And then the fixation trial sets these variables to the items sampled from those lists.

<trial fixation>
/ ontrialbegin = [
...
    list.letters.reset();
    values.letter1 = list.letters.nextvalue;
    values.letter2 = list.letters.nextvalue;
    values.letter3 = list.letters.nextvalue;
    values.letter4 = list.letters.nextvalue;
    values.letter5 = list.letters.nextvalue;
    values.letter6 = list.letters.nextvalue;
    values.letter7 = list.letters.nextvalue;
    values.letter8 = list.letters.nextvalue;
    values.letter9 = list.letters.nextvalue;
    values.letter10 = list.letters.nextvalue;
    values.letter11 = list.letters.nextvalue;
    values.letter12 = list.letters.nextvalue;
    values.letter13 = list.letters.nextvalue;
    values.letter14 = list.letters.nextvalue;
    values.letter15 = list.letters.nextvalue;
    values.letter16 = list.letters.nextvalue;
    values.letter17 = list.letters.nextvalue;
    values.letter18 = list.letters.nextvalue;
    values.T1_stim = list.letters.nextvalue;
    values.T2_stim = list.T2selection.nextvalue;
...
]
...
</trial>


What you want to do is no different.

Thank you so much, I have one question that may clarify the intention of the script. I am trying to make the "selected_word" value only appear in the T1 task instructions (the reason the list it's pulling from looks like it does is because I needed a simple way of making the value the correct T1 stimulus word half the time and the other half of the time making it a random word from the stream. So the "selected_word" won't be shown as a stimulus technically like the other words, I only need it to be in the instructions for teh first task. Would I still follow all of these steps?

Thank you again, this is my first time using Inquisit so I'm not entirely surprised many parts were broken, unfortunately.
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
kiwi7 - 11/18/2023
Dave - 11/18/2023
kiwi7 - 11/18/2023
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!

I'm sorry, but the code is so broken in parts that I can't figure out what it's intended to do in the first place. As a general matter, if you have a list containing words as items and you want a value to be set to an item sampled from that list, you simply do

/ ontrialbegin = [
    values.selected_word = list.randomWords.nextvalue;
]


just like it's done in the original attentional blink script ( https://library.millisecond.com/v6/attentionalblink/attentionalblink/simpleattentionalblink.iqzip ) for e.g. values.letter1 to values.letter18, values.T1_stim, and values.T2_stim.

There, you have the definition of the global variables (values)

<values>
...

/ T1_stim = ""
/ T2_stim = ""

/ letter1 = ""
/ letter2 = ""
/ letter3 = ""
/ letter4 = ""
/ letter5 = ""
/ letter6 = ""
/ letter7 = ""
/ letter8 = ""
/ letter9 = ""
/ letter10 = ""
/ letter11 = ""
/ letter12 = ""
/ letter13 = ""
/ letter14 = ""
/ letter15 = ""
/ letter16 = ""
/ letter17 = ""
/ letter18 = ""
...
</values>


You have the text stimuli displaying whatever those variables end up being set to

<text letter1>
/ items = ("<%values.letter1%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

<text letter2>
/ items = ("<%values.letter2%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

...


You have some lists with items (whether these are letters or words makes no difference).

<list letters>
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "Y")
/ replace = false
/ selectionrate = always
</list>
...

<list T2selection>
/items = ("X", "Z", "X", "Z", "X", "Z", "X", "Z")
/ selectionmode = list.streampositions.currentindex
</list>


And then the fixation trial sets these variables to the items sampled from those lists.

<trial fixation>
/ ontrialbegin = [
...
    list.letters.reset();
    values.letter1 = list.letters.nextvalue;
    values.letter2 = list.letters.nextvalue;
    values.letter3 = list.letters.nextvalue;
    values.letter4 = list.letters.nextvalue;
    values.letter5 = list.letters.nextvalue;
    values.letter6 = list.letters.nextvalue;
    values.letter7 = list.letters.nextvalue;
    values.letter8 = list.letters.nextvalue;
    values.letter9 = list.letters.nextvalue;
    values.letter10 = list.letters.nextvalue;
    values.letter11 = list.letters.nextvalue;
    values.letter12 = list.letters.nextvalue;
    values.letter13 = list.letters.nextvalue;
    values.letter14 = list.letters.nextvalue;
    values.letter15 = list.letters.nextvalue;
    values.letter16 = list.letters.nextvalue;
    values.letter17 = list.letters.nextvalue;
    values.letter18 = list.letters.nextvalue;
    values.T1_stim = list.letters.nextvalue;
    values.T2_stim = list.T2selection.nextvalue;
...
]
...
</trial>


What you want to do is no different.

Thank you so much, I have one question that may clarify the intention of the script. I am trying to make the "selected_word" value only appear in the T1 task instructions (the reason the list it's pulling from looks like it does is because I needed a simple way of making the value the correct T1 stimulus word half the time and the other half of the time making it a random word from the stream. So the "selected_word" won't be shown as a stimulus technically like the other words, I only need it to be in the instructions for teh first task. Would I still follow all of these steps?

Thank you again, this is my first time using Inquisit so I'm not entirely surprised many parts were broken, unfortunately.

Yes, you do the same thing. You'll first want to set values.T1_stim in <trial fixation> by sampling its value from list.targets. After that, you'll want to set values.selected_word by sampling its value from list.randomWords.

And you'll want to strike or fix a bunch of broken syntax.

<item setWord>
/ 1 = "<% values.selected_word = list.randomWords.nextitem %>"
</item>


needs to be stricken.

The selected_word value ought be initialized like all the others.

<values>
...
/ T1_stim = ""
/ T2_stim = ""
/ selected_word = ""
...
</values>


And the randomWords list ought to be correctly speciied as

<list randomWords>
/ items = ("Elevated", values.t1_stim, "Depth", values.t1_stim,"Lowered",values.t1_stim, "Vehicle",values.t1_stim, "Structure",values.t1_stim,
"Split",values.t1_stim, "Connection",values.t1_stim, "Contrast", values.t1_stim,"Narrow",values.t1_stim, "Geometric",values.t1_stim,
"Fact",values.t1_stim, "Horizon",values.t1_stim, "Distant",values.t1_stim, "Projecting",values.t1_stim, "Posture",values.t1_stim,
"Pointed",values.t1_stim, "Boulder",values.t1_stim, "Remote",values.t1_stim,"Bottle",values.t1_stim, "Comfort", values.t1_stim,
"Infant",values.t1_stim, "Nursery",values.t1_stim, "Parenting", values.t1_stim,"Diapers",values.t1_stim, "Newborn",values.t1_stim,
"Crib",values.t1_stim,"Children",values.t1_stim, "Preemie",values.t1_stim, "Affection",values.t1_stim, "Crying", values.t1_stim)
/ poolsize = 60
/ replace = false
/ selectionmode = random
</list>


Edited Last Year by Dave
kiwi7
kiwi7
New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)New Member (40 reputation)
Group: Forum Members
Posts: 3, Visits: 22
Dave - 11/18/2023
kiwi7 - 11/18/2023
Dave - 11/18/2023
kiwi7 - 11/18/2023
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!

I'm sorry, but the code is so broken in parts that I can't figure out what it's intended to do in the first place. As a general matter, if you have a list containing words as items and you want a value to be set to an item sampled from that list, you simply do

/ ontrialbegin = [
    values.selected_word = list.randomWords.nextvalue;
]


just like it's done in the original attentional blink script ( https://library.millisecond.com/v6/attentionalblink/attentionalblink/simpleattentionalblink.iqzip ) for e.g. values.letter1 to values.letter18, values.T1_stim, and values.T2_stim.

There, you have the definition of the global variables (values)

<values>
...

/ T1_stim = ""
/ T2_stim = ""

/ letter1 = ""
/ letter2 = ""
/ letter3 = ""
/ letter4 = ""
/ letter5 = ""
/ letter6 = ""
/ letter7 = ""
/ letter8 = ""
/ letter9 = ""
/ letter10 = ""
/ letter11 = ""
/ letter12 = ""
/ letter13 = ""
/ letter14 = ""
/ letter15 = ""
/ letter16 = ""
/ letter17 = ""
/ letter18 = ""
...
</values>


You have the text stimuli displaying whatever those variables end up being set to

<text letter1>
/ items = ("<%values.letter1%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

<text letter2>
/ items = ("<%values.letter2%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

...


You have some lists with items (whether these are letters or words makes no difference).

<list letters>
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "Y")
/ replace = false
/ selectionrate = always
</list>
...

<list T2selection>
/items = ("X", "Z", "X", "Z", "X", "Z", "X", "Z")
/ selectionmode = list.streampositions.currentindex
</list>


And then the fixation trial sets these variables to the items sampled from those lists.

<trial fixation>
/ ontrialbegin = [
...
    list.letters.reset();
    values.letter1 = list.letters.nextvalue;
    values.letter2 = list.letters.nextvalue;
    values.letter3 = list.letters.nextvalue;
    values.letter4 = list.letters.nextvalue;
    values.letter5 = list.letters.nextvalue;
    values.letter6 = list.letters.nextvalue;
    values.letter7 = list.letters.nextvalue;
    values.letter8 = list.letters.nextvalue;
    values.letter9 = list.letters.nextvalue;
    values.letter10 = list.letters.nextvalue;
    values.letter11 = list.letters.nextvalue;
    values.letter12 = list.letters.nextvalue;
    values.letter13 = list.letters.nextvalue;
    values.letter14 = list.letters.nextvalue;
    values.letter15 = list.letters.nextvalue;
    values.letter16 = list.letters.nextvalue;
    values.letter17 = list.letters.nextvalue;
    values.letter18 = list.letters.nextvalue;
    values.T1_stim = list.letters.nextvalue;
    values.T2_stim = list.T2selection.nextvalue;
...
]
...
</trial>


What you want to do is no different.

Thank you so much, I have one question that may clarify the intention of the script. I am trying to make the "selected_word" value only appear in the T1 task instructions (the reason the list it's pulling from looks like it does is because I needed a simple way of making the value the correct T1 stimulus word half the time and the other half of the time making it a random word from the stream. So the "selected_word" won't be shown as a stimulus technically like the other words, I only need it to be in the instructions for teh first task. Would I still follow all of these steps?

Thank you again, this is my first time using Inquisit so I'm not entirely surprised many parts were broken, unfortunately.

Yes, you do the same thing. You'll first want to set values.T1_stim in <trial fixation> by sampling its value from list.targets. After that, you'll want to set values.selected_word by sampling its value from list.randomWords.

And you'll want to strike or fix a bunch of broken syntax.

<item setWord>
/ 1 = "<% values.selected_word = list.randomWords.nextitem %>"
</item>


needs to be striken.

The selected_word value ought be initialized like all the others.

<values>
...
/ T1_stim = ""
/ T2_stim = ""
/ selected_word = ""
...
</values>


And the randomWords list ought to be correctly speciied as

<list randomWords>
/ items = ("Elevated", values.t1_stim, "Depth", values.t1_stim,"Lowered",values.t1_stim, "Vehicle",values.t1_stim, "Structure",values.t1_stim,
"Split",values.t1_stim, "Connection",values.t1_stim, "Contrast", values.t1_stim,"Narrow",values.t1_stim, "Geometric",values.t1_stim,
"Fact",values.t1_stim, "Horizon",values.t1_stim, "Distant",values.t1_stim, "Projecting",values.t1_stim, "Posture",values.t1_stim,
"Pointed",values.t1_stim, "Boulder",values.t1_stim, "Remote",values.t1_stim,"Bottle",values.t1_stim, "Comfort", values.t1_stim,
"Infant",values.t1_stim, "Nursery",values.t1_stim, "Parenting", values.t1_stim,"Diapers",values.t1_stim, "Newborn",values.t1_stim,
"Crib",values.t1_stim,"Children",values.t1_stim, "Preemie",values.t1_stim, "Affection",values.t1_stim, "Crying", values.t1_stim)
/ poolsize = 60
/ replace = false
/ selectionmode = random
</list>


Dave, thank you so so much. It finally works and, while I'm exasperated that it was partly because of a syntax error, I am so happy. Thank you again!!
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
kiwi7 - 11/18/2023
Dave - 11/18/2023
kiwi7 - 11/18/2023
Dave - 11/18/2023
kiwi7 - 11/18/2023
Hi, 
I'm very very new to inquisit and am modifying the attentional blink task script provided on millisecond. I have pretty much everything working except I can't figure out how to assign a new word item from a list to a value that will change with each trial. I have attached my script below as there are many places in the script that I have edited to try and make this work. 
The value I can't figure out is "selected_word" and I want the word that will be defined by this value to be randomly pulled from the list called "randomWords". Right now it appears that the way I am trying to define the value is causing just the expression to show up instead of it functioning properly and pulling a word from the list. Would greatly appreciate any help you can provide!!

I'm sorry, but the code is so broken in parts that I can't figure out what it's intended to do in the first place. As a general matter, if you have a list containing words as items and you want a value to be set to an item sampled from that list, you simply do

/ ontrialbegin = [
    values.selected_word = list.randomWords.nextvalue;
]


just like it's done in the original attentional blink script ( https://library.millisecond.com/v6/attentionalblink/attentionalblink/simpleattentionalblink.iqzip ) for e.g. values.letter1 to values.letter18, values.T1_stim, and values.T2_stim.

There, you have the definition of the global variables (values)

<values>
...

/ T1_stim = ""
/ T2_stim = ""

/ letter1 = ""
/ letter2 = ""
/ letter3 = ""
/ letter4 = ""
/ letter5 = ""
/ letter6 = ""
/ letter7 = ""
/ letter8 = ""
/ letter9 = ""
/ letter10 = ""
/ letter11 = ""
/ letter12 = ""
/ letter13 = ""
/ letter14 = ""
/ letter15 = ""
/ letter16 = ""
/ letter17 = ""
/ letter18 = ""
...
</values>


You have the text stimuli displaying whatever those variables end up being set to

<text letter1>
/ items = ("<%values.letter1%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

<text letter2>
/ items = ("<%values.letter2%>")
/ fontstyle = ("Arial", parameters.stimulussize_letters, false, false, false, false, 5, 1)
/ position = (50%, 50%)
/ txbgcolor = black
</text>

...


You have some lists with items (whether these are letters or words makes no difference).

<list letters>
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P",
"Q", "R", "S", "T", "U", "V", "Y")
/ replace = false
/ selectionrate = always
</list>
...

<list T2selection>
/items = ("X", "Z", "X", "Z", "X", "Z", "X", "Z")
/ selectionmode = list.streampositions.currentindex
</list>


And then the fixation trial sets these variables to the items sampled from those lists.

<trial fixation>
/ ontrialbegin = [
...
    list.letters.reset();
    values.letter1 = list.letters.nextvalue;
    values.letter2 = list.letters.nextvalue;
    values.letter3 = list.letters.nextvalue;
    values.letter4 = list.letters.nextvalue;
    values.letter5 = list.letters.nextvalue;
    values.letter6 = list.letters.nextvalue;
    values.letter7 = list.letters.nextvalue;
    values.letter8 = list.letters.nextvalue;
    values.letter9 = list.letters.nextvalue;
    values.letter10 = list.letters.nextvalue;
    values.letter11 = list.letters.nextvalue;
    values.letter12 = list.letters.nextvalue;
    values.letter13 = list.letters.nextvalue;
    values.letter14 = list.letters.nextvalue;
    values.letter15 = list.letters.nextvalue;
    values.letter16 = list.letters.nextvalue;
    values.letter17 = list.letters.nextvalue;
    values.letter18 = list.letters.nextvalue;
    values.T1_stim = list.letters.nextvalue;
    values.T2_stim = list.T2selection.nextvalue;
...
]
...
</trial>


What you want to do is no different.

Thank you so much, I have one question that may clarify the intention of the script. I am trying to make the "selected_word" value only appear in the T1 task instructions (the reason the list it's pulling from looks like it does is because I needed a simple way of making the value the correct T1 stimulus word half the time and the other half of the time making it a random word from the stream. So the "selected_word" won't be shown as a stimulus technically like the other words, I only need it to be in the instructions for teh first task. Would I still follow all of these steps?

Thank you again, this is my first time using Inquisit so I'm not entirely surprised many parts were broken, unfortunately.

Yes, you do the same thing. You'll first want to set values.T1_stim in <trial fixation> by sampling its value from list.targets. After that, you'll want to set values.selected_word by sampling its value from list.randomWords.

And you'll want to strike or fix a bunch of broken syntax.

<item setWord>
/ 1 = "<% values.selected_word = list.randomWords.nextitem %>"
</item>


needs to be striken.

The selected_word value ought be initialized like all the others.

<values>
...
/ T1_stim = ""
/ T2_stim = ""
/ selected_word = ""
...
</values>


And the randomWords list ought to be correctly speciied as

<list randomWords>
/ items = ("Elevated", values.t1_stim, "Depth", values.t1_stim,"Lowered",values.t1_stim, "Vehicle",values.t1_stim, "Structure",values.t1_stim,
"Split",values.t1_stim, "Connection",values.t1_stim, "Contrast", values.t1_stim,"Narrow",values.t1_stim, "Geometric",values.t1_stim,
"Fact",values.t1_stim, "Horizon",values.t1_stim, "Distant",values.t1_stim, "Projecting",values.t1_stim, "Posture",values.t1_stim,
"Pointed",values.t1_stim, "Boulder",values.t1_stim, "Remote",values.t1_stim,"Bottle",values.t1_stim, "Comfort", values.t1_stim,
"Infant",values.t1_stim, "Nursery",values.t1_stim, "Parenting", values.t1_stim,"Diapers",values.t1_stim, "Newborn",values.t1_stim,
"Crib",values.t1_stim,"Children",values.t1_stim, "Preemie",values.t1_stim, "Affection",values.t1_stim, "Crying", values.t1_stim)
/ poolsize = 60
/ replace = false
/ selectionmode = random
</list>


Dave, thank you so so much. It finally works and, while I'm exasperated that it was partly because of a syntax error, I am so happy. Thank you again!!

👍

Have a great weekend!
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search