Millisecond Forums

Feedbacks only in practice trials

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

By Tylhi - 1/10/2022

Hi,

I'm facing a little issue with my trials. I would like to display feedbacks only on the practice trial, and not on the main ones.
I tried that, it worked for a time, but I don't know what I have done but the feedbacks don't appear for now.

<values>
/ completed = 0
/ test = 0
/ stimulus = 0
/ block = 0
/ item = 0
</values>
.
.
.
<trial interferencesleft_bottom>
/ stimulustimes = [0 = clearscreen; 500=targetinterferencesleft_bottom; 2250=clearscreen]

/ validresponse = (parameters.responsekey_right, parameters.responsekey_left)
/ correctresponse = (parameters.responsekey_left)
/ ontrialend = [
            list.accuracy_alltrials.insertitem(trial.interferencesleft_bottom.correct,1);
            list.accuracy_interference.insertitem(trial.interferencesleft_bottom.correct,1);
        if (trial.interferencesleft_bottom.correct) {
            list.latencies_alltrials.insertitem(trial.interferencesleft_bottom.latency, 1);
            list.latencies_interference.insertitem(trial.interferencesleft_bottom.latency, 1);
        }
]
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.error) trial.error]
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.correct) trial.true]
/ beginresponsetime = 500
/ timeout = 2750
</trial>

<trial error>
/ trialcode = "error"
/ stimulustimes = [0= error]
/ trialduration = (150)
/ responsemode = noresponse
/ recorddata = false
</trial>

<trial true>
/ trialcode = "true"
/ stimulustimes = [0= true]
/ trialduration = (150)
/ responsemode = noresponse
/ recorddata = false
</trial>
.
.
.
<block practice>
/ onblockbegin = [
    values.block = 0;
    values.test = 0;
]
/ screencolor = black
/ preinstructions = (practice_flanker)
/ trials = [1,3,5,7,9,11,13,15,17,19,21,23=fixation;
2,4,6,8,10,12,14,16,18,20,22,24= noreplace(arrowsleft_bottom,arrowsleft_middle,arrowsleft_top,arrowsright_bottom,arrowsright_middle,
arrowsright_top,interferencesleft_bottom,interferencesleft_middle,interferencesleft_top,interferencesright_bottom,interferencesright_middle,
interferencesright_top)]
</block>


The entire script is attached to the topic.

Thank you in advance for your help
Margaux
By Dave - 1/10/2022

Tylhi - 1/10/2022
qHi,

I'm facing a little issue with my trials. I would like to display feedbacks only on the practice trial, and not on the main ones.
I tried that, it worked for a time, but I don't know what I have done but the feedbacks don't appear for now.

<values>
/ completed = 0
/ test = 0
/ stimulus = 0
/ block = 0
/ item = 0
</values>
.
.
.
<trial interferencesleft_bottom>
/ stimulustimes = [0 = clearscreen; 500=targetinterferencesleft_bottom; 2250=clearscreen]

/ validresponse = (parameters.responsekey_right, parameters.responsekey_left)
/ correctresponse = (parameters.responsekey_left)
/ ontrialend = [
            list.accuracy_alltrials.insertitem(trial.interferencesleft_bottom.correct,1);
            list.accuracy_interference.insertitem(trial.interferencesleft_bottom.correct,1);
        if (trial.interferencesleft_bottom.correct) {
            list.latencies_alltrials.insertitem(trial.interferencesleft_bottom.latency, 1);
            list.latencies_interference.insertitem(trial.interferencesleft_bottom.latency, 1);
        }
]
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.error) trial.error]
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.correct) trial.true]
/ beginresponsetime = 500
/ timeout = 2750
</trial>

<trial error>
/ trialcode = "error"
/ stimulustimes = [0= error]
/ trialduration = (150)
/ responsemode = noresponse
/ recorddata = false
</trial>

<trial true>
/ trialcode = "true"
/ stimulustimes = [0= true]
/ trialduration = (150)
/ responsemode = noresponse
/ recorddata = false
</trial>
.
.
.
<block practice>
/ onblockbegin = [
    values.block = 0;
    values.test = 0;
]
/ screencolor = black
/ preinstructions = (practice_flanker)
/ trials = [1,3,5,7,9,11,13,15,17,19,21,23=fixation;
2,4,6,8,10,12,14,16,18,20,22,24= noreplace(arrowsleft_bottom,arrowsleft_middle,arrowsleft_top,arrowsright_bottom,arrowsright_middle,
arrowsright_top,interferencesleft_bottom,interferencesleft_middle,interferencesleft_top,interferencesright_bottom,interferencesright_middle,
interferencesright_top)]
</block>


The entire script is attached to the topic.

Thank you in advance for your help
Margaux

<trial interferencesleft_bottom>
....
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.error) trial.error]
/ branch = [if (values.test = 0 && trial.interferencesleft_bottom.correct) trial.true]
/ beginresponsetime = 500
/ timeout = 2750
</trial>

is wrong. = is the assignment operator, you need the logical comparison operator == here.

https://www.millisecond.com/support/docs/v6/html/language/expressions/operators.htm