Error message question


Author
Message
uni-student92084
uni-student92084
Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>
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: 12K, Visits: 98K
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


uni-student92084
uni-student92084
Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/27/2020
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


I tried what you suggested and I implemented the attribute into my blocks as the link describes. However, it still isn't showing the error when I run the script.

Could you tell me what I am doing wrong?:

<values>
/instructionIndex = 0
/progresswidth = 0
</values>

<expressions>
/progress = 1% * values.progresswidth
</expressions>


<instruct>
/fontstyle = ("Snell Roundhand", 1.43%, false, false, false, false, 5, 0)
/txcolor = black
/nextlabel = "Press the space bar to continue"
</instruct>



<item instrcutions>
/1= "Welcome to the Poltical Party Study
~nThis study is aimed to.....
~nYou will be given a political honestly scores and asked to pick which poltical party you see as most honest
~nBefore you start the study you will run a few practice trials
~nScores will run across the screen and you will place you finger on I and E
~nPress the spacebar to begin
~nIf you make an error a red X will appear"
/2= "Second page of Instrcutions is here"
</item>



<text errorReminder>
/ items = ("If you make an error, a red X will appear. Press the other key to continue.")
/ position = (50%, 95%)
/ valign = bottom
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = gray
/ erase = false
</text>


<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = black
/ fontstyle = ("Arial", 10%, true)
</text>



<shape progressbar>
/shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>

<shape progressbar_fill>
/shape = rectangle
/ size = (expressions.progress, 2%)
/ color = black
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>


<text instrcutions>
/ items = instrcutions
/ position = (10%, 25%)
/ halign = left
/ valign = top
/ hjustify = left
/ vjustify = center
/ size = (80%, 50%)
/ select = values.instructionIndex
</text>

<trial testinstuct>
/ontrialbegin = [ values.progresswidth += 10 ; values. instructionIndex +=1]
/ stimulustimes = [1=instrcutions, progressbar, progressbar_fill]
/ correctresponse = (" ")
/ errormessage = false
</trial>




<item PolALabel>
/1= "Policy A"
</item>

<text PolALabel>
/ items = PolALabel
/ valign = top
/ halign = center
/ position = (50%, 5%)
/ txcolor = black
/ fontstyle = ("Arial", 5%)
</text>



<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>



<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>



<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>


<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>



<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>



<block Practice>
/trials = [ 1=testinstuct; 2= replace(Practice)]
/errormessage = true(error,2000)
</block>


<block policy1>
/bgstim = (PolALabel)
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true(error,2000)
</block>



<block policy2>
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true( error,2000)
</block>



<expt>
/blocks = [1=Practice; 2= policy1; 3= policy2]
</expt>


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: 12K, Visits: 98K
uni-student92084 - 2/28/2020
Dave - 2/27/2020
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


I tried what you suggested and I implemented the attribute into my blocks as the link describes. However, it still isn't showing the error when I run the script.

Could you tell me what I am doing wrong?:

<values>
/instructionIndex = 0
/progresswidth = 0
</values>

<expressions>
/progress = 1% * values.progresswidth
</expressions>


<instruct>
/fontstyle = ("Snell Roundhand", 1.43%, false, false, false, false, 5, 0)
/txcolor = black
/nextlabel = "Press the space bar to continue"
</instruct>



<item instrcutions>
/1= "Welcome to the Poltical Party Study
~nThis study is aimed to.....
~nYou will be given a political honestly scores and asked to pick which poltical party you see as most honest
~nBefore you start the study you will run a few practice trials
~nScores will run across the screen and you will place you finger on I and E
~nPress the spacebar to begin
~nIf you make an error a red X will appear"
/2= "Second page of Instrcutions is here"
</item>



<text errorReminder>
/ items = ("If you make an error, a red X will appear. Press the other key to continue.")
/ position = (50%, 95%)
/ valign = bottom
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = gray
/ erase = false
</text>


<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = black
/ fontstyle = ("Arial", 10%, true)
</text>



<shape progressbar>
/shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>

<shape progressbar_fill>
/shape = rectangle
/ size = (expressions.progress, 2%)
/ color = black
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>


<text instrcutions>
/ items = instrcutions
/ position = (10%, 25%)
/ halign = left
/ valign = top
/ hjustify = left
/ vjustify = center
/ size = (80%, 50%)
/ select = values.instructionIndex
</text>

<trial testinstuct>
/ontrialbegin = [ values.progresswidth += 10 ; values. instructionIndex +=1]
/ stimulustimes = [1=instrcutions, progressbar, progressbar_fill]
/ correctresponse = (" ")
/ errormessage = false
</trial>




<item PolALabel>
/1= "Policy A"
</item>

<text PolALabel>
/ items = PolALabel
/ valign = top
/ halign = center
/ position = (50%, 5%)
/ txcolor = black
/ fontstyle = ("Arial", 5%)
</text>



<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>



<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>



<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>


<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>



<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>



<block Practice>
/trials = [ 1=testinstuct; 2= replace(Practice)]
/errormessage = true(error,2000)
</block>


<block policy1>
/bgstim = (PolALabel)
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true(error,2000)
</block>



<block policy2>
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true( error,2000)
</block>



<expt>
/blocks = [1=Practice; 2= policy1; 3= policy2]
</expt>


There are only correct responses in most of your <trial>s, or put differently: there is no wrong response, so how is it supposed to show an error message?

<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>
Edited 4 Years Ago by Dave
uni-student92084
uni-student92084
Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/28/2020
uni-student92084 - 2/28/2020
Dave - 2/27/2020
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


I tried what you suggested and I implemented the attribute into my blocks as the link describes. However, it still isn't showing the error when I run the script.

Could you tell me what I am doing wrong?:

<values>
/instructionIndex = 0
/progresswidth = 0
</values>

<expressions>
/progress = 1% * values.progresswidth
</expressions>


<instruct>
/fontstyle = ("Snell Roundhand", 1.43%, false, false, false, false, 5, 0)
/txcolor = black
/nextlabel = "Press the space bar to continue"
</instruct>



<item instrcutions>
/1= "Welcome to the Poltical Party Study
~nThis study is aimed to.....
~nYou will be given a political honestly scores and asked to pick which poltical party you see as most honest
~nBefore you start the study you will run a few practice trials
~nScores will run across the screen and you will place you finger on I and E
~nPress the spacebar to begin
~nIf you make an error a red X will appear"
/2= "Second page of Instrcutions is here"
</item>



<text errorReminder>
/ items = ("If you make an error, a red X will appear. Press the other key to continue.")
/ position = (50%, 95%)
/ valign = bottom
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = gray
/ erase = false
</text>


<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = black
/ fontstyle = ("Arial", 10%, true)
</text>



<shape progressbar>
/shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>

<shape progressbar_fill>
/shape = rectangle
/ size = (expressions.progress, 2%)
/ color = black
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>


<text instrcutions>
/ items = instrcutions
/ position = (10%, 25%)
/ halign = left
/ valign = top
/ hjustify = left
/ vjustify = center
/ size = (80%, 50%)
/ select = values.instructionIndex
</text>

<trial testinstuct>
/ontrialbegin = [ values.progresswidth += 10 ; values. instructionIndex +=1]
/ stimulustimes = [1=instrcutions, progressbar, progressbar_fill]
/ correctresponse = (" ")
/ errormessage = false
</trial>




<item PolALabel>
/1= "Policy A"
</item>

<text PolALabel>
/ items = PolALabel
/ valign = top
/ halign = center
/ position = (50%, 5%)
/ txcolor = black
/ fontstyle = ("Arial", 5%)
</text>



<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>



<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>



<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>


<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>



<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>



<block Practice>
/trials = [ 1=testinstuct; 2= replace(Practice)]
/errormessage = true(error,2000)
</block>


<block policy1>
/bgstim = (PolALabel)
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true(error,2000)
</block>



<block policy2>
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true( error,2000)
</block>



<expt>
/blocks = [1=Practice; 2= policy1; 3= policy2]
</expt>


There are only correct responses in most of your <trial>s, so how is it supposed to show an error message?

<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

So how do I show this in my trials because the link that you shared only shows how I implement that in my blocks. I originally asked on the first post how to implement the error message in my trials. Could you please show me how to  specifically implement an error in my trials for my script?

Specific help would be greatly appreciated!
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: 12K, Visits: 98K
uni-student92084 - 2/28/2020
Dave - 2/28/2020
uni-student92084 - 2/28/2020
Dave - 2/27/2020
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


I tried what you suggested and I implemented the attribute into my blocks as the link describes. However, it still isn't showing the error when I run the script.

Could you tell me what I am doing wrong?:

<values>
/instructionIndex = 0
/progresswidth = 0
</values>

<expressions>
/progress = 1% * values.progresswidth
</expressions>


<instruct>
/fontstyle = ("Snell Roundhand", 1.43%, false, false, false, false, 5, 0)
/txcolor = black
/nextlabel = "Press the space bar to continue"
</instruct>



<item instrcutions>
/1= "Welcome to the Poltical Party Study
~nThis study is aimed to.....
~nYou will be given a political honestly scores and asked to pick which poltical party you see as most honest
~nBefore you start the study you will run a few practice trials
~nScores will run across the screen and you will place you finger on I and E
~nPress the spacebar to begin
~nIf you make an error a red X will appear"
/2= "Second page of Instrcutions is here"
</item>



<text errorReminder>
/ items = ("If you make an error, a red X will appear. Press the other key to continue.")
/ position = (50%, 95%)
/ valign = bottom
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = gray
/ erase = false
</text>


<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = black
/ fontstyle = ("Arial", 10%, true)
</text>



<shape progressbar>
/shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>

<shape progressbar_fill>
/shape = rectangle
/ size = (expressions.progress, 2%)
/ color = black
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>


<text instrcutions>
/ items = instrcutions
/ position = (10%, 25%)
/ halign = left
/ valign = top
/ hjustify = left
/ vjustify = center
/ size = (80%, 50%)
/ select = values.instructionIndex
</text>

<trial testinstuct>
/ontrialbegin = [ values.progresswidth += 10 ; values. instructionIndex +=1]
/ stimulustimes = [1=instrcutions, progressbar, progressbar_fill]
/ correctresponse = (" ")
/ errormessage = false
</trial>




<item PolALabel>
/1= "Policy A"
</item>

<text PolALabel>
/ items = PolALabel
/ valign = top
/ halign = center
/ position = (50%, 5%)
/ txcolor = black
/ fontstyle = ("Arial", 5%)
</text>



<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>



<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>



<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>


<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>



<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>



<block Practice>
/trials = [ 1=testinstuct; 2= replace(Practice)]
/errormessage = true(error,2000)
</block>


<block policy1>
/bgstim = (PolALabel)
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true(error,2000)
</block>



<block policy2>
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true( error,2000)
</block>



<expt>
/blocks = [1=Practice; 2= policy1; 3= policy2]
</expt>


There are only correct responses in most of your <trial>s, so how is it supposed to show an error message?

<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

So how do I show this in my trials because the link that you shared only shows how I implement that in my blocks. I originally asked on the first post how to implement the error message in my trials. Could you please show me how to  specifically implement an error in my trials for my script?

Specific help would be greatly appreciated!

You can define /errormessage at the block-level or at the trial-level. That's not the issue here. The issue here is, as I said, that there is no wrong response in most of your trials. An error cannot occur. Hence you don't see an error message.

You have two keys defined as responses and you treat both as correct.

/ correctresponse = ("E", "I")
uni-student92084
uni-student92084
Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)Partner Member (608 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/28/2020
uni-student92084 - 2/28/2020
Dave - 2/28/2020
uni-student92084 - 2/28/2020
Dave - 2/27/2020
uni-student92084 - 2/27/2020
Hello, 

I'm trying to make an error message in my script and I don't know how to implement the error message into my trials.

I am referencing how to make an error message from a different IAT script which looks like this:  

<trial attributeA>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ stimulusframes = [1 = attributeA, errorReminder]
/ posttrialpause = parameters.ISI
</trial>


This is what I am working with, I don't have a stimulus frame where I can implement the "error Reminder", so I don't know where to put the error message:

<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

Simply define and error stimulus and an /errormessage attribute in your trial as detailed in the documentation:

https://www.millisecond.com/support/docs/v5/html/language/attributes/errormessage.htm


I tried what you suggested and I implemented the attribute into my blocks as the link describes. However, it still isn't showing the error when I run the script.

Could you tell me what I am doing wrong?:

<values>
/instructionIndex = 0
/progresswidth = 0
</values>

<expressions>
/progress = 1% * values.progresswidth
</expressions>


<instruct>
/fontstyle = ("Snell Roundhand", 1.43%, false, false, false, false, 5, 0)
/txcolor = black
/nextlabel = "Press the space bar to continue"
</instruct>



<item instrcutions>
/1= "Welcome to the Poltical Party Study
~nThis study is aimed to.....
~nYou will be given a political honestly scores and asked to pick which poltical party you see as most honest
~nBefore you start the study you will run a few practice trials
~nScores will run across the screen and you will place you finger on I and E
~nPress the spacebar to begin
~nIf you make an error a red X will appear"
/2= "Second page of Instrcutions is here"
</item>



<text errorReminder>
/ items = ("If you make an error, a red X will appear. Press the other key to continue.")
/ position = (50%, 95%)
/ valign = bottom
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = gray
/ erase = false
</text>


<text error>
/ position = (50%, 75%)
/ items = ("X")
/ color = black
/ fontstyle = ("Arial", 10%, true)
</text>



<shape progressbar>
/shape = rectangle
/ size = (70%, 2%)
/ color = gray
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>

<shape progressbar_fill>
/shape = rectangle
/ size = (expressions.progress, 2%)
/ color = black
/ position = (15%, 95%)
/ halign = left
/ valign = top
</shape>


<text instrcutions>
/ items = instrcutions
/ position = (10%, 25%)
/ halign = left
/ valign = top
/ hjustify = left
/ vjustify = center
/ size = (80%, 50%)
/ select = values.instructionIndex
</text>

<trial testinstuct>
/ontrialbegin = [ values.progresswidth += 10 ; values. instructionIndex +=1]
/ stimulustimes = [1=instrcutions, progressbar, progressbar_fill]
/ correctresponse = (" ")
/ errormessage = false
</trial>




<item PolALabel>
/1= "Policy A"
</item>

<text PolALabel>
/ items = PolALabel
/ valign = top
/ halign = center
/ position = (50%, 5%)
/ txcolor = black
/ fontstyle = ("Arial", 5%)
</text>



<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>



<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>



<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>


<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>



<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>



<block Practice>
/trials = [ 1=testinstuct; 2= replace(Practice)]
/errormessage = true(error,2000)
</block>


<block policy1>
/bgstim = (PolALabel)
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true(error,2000)
</block>



<block policy2>
/trials = [1= testinstuct;
2= replace(RepB, DemB)]
/errormessage = true( error,2000)
</block>



<expt>
/blocks = [1=Practice; 2= policy1; 3= policy2]
</expt>


There are only correct responses in most of your <trial>s, so how is it supposed to show an error message?

<trial Practice>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 0);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 1000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 3000);
trial.Practice.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.Practice.insertstimulustime(list.Repplus.nextvalue, 5000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 7000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 9000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.Practice.insertstimulustime(list.Repplus.nextvalue, 11000);
  trial.Practice.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.Practice.resetstimulusframes(7000)]
</trial>


<trial DemB>
/ validresponse = ("E")
/ correctresponse = ("E", "I")
/ beginresponsetime = 0
/ontrialbegin = [
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>

So how do I show this in my trials because the link that you shared only shows how I implement that in my blocks. I originally asked on the first post how to implement the error message in my trials. Could you please show me how to  specifically implement an error in my trials for my script?

Specific help would be greatly appreciated!

You can define /errormessage at the block-level or at the trial-level. That's not the issue here. The issue here is, as I said, that there is no wrong response in most of your trials. An error cannot occur. Hence you don't see an error message.

You have two keys defined as responses and you treat both as correct.

/ correctresponse = ("E", "I")

I see, thanks so much for your help.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search