Millisecond Forums

Trouble changing

https://forums.millisecond.com/Topic35775.aspx

By kiwi7 - 11/17/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!!
By 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.
By 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.
By 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 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>

By 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!!
By Dave - 11/18/2023

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!