Noreplace, something strange...


Author
Message
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
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Hello

As much as I am happy to say we're launching the real experiment soon, there is an outstanding issue with one of the tasks, which has been requiring me to re-run the task (it takes 20 mins) multiple times, and I have tried all strategies listed. To my amazement, the issue is persisting. I have 38 Positive trials, 6 Negative trials, and 6 Catch trials, 50 T. I have used noreplace, I've tried noreplacenorepeat, i've tried resetintervals, manually typing in trials for block given they differ in number. Yet, when I run the exp, and look at my data, whilst the 38 positive trials are fine, the catch and negative trials are misbehaving! Sometimes there are 8 catch trials instead of 6 (and thus 4 negative), or 7 negatives (and 5 catch). Any ideas as to why this is so?
Thank you kindly




*****************
STIMULI
*****************
<item scenarioP>
/ 1 = "P1.mp3"
/ 2 = "P2.mp3"
/ 3 = "P3.mp3"
/ 4 = "P4.mp3"
/ 5 = "P5.mp3"
/ 6 = "P6.mp3"
/ 7 = "P7.mp3"
/ 8 = "P8.mp3"
/ 9 = "P9.mp3"
/ 10 = "P10.mp3"
/ 11 = "P11.mp3"
/ 12 = "P12.mp3"
/ 13 = "P13.mp3"
/ 14 = "P14.mp3"
/ 15 = "P15.mp3"
/ 16 = "P16.mp3"
/ 17 = "P17.mp3"
/ 18 = "P18.mp3"
/ 19 = "P19.mp3"
/ 20 = "P20.mp3"
/ 21 = "P21.mp3"
/ 22 = "P22.mp3"
/ 23 = "P23.mp3"
/ 24 = "P24.mp3"
/ 25 = "P25.mp3"
/ 26 = "P26.mp3"
/ 27 = "P27.mp3"
/ 28 = "P28.mp3"
/ 29 = "P29.mp3"
/ 30 = "P30.mp3"
/ 31 = "P31.mp3"
/ 32 ="P32.mp3"
/ 33 = "P33.mp3"
/ 34 = "P34.mp3"
/ 35 = "P35.mp3"
/ 36 = "P36.mp3"
/ 37 = "P37.mp3"
/ 38 = "P38.mp3"
</item>

<item scenarioN>
/ 1 = "N1.mp3"
/ 2 = "N2.mp3"
/ 3 = "N3.mp3"
/ 4 = "N4.mp3"
/ 5 = "N5.mp3"
/ 6 = "N6.mp3"
</item>

<item scenarioC>
/ 1 = "C1.mp3"
/ 2 = "C2.mp3"
/ 3 = "C3.mp3"
/ 4 = "C4.mp3"
/ 5 = "C5.mp3"
/ 6 = "C6.mp3"
</item>

<item comprehensionP>
/ 1 = "Do you think you have a good chance of getting the promotion?"
/ 2 = "Is your partner injured?"
/ 3 = "Do you have enough money to go away skiing?"
/ 4 = "Did you get stuck in the lift?"
/ 5 = "Do you think your new boss is happy with your work?"
/ 6 = "Has your card been declined?"
/ 7 = "Do you regret spending the money on the headphones?"
/ 8 = "Did you feel disappointed with your performance?"
/ 9 = "Will you look silly wearing your gym clothes at lunch?"
/ 10 = "Does reflecting on your life leave you feeling negative?"
/ 11 = "Are you content with what you have?"
/ 12 ="Are you responsible for your son's politeness today?"
/ 13 = "Does your boss think your work is unacceptable?"
/ 14 = "Are you satisfied with your organisational skills?"
/ 15 = "Do you find it daunting thinking about switching careers?"
/ 16 = "Do you make a valuable contribution to the department?"
/ 17 = "Is your work still there?"
/ 18 = "Will your course-mates grade your presentation advantageously?"
/ 19 = "Is your friend too busy to write a long response?"
/ 20 = "Are your new neighbours nice?"
/ 21 = "Is your friend upset that you cancelled?"
/ 22 = "Are you pleased with the way you came across?"
/ 23 = "Are your new team mates glad you've joined the team?"
/ 24 = "Is your heart racing because you are nervous?"
/ 25 = "Will the team like you?"
/ 26 = "Do the others at the dinner party find you dull?"
/ 27 = "Did your flatmate react badly to your talk?"
/ 28 = "Will they still be attending the date?"
/ 29 = "Did you do a good job choosing the present?"
/ 30 = "Are you making a good impression at the family gathering?"
/ 31 = "Is your colleague offended by what you said?"
/ 32 = "Do your friends dislike what you have done?"
/ 33 = "Will your friends think the party is bad?"
/ 34 = "Is your barbeque going well?"
/ 35 = "Is your partner bothered by what you said?"
/ 36 = "Did you manage to find the necklace?"
/ 37 = "Does your date dislike your cooking?"
/ 38 = "Will you catch the bus?"
</item>

<item comprehensionN>
/ 1 = "Will you be good at your new job?"
/ 2 = "Are you running late for work?"
/ 3 = "Did you hit an animal?"
/ 4 = "Did your colleagues want you out with them?"
/ 5 = "Did they want to talk to you?"
/ 6 = "Are your friends saying bad things about you in the text messages?"
</item>

<item comprehensionC>
/ 1 = "Do you think you came across well?"
/ 2 = "Are you currently able to pay your council tax bill?"
/ 3 = "Was the assistant annoyed when you asked for a refund?"
/ 4 = "Did your friend cancel because she didn't want to see you?"
/ 5 = "Will the guests find you boring?"
/ 6 = "Are they understanding about you coming late?"
</item>

<item rawnote>
/ 1 = "NOTE.png"
</item>

<item instruction>
/ 1 = "Instructions go here. Press SPACEBAR to continue"
</item>

<text IBT1>
/ items = ("Instructions")
/ position = (50%, 5%)
/ fontstyle = ("Arial", 2.8%, true, false, true, false)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT2>
/ items = ("In this task, you will hear audio clips describing everyday situations. You must listen as closely and attentively as possible to these scenarios and imagine yourself in these situations as vividly as you can")
/ position = (50%, 10%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT3>
/ items = ("Even if you have not experienced a situation like this before, please imagine it is happening to you")
/ position = (50%, 20%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT4>
/ items = ("There will be a three second countdown presented on screen anticipating the arrival of a given scenario")
/ position = (50%, 27%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT5>
/ items = ("Each scenario will be followed by a yes/no comprehension question. press either the key ‘Y’ for yes, or ‘N’ for no. Answer each question as ACCURATELY as you can. Providing an answer will move you on to the next scenario")
/ position = (50%, 40%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
</text>

<text IBT6>
/ items = ("Pressing SPACEBAR will start the main task immediately, so please ensure you have your headphones connected, and that you have understood the above instructions")
/ position = (50%, 58%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, false, false, false, false)
</text>

<text IBT7>
/ items = ("Press SPACEBAR to start main task")
/ position = (50%, 90%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true)
/ txcolor = red
</text>

<item break>
/ 1 = "You are doing well!

You are well over half-way through the experimental session. Please feel free to have a few minutes break. When you are ready to continue, ensure that your headphones are connected, and then press SPACEBAR"
</item>

<text break>
/ items = break
/ size = (900, 70)
/ position = (50, 40)
/ halign = center
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
/ txcolor = black
</text>

<video scenarioP>
/ items = scenarioP
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioN>
/ items = scenarioN
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioC>
/ items = scenarioC
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<picture note>
/ items = rawnote
/size = (900, 70)
/position = (50, 48)
/halign = center
</picture>

<text comprehensionP>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionP
/ select = video.scenarioP.currentindex
</text>

<text comprehensionN>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionN
/ select = video.scenarioN.currentindex
</text>

<text comprehensionC>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionC
/ select = video.scenarioC.currentindex
</text>

<text correctfeed>
/ items = ("correct !")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =#00d900
</text>

<text incorrectfeed>
/ items = ("incorrect...")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =red
</text>

<text three>
/ items = ("3")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text two>
/ items = ("2")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text one>
/ items = ("1")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text instruction>
/ items = instruction
/ select = sequence
/size = (1500, 70)
/position = (50, 10)
/halign = center
/ valign = top
/ fontstyle = ("Arial", 3%)
</text>

*****************
LISTS
*****************
E = scancode 18 (yes)
I = scancode 23 (no)
*****************

<list correctkeys_comprehensionP>
/items = (21, 49, 21, 49, 21, 49, 49, 49, 49, 49, 21, 21, 49, 21, 49, 21, 21, 21, 21, 21, 49, 21, 21, 49, 21, 49, 49, 21, 21, 21, 49, 49, 49, 21, 49, 21, 49, 21)
/ selectionmode = video.scenarioP.currentindex
</list>

<list correctkeys_comprehensionN>
/items = (49, 21, 21, 49, 49, 21)
/ selectionmode = video.scenarioN.currentindex
</list>

<list correctkeys_comprehensionC>
/items = (21, 21, 49, 49, 49, 21)
/ selectionmode = video.scenarioC.currentindex
</list>

<list accuracyP>
</list>

<list accuracyN>
</list>

<list accuracyC>
</list>

<list overallaccuracy>
</list>

*****************
TRIALS
*****************
<values>
/ numberoftrialsrun = 0
</values>

<trial break>
/ stimulusframes = [1=break]
/ recorddata = false
/ showmousecursor = false
/ validresponse = (" ")
/ correctresponse = (" ")
</trial>

<trial countdownP>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownP.timeout == 3000) trial.scenarioP]
</trial>

<trial countdownN>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownN.timeout == 3000) trial.scenarioN]
</trial>

<trial countdownC>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownC.timeout == 3000) trial.scenarioC]
</trial>

<trial scenarioP>
/ stimulusframes = [2=scenarioP, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionP]
/ recorddata = false
</trial>

<trial scenarioN>
/ stimulusframes = [2=scenarioN, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionN]
/ recorddata = false
</trial>

<trial scenarioC>
/ stimulusframes = [2=scenarioC, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionC]
/ recorddata = false
</trial>

<trial comprehensionP>
/ stimulusframes = [1=text.comprehensionP]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionP.response == list.correctkeys_comprehensionP.nextvalue]
/ branch = [
    if(trial.comprehensionP.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyP.insertitem(trial.comprehensionP.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionP.correct, 1)]
</trial>

<trial comprehensionN>
/ stimulusframes = [1=text.comprehensionN]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionN.response == list.correctkeys_comprehensionN.nextvalue]
/ branch = [
    if(trial.comprehensionN.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyN.insertitem(trial.comprehensionN.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionN.correct, 1)]
</trial>

<trial comprehensionC>
/ stimulusframes = [1=text.comprehensionC]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionC.response == list.correctkeys_comprehensionC.nextvalue]
/ branch = [
    if(trial.comprehensionC.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyC.insertitem(trial.comprehensionC.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionC.correct, 1)]
</trial>

<trial correctfeed>
/ stimulusframes = [1=text.correctfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial incorrectfeed>
/ stimulusframes = [1=text.incorrectfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial instruction>
/ stimulustimes = [1000 = IBT1; 5000 = IBT2; 16000 = IBT3; 24000 = IBT4; 32000 = IBT5; 40000 = IBT5; 48000 = IBT6; 56000 = IBT7]
/ validresponse = (" ")
/ correctresponse = (" ")
/ recorddata = false
</trial>
*****************
BLOCKS
*****************

<block positive>
/ trials = [1=trial.instruction; 2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

*****************
EXPERIMENT
*****************

<expt>
/ blocks = [1=block.positive]
</expt>

*****************
EXPRESSIONS
*****************
<expressions>
/ PositiveEndorsement = list.accuracyP.mean
/ NegativeEndorsement = list.accuracyN.mean
/ CatchEndorsement = list.accuracyC.mean
/ OverallEndorsement = list.overallaccuracy.mean
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, values.completed,
expressions.OverallEndorsement, expressions.PositiveEndorsement, expressions.NegativeEndorsement, expressions.CatchEndorsement)

/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (time, subject, group, blockcode, trialcode, response, correct, latency,
stimulusnumber, stimulusitem)
</data>

*****************
DEFAULTS
*****************

<defaults>
/ screencolor = white
/ txcolor = black
/ txbgcolor = white
/ fontstyle = ("Arial", 2.8%)
</defaults>








2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

That's running 51 trials, not 50.

Doing so produced (counting the output) 36 positive trials instead of 38, but this time produced 6 catch trials and 6 negative trials, but this means it has sacrificed two positives?

produced 37 positive trials not 36, my bad, but this is still one short no?

I don't know what you're doing.

<block positive>
/ trials = [1=trial.instruction; 2-51=noreplace(
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

<trial instruction>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownP>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownN>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownC>
/ validresponse = (0)
/ trialduration = 0
</trial>

produces 38 countdownP trials, 6 countdownN trials and 6 countdownC trials exactly as it should.

> am I right in thinking it is because of the trial break/pause. I implement this when it reaches halfway, to branch into a break trial. Thus, I can simply add an extra positive item/trial to make up the number. This is the only thing I can think of, yet when I applied code to create a break, from the forum, it was said that it would leave the rest of the trials alone/unaffected, but in this case it has taken one away

It's not taking anything away. You /branch to the break trial from one of the countdown trials. All the countdown trials are run, you can easily verify this for yourself.

The respective countdown trial obviously cannot and will not then go on to the respective scenario trial. The countdown trial is over and things have moved on to the break trial.
Okay then I'm honestly not sure why it cuts one short, I mean, I attach the recent output file based on the above. I guess I can add one extra, I have kept going over the numbers carefully, making sure I have not miscounted, and I haven't so is very difficult to know why this happens!

But thank you though anyway as always I much appreciate all this help

The output file is useless without the exact code that produced it.

Also: The output file DOES NOT LOG the countdown trials. It logs the comprehension trials.

As I explained to you here https://www.millisecond.com/forums/FindPost31305.aspx the countdown trial cannot go to the scenario trial, and the scenario trial cannot go to the comprehension trial if you instructed the countdown trial to go to the break trial instead.

AnthonyFCollinsSussex
AnthonyFCollinsSussex
Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)
Group: Forum Members
Posts: 52, Visits: 249
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Hello

As much as I am happy to say we're launching the real experiment soon, there is an outstanding issue with one of the tasks, which has been requiring me to re-run the task (it takes 20 mins) multiple times, and I have tried all strategies listed. To my amazement, the issue is persisting. I have 38 Positive trials, 6 Negative trials, and 6 Catch trials, 50 T. I have used noreplace, I've tried noreplacenorepeat, i've tried resetintervals, manually typing in trials for block given they differ in number. Yet, when I run the exp, and look at my data, whilst the 38 positive trials are fine, the catch and negative trials are misbehaving! Sometimes there are 8 catch trials instead of 6 (and thus 4 negative), or 7 negatives (and 5 catch). Any ideas as to why this is so?
Thank you kindly




*****************
STIMULI
*****************
<item scenarioP>
/ 1 = "P1.mp3"
/ 2 = "P2.mp3"
/ 3 = "P3.mp3"
/ 4 = "P4.mp3"
/ 5 = "P5.mp3"
/ 6 = "P6.mp3"
/ 7 = "P7.mp3"
/ 8 = "P8.mp3"
/ 9 = "P9.mp3"
/ 10 = "P10.mp3"
/ 11 = "P11.mp3"
/ 12 = "P12.mp3"
/ 13 = "P13.mp3"
/ 14 = "P14.mp3"
/ 15 = "P15.mp3"
/ 16 = "P16.mp3"
/ 17 = "P17.mp3"
/ 18 = "P18.mp3"
/ 19 = "P19.mp3"
/ 20 = "P20.mp3"
/ 21 = "P21.mp3"
/ 22 = "P22.mp3"
/ 23 = "P23.mp3"
/ 24 = "P24.mp3"
/ 25 = "P25.mp3"
/ 26 = "P26.mp3"
/ 27 = "P27.mp3"
/ 28 = "P28.mp3"
/ 29 = "P29.mp3"
/ 30 = "P30.mp3"
/ 31 = "P31.mp3"
/ 32 ="P32.mp3"
/ 33 = "P33.mp3"
/ 34 = "P34.mp3"
/ 35 = "P35.mp3"
/ 36 = "P36.mp3"
/ 37 = "P37.mp3"
/ 38 = "P38.mp3"
</item>

<item scenarioN>
/ 1 = "N1.mp3"
/ 2 = "N2.mp3"
/ 3 = "N3.mp3"
/ 4 = "N4.mp3"
/ 5 = "N5.mp3"
/ 6 = "N6.mp3"
</item>

<item scenarioC>
/ 1 = "C1.mp3"
/ 2 = "C2.mp3"
/ 3 = "C3.mp3"
/ 4 = "C4.mp3"
/ 5 = "C5.mp3"
/ 6 = "C6.mp3"
</item>

<item comprehensionP>
/ 1 = "Do you think you have a good chance of getting the promotion?"
/ 2 = "Is your partner injured?"
/ 3 = "Do you have enough money to go away skiing?"
/ 4 = "Did you get stuck in the lift?"
/ 5 = "Do you think your new boss is happy with your work?"
/ 6 = "Has your card been declined?"
/ 7 = "Do you regret spending the money on the headphones?"
/ 8 = "Did you feel disappointed with your performance?"
/ 9 = "Will you look silly wearing your gym clothes at lunch?"
/ 10 = "Does reflecting on your life leave you feeling negative?"
/ 11 = "Are you content with what you have?"
/ 12 ="Are you responsible for your son's politeness today?"
/ 13 = "Does your boss think your work is unacceptable?"
/ 14 = "Are you satisfied with your organisational skills?"
/ 15 = "Do you find it daunting thinking about switching careers?"
/ 16 = "Do you make a valuable contribution to the department?"
/ 17 = "Is your work still there?"
/ 18 = "Will your course-mates grade your presentation advantageously?"
/ 19 = "Is your friend too busy to write a long response?"
/ 20 = "Are your new neighbours nice?"
/ 21 = "Is your friend upset that you cancelled?"
/ 22 = "Are you pleased with the way you came across?"
/ 23 = "Are your new team mates glad you've joined the team?"
/ 24 = "Is your heart racing because you are nervous?"
/ 25 = "Will the team like you?"
/ 26 = "Do the others at the dinner party find you dull?"
/ 27 = "Did your flatmate react badly to your talk?"
/ 28 = "Will they still be attending the date?"
/ 29 = "Did you do a good job choosing the present?"
/ 30 = "Are you making a good impression at the family gathering?"
/ 31 = "Is your colleague offended by what you said?"
/ 32 = "Do your friends dislike what you have done?"
/ 33 = "Will your friends think the party is bad?"
/ 34 = "Is your barbeque going well?"
/ 35 = "Is your partner bothered by what you said?"
/ 36 = "Did you manage to find the necklace?"
/ 37 = "Does your date dislike your cooking?"
/ 38 = "Will you catch the bus?"
</item>

<item comprehensionN>
/ 1 = "Will you be good at your new job?"
/ 2 = "Are you running late for work?"
/ 3 = "Did you hit an animal?"
/ 4 = "Did your colleagues want you out with them?"
/ 5 = "Did they want to talk to you?"
/ 6 = "Are your friends saying bad things about you in the text messages?"
</item>

<item comprehensionC>
/ 1 = "Do you think you came across well?"
/ 2 = "Are you currently able to pay your council tax bill?"
/ 3 = "Was the assistant annoyed when you asked for a refund?"
/ 4 = "Did your friend cancel because she didn't want to see you?"
/ 5 = "Will the guests find you boring?"
/ 6 = "Are they understanding about you coming late?"
</item>

<item rawnote>
/ 1 = "NOTE.png"
</item>

<item instruction>
/ 1 = "Instructions go here. Press SPACEBAR to continue"
</item>

<text IBT1>
/ items = ("Instructions")
/ position = (50%, 5%)
/ fontstyle = ("Arial", 2.8%, true, false, true, false)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT2>
/ items = ("In this task, you will hear audio clips describing everyday situations. You must listen as closely and attentively as possible to these scenarios and imagine yourself in these situations as vividly as you can")
/ position = (50%, 10%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT3>
/ items = ("Even if you have not experienced a situation like this before, please imagine it is happening to you")
/ position = (50%, 20%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT4>
/ items = ("There will be a three second countdown presented on screen anticipating the arrival of a given scenario")
/ position = (50%, 27%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT5>
/ items = ("Each scenario will be followed by a yes/no comprehension question. press either the key ‘Y’ for yes, or ‘N’ for no. Answer each question as ACCURATELY as you can. Providing an answer will move you on to the next scenario")
/ position = (50%, 40%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
</text>

<text IBT6>
/ items = ("Pressing SPACEBAR will start the main task immediately, so please ensure you have your headphones connected, and that you have understood the above instructions")
/ position = (50%, 58%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, false, false, false, false)
</text>

<text IBT7>
/ items = ("Press SPACEBAR to start main task")
/ position = (50%, 90%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true)
/ txcolor = red
</text>

<item break>
/ 1 = "You are doing well!

You are well over half-way through the experimental session. Please feel free to have a few minutes break. When you are ready to continue, ensure that your headphones are connected, and then press SPACEBAR"
</item>

<text break>
/ items = break
/ size = (900, 70)
/ position = (50, 40)
/ halign = center
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
/ txcolor = black
</text>

<video scenarioP>
/ items = scenarioP
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioN>
/ items = scenarioN
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioC>
/ items = scenarioC
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<picture note>
/ items = rawnote
/size = (900, 70)
/position = (50, 48)
/halign = center
</picture>

<text comprehensionP>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionP
/ select = video.scenarioP.currentindex
</text>

<text comprehensionN>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionN
/ select = video.scenarioN.currentindex
</text>

<text comprehensionC>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionC
/ select = video.scenarioC.currentindex
</text>

<text correctfeed>
/ items = ("correct !")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =#00d900
</text>

<text incorrectfeed>
/ items = ("incorrect...")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =red
</text>

<text three>
/ items = ("3")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text two>
/ items = ("2")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text one>
/ items = ("1")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text instruction>
/ items = instruction
/ select = sequence
/size = (1500, 70)
/position = (50, 10)
/halign = center
/ valign = top
/ fontstyle = ("Arial", 3%)
</text>

*****************
LISTS
*****************
E = scancode 18 (yes)
I = scancode 23 (no)
*****************

<list correctkeys_comprehensionP>
/items = (21, 49, 21, 49, 21, 49, 49, 49, 49, 49, 21, 21, 49, 21, 49, 21, 21, 21, 21, 21, 49, 21, 21, 49, 21, 49, 49, 21, 21, 21, 49, 49, 49, 21, 49, 21, 49, 21)
/ selectionmode = video.scenarioP.currentindex
</list>

<list correctkeys_comprehensionN>
/items = (49, 21, 21, 49, 49, 21)
/ selectionmode = video.scenarioN.currentindex
</list>

<list correctkeys_comprehensionC>
/items = (21, 21, 49, 49, 49, 21)
/ selectionmode = video.scenarioC.currentindex
</list>

<list accuracyP>
</list>

<list accuracyN>
</list>

<list accuracyC>
</list>

<list overallaccuracy>
</list>

*****************
TRIALS
*****************
<values>
/ numberoftrialsrun = 0
</values>

<trial break>
/ stimulusframes = [1=break]
/ recorddata = false
/ showmousecursor = false
/ validresponse = (" ")
/ correctresponse = (" ")
</trial>

<trial countdownP>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownP.timeout == 3000) trial.scenarioP]
</trial>

<trial countdownN>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownN.timeout == 3000) trial.scenarioN]
</trial>

<trial countdownC>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownC.timeout == 3000) trial.scenarioC]
</trial>

<trial scenarioP>
/ stimulusframes = [2=scenarioP, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionP]
/ recorddata = false
</trial>

<trial scenarioN>
/ stimulusframes = [2=scenarioN, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionN]
/ recorddata = false
</trial>

<trial scenarioC>
/ stimulusframes = [2=scenarioC, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionC]
/ recorddata = false
</trial>

<trial comprehensionP>
/ stimulusframes = [1=text.comprehensionP]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionP.response == list.correctkeys_comprehensionP.nextvalue]
/ branch = [
    if(trial.comprehensionP.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyP.insertitem(trial.comprehensionP.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionP.correct, 1)]
</trial>

<trial comprehensionN>
/ stimulusframes = [1=text.comprehensionN]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionN.response == list.correctkeys_comprehensionN.nextvalue]
/ branch = [
    if(trial.comprehensionN.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyN.insertitem(trial.comprehensionN.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionN.correct, 1)]
</trial>

<trial comprehensionC>
/ stimulusframes = [1=text.comprehensionC]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionC.response == list.correctkeys_comprehensionC.nextvalue]
/ branch = [
    if(trial.comprehensionC.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyC.insertitem(trial.comprehensionC.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionC.correct, 1)]
</trial>

<trial correctfeed>
/ stimulusframes = [1=text.correctfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial incorrectfeed>
/ stimulusframes = [1=text.incorrectfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial instruction>
/ stimulustimes = [1000 = IBT1; 5000 = IBT2; 16000 = IBT3; 24000 = IBT4; 32000 = IBT5; 40000 = IBT5; 48000 = IBT6; 56000 = IBT7]
/ validresponse = (" ")
/ correctresponse = (" ")
/ recorddata = false
</trial>
*****************
BLOCKS
*****************

<block positive>
/ trials = [1=trial.instruction; 2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

*****************
EXPERIMENT
*****************

<expt>
/ blocks = [1=block.positive]
</expt>

*****************
EXPRESSIONS
*****************
<expressions>
/ PositiveEndorsement = list.accuracyP.mean
/ NegativeEndorsement = list.accuracyN.mean
/ CatchEndorsement = list.accuracyC.mean
/ OverallEndorsement = list.overallaccuracy.mean
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, values.completed,
expressions.OverallEndorsement, expressions.PositiveEndorsement, expressions.NegativeEndorsement, expressions.CatchEndorsement)

/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (time, subject, group, blockcode, trialcode, response, correct, latency,
stimulusnumber, stimulusitem)
</data>

*****************
DEFAULTS
*****************

<defaults>
/ screencolor = white
/ txcolor = black
/ txbgcolor = white
/ fontstyle = ("Arial", 2.8%)
</defaults>








2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

That's running 51 trials, not 50.

Doing so produced (counting the output) 36 positive trials instead of 38, but this time produced 6 catch trials and 6 negative trials, but this means it has sacrificed two positives?

produced 37 positive trials not 36, my bad, but this is still one short no?

I don't know what you're doing.

<block positive>
/ trials = [1=trial.instruction; 2-51=noreplace(
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

<trial instruction>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownP>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownN>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownC>
/ validresponse = (0)
/ trialduration = 0
</trial>

produces 38 countdownP trials, 6 countdownN trials and 6 countdownC trials exactly as it should.

> am I right in thinking it is because of the trial break/pause. I implement this when it reaches halfway, to branch into a break trial. Thus, I can simply add an extra positive item/trial to make up the number. This is the only thing I can think of, yet when I applied code to create a break, from the forum, it was said that it would leave the rest of the trials alone/unaffected, but in this case it has taken one away

It's not taking anything away. You /branch to the break trial from one of the countdown trials. All the countdown trials are run, you can easily verify this for yourself.

The respective countdown trial obviously cannot and will not then go on to the respective scenario trial. The countdown trial is over and things have moved on to the break trial.
Okay then I'm honestly not sure why it cuts one short, I mean, I attach the recent output file based on the above. I guess I can add one extra, I have kept going over the numbers carefully, making sure I have not miscounted, and I haven't so is very difficult to know why this happens!

But thank you though anyway as always I much appreciate all this help

The output file is useless without the exact code that produced it.

Ah, I attached the exact script here that was used to generate the output,

Attachments
IBT Positive.iqx (142 views, 14.00 KB)
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
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Hello

As much as I am happy to say we're launching the real experiment soon, there is an outstanding issue with one of the tasks, which has been requiring me to re-run the task (it takes 20 mins) multiple times, and I have tried all strategies listed. To my amazement, the issue is persisting. I have 38 Positive trials, 6 Negative trials, and 6 Catch trials, 50 T. I have used noreplace, I've tried noreplacenorepeat, i've tried resetintervals, manually typing in trials for block given they differ in number. Yet, when I run the exp, and look at my data, whilst the 38 positive trials are fine, the catch and negative trials are misbehaving! Sometimes there are 8 catch trials instead of 6 (and thus 4 negative), or 7 negatives (and 5 catch). Any ideas as to why this is so?
Thank you kindly




*****************
STIMULI
*****************
<item scenarioP>
/ 1 = "P1.mp3"
/ 2 = "P2.mp3"
/ 3 = "P3.mp3"
/ 4 = "P4.mp3"
/ 5 = "P5.mp3"
/ 6 = "P6.mp3"
/ 7 = "P7.mp3"
/ 8 = "P8.mp3"
/ 9 = "P9.mp3"
/ 10 = "P10.mp3"
/ 11 = "P11.mp3"
/ 12 = "P12.mp3"
/ 13 = "P13.mp3"
/ 14 = "P14.mp3"
/ 15 = "P15.mp3"
/ 16 = "P16.mp3"
/ 17 = "P17.mp3"
/ 18 = "P18.mp3"
/ 19 = "P19.mp3"
/ 20 = "P20.mp3"
/ 21 = "P21.mp3"
/ 22 = "P22.mp3"
/ 23 = "P23.mp3"
/ 24 = "P24.mp3"
/ 25 = "P25.mp3"
/ 26 = "P26.mp3"
/ 27 = "P27.mp3"
/ 28 = "P28.mp3"
/ 29 = "P29.mp3"
/ 30 = "P30.mp3"
/ 31 = "P31.mp3"
/ 32 ="P32.mp3"
/ 33 = "P33.mp3"
/ 34 = "P34.mp3"
/ 35 = "P35.mp3"
/ 36 = "P36.mp3"
/ 37 = "P37.mp3"
/ 38 = "P38.mp3"
</item>

<item scenarioN>
/ 1 = "N1.mp3"
/ 2 = "N2.mp3"
/ 3 = "N3.mp3"
/ 4 = "N4.mp3"
/ 5 = "N5.mp3"
/ 6 = "N6.mp3"
</item>

<item scenarioC>
/ 1 = "C1.mp3"
/ 2 = "C2.mp3"
/ 3 = "C3.mp3"
/ 4 = "C4.mp3"
/ 5 = "C5.mp3"
/ 6 = "C6.mp3"
</item>

<item comprehensionP>
/ 1 = "Do you think you have a good chance of getting the promotion?"
/ 2 = "Is your partner injured?"
/ 3 = "Do you have enough money to go away skiing?"
/ 4 = "Did you get stuck in the lift?"
/ 5 = "Do you think your new boss is happy with your work?"
/ 6 = "Has your card been declined?"
/ 7 = "Do you regret spending the money on the headphones?"
/ 8 = "Did you feel disappointed with your performance?"
/ 9 = "Will you look silly wearing your gym clothes at lunch?"
/ 10 = "Does reflecting on your life leave you feeling negative?"
/ 11 = "Are you content with what you have?"
/ 12 ="Are you responsible for your son's politeness today?"
/ 13 = "Does your boss think your work is unacceptable?"
/ 14 = "Are you satisfied with your organisational skills?"
/ 15 = "Do you find it daunting thinking about switching careers?"
/ 16 = "Do you make a valuable contribution to the department?"
/ 17 = "Is your work still there?"
/ 18 = "Will your course-mates grade your presentation advantageously?"
/ 19 = "Is your friend too busy to write a long response?"
/ 20 = "Are your new neighbours nice?"
/ 21 = "Is your friend upset that you cancelled?"
/ 22 = "Are you pleased with the way you came across?"
/ 23 = "Are your new team mates glad you've joined the team?"
/ 24 = "Is your heart racing because you are nervous?"
/ 25 = "Will the team like you?"
/ 26 = "Do the others at the dinner party find you dull?"
/ 27 = "Did your flatmate react badly to your talk?"
/ 28 = "Will they still be attending the date?"
/ 29 = "Did you do a good job choosing the present?"
/ 30 = "Are you making a good impression at the family gathering?"
/ 31 = "Is your colleague offended by what you said?"
/ 32 = "Do your friends dislike what you have done?"
/ 33 = "Will your friends think the party is bad?"
/ 34 = "Is your barbeque going well?"
/ 35 = "Is your partner bothered by what you said?"
/ 36 = "Did you manage to find the necklace?"
/ 37 = "Does your date dislike your cooking?"
/ 38 = "Will you catch the bus?"
</item>

<item comprehensionN>
/ 1 = "Will you be good at your new job?"
/ 2 = "Are you running late for work?"
/ 3 = "Did you hit an animal?"
/ 4 = "Did your colleagues want you out with them?"
/ 5 = "Did they want to talk to you?"
/ 6 = "Are your friends saying bad things about you in the text messages?"
</item>

<item comprehensionC>
/ 1 = "Do you think you came across well?"
/ 2 = "Are you currently able to pay your council tax bill?"
/ 3 = "Was the assistant annoyed when you asked for a refund?"
/ 4 = "Did your friend cancel because she didn't want to see you?"
/ 5 = "Will the guests find you boring?"
/ 6 = "Are they understanding about you coming late?"
</item>

<item rawnote>
/ 1 = "NOTE.png"
</item>

<item instruction>
/ 1 = "Instructions go here. Press SPACEBAR to continue"
</item>

<text IBT1>
/ items = ("Instructions")
/ position = (50%, 5%)
/ fontstyle = ("Arial", 2.8%, true, false, true, false)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT2>
/ items = ("In this task, you will hear audio clips describing everyday situations. You must listen as closely and attentively as possible to these scenarios and imagine yourself in these situations as vividly as you can")
/ position = (50%, 10%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT3>
/ items = ("Even if you have not experienced a situation like this before, please imagine it is happening to you")
/ position = (50%, 20%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT4>
/ items = ("There will be a three second countdown presented on screen anticipating the arrival of a given scenario")
/ position = (50%, 27%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT5>
/ items = ("Each scenario will be followed by a yes/no comprehension question. press either the key ‘Y’ for yes, or ‘N’ for no. Answer each question as ACCURATELY as you can. Providing an answer will move you on to the next scenario")
/ position = (50%, 40%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
</text>

<text IBT6>
/ items = ("Pressing SPACEBAR will start the main task immediately, so please ensure you have your headphones connected, and that you have understood the above instructions")
/ position = (50%, 58%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, false, false, false, false)
</text>

<text IBT7>
/ items = ("Press SPACEBAR to start main task")
/ position = (50%, 90%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true)
/ txcolor = red
</text>

<item break>
/ 1 = "You are doing well!

You are well over half-way through the experimental session. Please feel free to have a few minutes break. When you are ready to continue, ensure that your headphones are connected, and then press SPACEBAR"
</item>

<text break>
/ items = break
/ size = (900, 70)
/ position = (50, 40)
/ halign = center
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
/ txcolor = black
</text>

<video scenarioP>
/ items = scenarioP
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioN>
/ items = scenarioN
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioC>
/ items = scenarioC
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<picture note>
/ items = rawnote
/size = (900, 70)
/position = (50, 48)
/halign = center
</picture>

<text comprehensionP>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionP
/ select = video.scenarioP.currentindex
</text>

<text comprehensionN>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionN
/ select = video.scenarioN.currentindex
</text>

<text comprehensionC>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionC
/ select = video.scenarioC.currentindex
</text>

<text correctfeed>
/ items = ("correct !")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =#00d900
</text>

<text incorrectfeed>
/ items = ("incorrect...")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =red
</text>

<text three>
/ items = ("3")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text two>
/ items = ("2")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text one>
/ items = ("1")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text instruction>
/ items = instruction
/ select = sequence
/size = (1500, 70)
/position = (50, 10)
/halign = center
/ valign = top
/ fontstyle = ("Arial", 3%)
</text>

*****************
LISTS
*****************
E = scancode 18 (yes)
I = scancode 23 (no)
*****************

<list correctkeys_comprehensionP>
/items = (21, 49, 21, 49, 21, 49, 49, 49, 49, 49, 21, 21, 49, 21, 49, 21, 21, 21, 21, 21, 49, 21, 21, 49, 21, 49, 49, 21, 21, 21, 49, 49, 49, 21, 49, 21, 49, 21)
/ selectionmode = video.scenarioP.currentindex
</list>

<list correctkeys_comprehensionN>
/items = (49, 21, 21, 49, 49, 21)
/ selectionmode = video.scenarioN.currentindex
</list>

<list correctkeys_comprehensionC>
/items = (21, 21, 49, 49, 49, 21)
/ selectionmode = video.scenarioC.currentindex
</list>

<list accuracyP>
</list>

<list accuracyN>
</list>

<list accuracyC>
</list>

<list overallaccuracy>
</list>

*****************
TRIALS
*****************
<values>
/ numberoftrialsrun = 0
</values>

<trial break>
/ stimulusframes = [1=break]
/ recorddata = false
/ showmousecursor = false
/ validresponse = (" ")
/ correctresponse = (" ")
</trial>

<trial countdownP>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownP.timeout == 3000) trial.scenarioP]
</trial>

<trial countdownN>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownN.timeout == 3000) trial.scenarioN]
</trial>

<trial countdownC>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownC.timeout == 3000) trial.scenarioC]
</trial>

<trial scenarioP>
/ stimulusframes = [2=scenarioP, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionP]
/ recorddata = false
</trial>

<trial scenarioN>
/ stimulusframes = [2=scenarioN, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionN]
/ recorddata = false
</trial>

<trial scenarioC>
/ stimulusframes = [2=scenarioC, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionC]
/ recorddata = false
</trial>

<trial comprehensionP>
/ stimulusframes = [1=text.comprehensionP]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionP.response == list.correctkeys_comprehensionP.nextvalue]
/ branch = [
    if(trial.comprehensionP.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyP.insertitem(trial.comprehensionP.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionP.correct, 1)]
</trial>

<trial comprehensionN>
/ stimulusframes = [1=text.comprehensionN]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionN.response == list.correctkeys_comprehensionN.nextvalue]
/ branch = [
    if(trial.comprehensionN.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyN.insertitem(trial.comprehensionN.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionN.correct, 1)]
</trial>

<trial comprehensionC>
/ stimulusframes = [1=text.comprehensionC]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionC.response == list.correctkeys_comprehensionC.nextvalue]
/ branch = [
    if(trial.comprehensionC.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyC.insertitem(trial.comprehensionC.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionC.correct, 1)]
</trial>

<trial correctfeed>
/ stimulusframes = [1=text.correctfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial incorrectfeed>
/ stimulusframes = [1=text.incorrectfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial instruction>
/ stimulustimes = [1000 = IBT1; 5000 = IBT2; 16000 = IBT3; 24000 = IBT4; 32000 = IBT5; 40000 = IBT5; 48000 = IBT6; 56000 = IBT7]
/ validresponse = (" ")
/ correctresponse = (" ")
/ recorddata = false
</trial>
*****************
BLOCKS
*****************

<block positive>
/ trials = [1=trial.instruction; 2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

*****************
EXPERIMENT
*****************

<expt>
/ blocks = [1=block.positive]
</expt>

*****************
EXPRESSIONS
*****************
<expressions>
/ PositiveEndorsement = list.accuracyP.mean
/ NegativeEndorsement = list.accuracyN.mean
/ CatchEndorsement = list.accuracyC.mean
/ OverallEndorsement = list.overallaccuracy.mean
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, values.completed,
expressions.OverallEndorsement, expressions.PositiveEndorsement, expressions.NegativeEndorsement, expressions.CatchEndorsement)

/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (time, subject, group, blockcode, trialcode, response, correct, latency,
stimulusnumber, stimulusitem)
</data>

*****************
DEFAULTS
*****************

<defaults>
/ screencolor = white
/ txcolor = black
/ txbgcolor = white
/ fontstyle = ("Arial", 2.8%)
</defaults>








2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

That's running 51 trials, not 50.

Doing so produced (counting the output) 36 positive trials instead of 38, but this time produced 6 catch trials and 6 negative trials, but this means it has sacrificed two positives?

produced 37 positive trials not 36, my bad, but this is still one short no?

I don't know what you're doing.

<block positive>
/ trials = [1=trial.instruction; 2-51=noreplace(
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

<trial instruction>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownP>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownN>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownC>
/ validresponse = (0)
/ trialduration = 0
</trial>

produces 38 countdownP trials, 6 countdownN trials and 6 countdownC trials exactly as it should.

> am I right in thinking it is because of the trial break/pause. I implement this when it reaches halfway, to branch into a break trial. Thus, I can simply add an extra positive item/trial to make up the number. This is the only thing I can think of, yet when I applied code to create a break, from the forum, it was said that it would leave the rest of the trials alone/unaffected, but in this case it has taken one away

It's not taking anything away. You /branch to the break trial from one of the countdown trials. All the countdown trials are run, you can easily verify this for yourself.

The respective countdown trial obviously cannot and will not then go on to the respective scenario trial. The countdown trial is over and things have moved on to the break trial.
Okay then I'm honestly not sure why it cuts one short, I mean, I attach the recent output file based on the above. I guess I can add one extra, I have kept going over the numbers carefully, making sure I have not miscounted, and I haven't so is very difficult to know why this happens!

But thank you though anyway as always I much appreciate all this help

The output file is useless without the exact code that produced it.

Ah, I attached the exact script here that was used to generate the output,

This is your mistake and this is what you need to rethink and fix:

https://www.millisecond.com/forums/FindPost31308.aspx

You need to think about when you are doing stuff (such as branching to the break trial) and what the consequences are.

The branch to the break trial does not belong in the countdown trials. It belongs in the comprehension feedback trials.
AnthonyFCollinsSussex
AnthonyFCollinsSussex
Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)
Group: Forum Members
Posts: 52, Visits: 249
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Dave - 4/12/2021
AnthonyFCollinsSussex - 4/12/2021
Hello

As much as I am happy to say we're launching the real experiment soon, there is an outstanding issue with one of the tasks, which has been requiring me to re-run the task (it takes 20 mins) multiple times, and I have tried all strategies listed. To my amazement, the issue is persisting. I have 38 Positive trials, 6 Negative trials, and 6 Catch trials, 50 T. I have used noreplace, I've tried noreplacenorepeat, i've tried resetintervals, manually typing in trials for block given they differ in number. Yet, when I run the exp, and look at my data, whilst the 38 positive trials are fine, the catch and negative trials are misbehaving! Sometimes there are 8 catch trials instead of 6 (and thus 4 negative), or 7 negatives (and 5 catch). Any ideas as to why this is so?
Thank you kindly




*****************
STIMULI
*****************
<item scenarioP>
/ 1 = "P1.mp3"
/ 2 = "P2.mp3"
/ 3 = "P3.mp3"
/ 4 = "P4.mp3"
/ 5 = "P5.mp3"
/ 6 = "P6.mp3"
/ 7 = "P7.mp3"
/ 8 = "P8.mp3"
/ 9 = "P9.mp3"
/ 10 = "P10.mp3"
/ 11 = "P11.mp3"
/ 12 = "P12.mp3"
/ 13 = "P13.mp3"
/ 14 = "P14.mp3"
/ 15 = "P15.mp3"
/ 16 = "P16.mp3"
/ 17 = "P17.mp3"
/ 18 = "P18.mp3"
/ 19 = "P19.mp3"
/ 20 = "P20.mp3"
/ 21 = "P21.mp3"
/ 22 = "P22.mp3"
/ 23 = "P23.mp3"
/ 24 = "P24.mp3"
/ 25 = "P25.mp3"
/ 26 = "P26.mp3"
/ 27 = "P27.mp3"
/ 28 = "P28.mp3"
/ 29 = "P29.mp3"
/ 30 = "P30.mp3"
/ 31 = "P31.mp3"
/ 32 ="P32.mp3"
/ 33 = "P33.mp3"
/ 34 = "P34.mp3"
/ 35 = "P35.mp3"
/ 36 = "P36.mp3"
/ 37 = "P37.mp3"
/ 38 = "P38.mp3"
</item>

<item scenarioN>
/ 1 = "N1.mp3"
/ 2 = "N2.mp3"
/ 3 = "N3.mp3"
/ 4 = "N4.mp3"
/ 5 = "N5.mp3"
/ 6 = "N6.mp3"
</item>

<item scenarioC>
/ 1 = "C1.mp3"
/ 2 = "C2.mp3"
/ 3 = "C3.mp3"
/ 4 = "C4.mp3"
/ 5 = "C5.mp3"
/ 6 = "C6.mp3"
</item>

<item comprehensionP>
/ 1 = "Do you think you have a good chance of getting the promotion?"
/ 2 = "Is your partner injured?"
/ 3 = "Do you have enough money to go away skiing?"
/ 4 = "Did you get stuck in the lift?"
/ 5 = "Do you think your new boss is happy with your work?"
/ 6 = "Has your card been declined?"
/ 7 = "Do you regret spending the money on the headphones?"
/ 8 = "Did you feel disappointed with your performance?"
/ 9 = "Will you look silly wearing your gym clothes at lunch?"
/ 10 = "Does reflecting on your life leave you feeling negative?"
/ 11 = "Are you content with what you have?"
/ 12 ="Are you responsible for your son's politeness today?"
/ 13 = "Does your boss think your work is unacceptable?"
/ 14 = "Are you satisfied with your organisational skills?"
/ 15 = "Do you find it daunting thinking about switching careers?"
/ 16 = "Do you make a valuable contribution to the department?"
/ 17 = "Is your work still there?"
/ 18 = "Will your course-mates grade your presentation advantageously?"
/ 19 = "Is your friend too busy to write a long response?"
/ 20 = "Are your new neighbours nice?"
/ 21 = "Is your friend upset that you cancelled?"
/ 22 = "Are you pleased with the way you came across?"
/ 23 = "Are your new team mates glad you've joined the team?"
/ 24 = "Is your heart racing because you are nervous?"
/ 25 = "Will the team like you?"
/ 26 = "Do the others at the dinner party find you dull?"
/ 27 = "Did your flatmate react badly to your talk?"
/ 28 = "Will they still be attending the date?"
/ 29 = "Did you do a good job choosing the present?"
/ 30 = "Are you making a good impression at the family gathering?"
/ 31 = "Is your colleague offended by what you said?"
/ 32 = "Do your friends dislike what you have done?"
/ 33 = "Will your friends think the party is bad?"
/ 34 = "Is your barbeque going well?"
/ 35 = "Is your partner bothered by what you said?"
/ 36 = "Did you manage to find the necklace?"
/ 37 = "Does your date dislike your cooking?"
/ 38 = "Will you catch the bus?"
</item>

<item comprehensionN>
/ 1 = "Will you be good at your new job?"
/ 2 = "Are you running late for work?"
/ 3 = "Did you hit an animal?"
/ 4 = "Did your colleagues want you out with them?"
/ 5 = "Did they want to talk to you?"
/ 6 = "Are your friends saying bad things about you in the text messages?"
</item>

<item comprehensionC>
/ 1 = "Do you think you came across well?"
/ 2 = "Are you currently able to pay your council tax bill?"
/ 3 = "Was the assistant annoyed when you asked for a refund?"
/ 4 = "Did your friend cancel because she didn't want to see you?"
/ 5 = "Will the guests find you boring?"
/ 6 = "Are they understanding about you coming late?"
</item>

<item rawnote>
/ 1 = "NOTE.png"
</item>

<item instruction>
/ 1 = "Instructions go here. Press SPACEBAR to continue"
</item>

<text IBT1>
/ items = ("Instructions")
/ position = (50%, 5%)
/ fontstyle = ("Arial", 2.8%, true, false, true, false)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT2>
/ items = ("In this task, you will hear audio clips describing everyday situations. You must listen as closely and attentively as possible to these scenarios and imagine yourself in these situations as vividly as you can")
/ position = (50%, 10%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT3>
/ items = ("Even if you have not experienced a situation like this before, please imagine it is happening to you")
/ position = (50%, 20%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT4>
/ items = ("There will be a three second countdown presented on screen anticipating the arrival of a given scenario")
/ position = (50%, 27%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
</text>

<text IBT5>
/ items = ("Each scenario will be followed by a yes/no comprehension question. press either the key ‘Y’ for yes, or ‘N’ for no. Answer each question as ACCURATELY as you can. Providing an answer will move you on to the next scenario")
/ position = (50%, 40%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
</text>

<text IBT6>
/ items = ("Pressing SPACEBAR will start the main task immediately, so please ensure you have your headphones connected, and that you have understood the above instructions")
/ position = (50%, 58%)
/ fontstyle = ("Arial", 2.8%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, false, false, false, false)
</text>

<text IBT7>
/ items = ("Press SPACEBAR to start main task")
/ position = (50%, 90%)
/halign = center
/ valign = top
/size = (1500, 70)
/ fontstyle = ("Arial", 2.8%, true)
/ txcolor = red
</text>

<item break>
/ 1 = "You are doing well!

You are well over half-way through the experimental session. Please feel free to have a few minutes break. When you are ready to continue, ensure that your headphones are connected, and then press SPACEBAR"
</item>

<text break>
/ items = break
/ size = (900, 70)
/ position = (50, 40)
/ halign = center
/ fontstyle = ("Arial", 2.8%, true, false, false, false)
/ txcolor = black
</text>

<video scenarioP>
/ items = scenarioP
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioN>
/ items = scenarioN
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<video scenarioC>
/ items = scenarioC
/ select = noreplace
/ pan = 0
/ playthrough = true
</video>

<picture note>
/ items = rawnote
/size = (900, 70)
/position = (50, 48)
/halign = center
</picture>

<text comprehensionP>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionP
/ select = video.scenarioP.currentindex
</text>

<text comprehensionN>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionN
/ select = video.scenarioN.currentindex
</text>

<text comprehensionC>
/size = (900, 70)
/position = (50, 48)
/halign = center
/ items = comprehensionC
/ select = video.scenarioC.currentindex
</text>

<text correctfeed>
/ items = ("correct !")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =#00d900
</text>

<text incorrectfeed>
/ items = ("incorrect...")
/size = (900, 70)
/position = (50, 48)
/halign = center
/ color =red
</text>

<text three>
/ items = ("3")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text two>
/ items = ("2")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text one>
/ items = ("1")
/size = (900, 70)
/position = (50, 48)
/halign = center
</text>

<text instruction>
/ items = instruction
/ select = sequence
/size = (1500, 70)
/position = (50, 10)
/halign = center
/ valign = top
/ fontstyle = ("Arial", 3%)
</text>

*****************
LISTS
*****************
E = scancode 18 (yes)
I = scancode 23 (no)
*****************

<list correctkeys_comprehensionP>
/items = (21, 49, 21, 49, 21, 49, 49, 49, 49, 49, 21, 21, 49, 21, 49, 21, 21, 21, 21, 21, 49, 21, 21, 49, 21, 49, 49, 21, 21, 21, 49, 49, 49, 21, 49, 21, 49, 21)
/ selectionmode = video.scenarioP.currentindex
</list>

<list correctkeys_comprehensionN>
/items = (49, 21, 21, 49, 49, 21)
/ selectionmode = video.scenarioN.currentindex
</list>

<list correctkeys_comprehensionC>
/items = (21, 21, 49, 49, 49, 21)
/ selectionmode = video.scenarioC.currentindex
</list>

<list accuracyP>
</list>

<list accuracyN>
</list>

<list accuracyC>
</list>

<list overallaccuracy>
</list>

*****************
TRIALS
*****************
<values>
/ numberoftrialsrun = 0
</values>

<trial break>
/ stimulusframes = [1=break]
/ recorddata = false
/ showmousecursor = false
/ validresponse = (" ")
/ correctresponse = (" ")
</trial>

<trial countdownP>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownP.timeout == 3000) trial.scenarioP]
</trial>

<trial countdownN>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownN.timeout == 3000) trial.scenarioN]
</trial>

<trial countdownC>
/ontrialbegin = [values.numberoftrialsrun= values.numberoftrialsrun+ 1]
/branch = [if (values.numberoftrialsrun == 25) trial.break]
/ stimulustimes = [0=clearscreen, three; 1000=clearscreen, two; 2000=clearscreen, one;]
/ validresponse = (0)
/ timeout = 3000
/ recorddata = false
/ branch = [if(trial.countdownC.timeout == 3000) trial.scenarioC]
</trial>

<trial scenarioP>
/ stimulusframes = [2=scenarioP, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionP]
/ recorddata = false
</trial>

<trial scenarioN>
/ stimulusframes = [2=scenarioN, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionN]
/ recorddata = false
</trial>

<trial scenarioC>
/ stimulusframes = [2=scenarioC, note]
/ responseinterrupt = trial
/ validresponse = (0)
/ trialduration = 1000
/ branch = [trial.comprehensionC]
/ recorddata = false
</trial>

<trial comprehensionP>
/ stimulusframes = [1=text.comprehensionP]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionP.response == list.correctkeys_comprehensionP.nextvalue]
/ branch = [
    if(trial.comprehensionP.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyP.insertitem(trial.comprehensionP.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionP.correct, 1)]
</trial>

<trial comprehensionN>
/ stimulusframes = [1=text.comprehensionN]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionN.response == list.correctkeys_comprehensionN.nextvalue]
/ branch = [
    if(trial.comprehensionN.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyN.insertitem(trial.comprehensionN.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionN.correct, 1)]
</trial>

<trial comprehensionC>
/ stimulusframes = [1=text.comprehensionC]
/ validresponse = ("Y", "N")
/ iscorrectresponse = [trial.comprehensionC.response == list.correctkeys_comprehensionC.nextvalue]
/ branch = [
    if(trial.comprehensionC.correct){
        trial.correctfeed
    }else trial.incorrectfeed]
/ ontrialend = [
    list.accuracyC.insertitem(trial.comprehensionC.correct, 1);
    list.overallaccuracy.insertitem(trial.comprehensionC.correct, 1)]
</trial>

<trial correctfeed>
/ stimulusframes = [1=text.correctfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial incorrectfeed>
/ stimulusframes = [1=text.incorrectfeed]
/ trialduration = 950
/ showmousecursor = false
/ recorddata = false
</trial>

<trial instruction>
/ stimulustimes = [1000 = IBT1; 5000 = IBT2; 16000 = IBT3; 24000 = IBT4; 32000 = IBT5; 40000 = IBT5; 48000 = IBT6; 56000 = IBT7]
/ validresponse = (" ")
/ correctresponse = (" ")
/ recorddata = false
</trial>
*****************
BLOCKS
*****************

<block positive>
/ trials = [1=trial.instruction; 2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

*****************
EXPERIMENT
*****************

<expt>
/ blocks = [1=block.positive]
</expt>

*****************
EXPRESSIONS
*****************
<expressions>
/ PositiveEndorsement = list.accuracyP.mean
/ NegativeEndorsement = list.accuracyN.mean
/ CatchEndorsement = list.accuracyC.mean
/ OverallEndorsement = list.overallaccuracy.mean
</expressions>

*****************
VALUES
*****************
/completed:                0 = script was not completed; 1 = script was completed (all conditions run)
AUTOMATICALLY UPDATED
*****************
<values>
/completed = 0
</values>

*****************
SUMMARY DATA
*****************
<summarydata>
/columns = (script.startdate, script.starttime, script.subjectid, values.completed,
expressions.OverallEndorsement, expressions.PositiveEndorsement, expressions.NegativeEndorsement, expressions.CatchEndorsement)

/ separatefiles = true
</summarydata>

*****************
RAW DATA
*****************
<data>
/separatefiles = true
/ columns = (time, subject, group, blockcode, trialcode, response, correct, latency,
stimulusnumber, stimulusitem)
</data>

*****************
DEFAULTS
*****************

<defaults>
/ screencolor = white
/ txcolor = black
/ txbgcolor = white
/ fontstyle = ("Arial", 2.8%)
</defaults>








2-52=noreplace(trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

That's running 51 trials, not 50.

Doing so produced (counting the output) 36 positive trials instead of 38, but this time produced 6 catch trials and 6 negative trials, but this means it has sacrificed two positives?

produced 37 positive trials not 36, my bad, but this is still one short no?

I don't know what you're doing.

<block positive>
/ trials = [1=trial.instruction; 2-51=noreplace(
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP, trial.countdownP,trial.countdownP,
trial.countdownP, trial.countdownP, trial.countdownP,
trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN, trial.countdownN,
trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC, trial.countdownC)]
</block>

<trial instruction>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownP>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownN>
/ validresponse = (0)
/ trialduration = 0
</trial>

<trial countdownC>
/ validresponse = (0)
/ trialduration = 0
</trial>

produces 38 countdownP trials, 6 countdownN trials and 6 countdownC trials exactly as it should.

> am I right in thinking it is because of the trial break/pause. I implement this when it reaches halfway, to branch into a break trial. Thus, I can simply add an extra positive item/trial to make up the number. This is the only thing I can think of, yet when I applied code to create a break, from the forum, it was said that it would leave the rest of the trials alone/unaffected, but in this case it has taken one away

It's not taking anything away. You /branch to the break trial from one of the countdown trials. All the countdown trials are run, you can easily verify this for yourself.

The respective countdown trial obviously cannot and will not then go on to the respective scenario trial. The countdown trial is over and things have moved on to the break trial.
Okay then I'm honestly not sure why it cuts one short, I mean, I attach the recent output file based on the above. I guess I can add one extra, I have kept going over the numbers carefully, making sure I have not miscounted, and I haven't so is very difficult to know why this happens!

But thank you though anyway as always I much appreciate all this help

The output file is useless without the exact code that produced it.

Ah, I attached the exact script here that was used to generate the output,

This is your mistake and this is what you need to rethink and fix:

https://www.millisecond.com/forums/FindPost31308.aspx

You need to think about when you are doing stuff (such as branching to the break trial) and what the consequences are.

The branch to the break trial does not belong in the countdown trials. It belongs in the comprehension feedback trials.

And this is why it is almost substituting for what could be a scenario (the one missing). Whilst I took for granted that using a break in this way would leave the trials unscathed, I can see that my method of application is producing this undesired outcome, and its essentially replacing a scenario (based on the contingency). I can see why/how this is doing this, and I'm just sorry it has taken me this to identify what is going..

Thank you, I will be somewhat more careful in future and ensure I make a bit more extensive mental planning about what the code it doing

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

Just to elaborate, the flow you had implemented is this:

countdown trial 1-24:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

countdown trial 25:
countdown --branch-to--> break //Consequence: No corresponding scenario, comprehension and feedback trial

countdown trial 26-50:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

A flow that avoids the problem would be:

countdown trial 1-24:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

countdown trial 25:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback --branch-to--> break

countdown trial 26-50:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

Edited 3 Years Ago by Dave
AnthonyFCollinsSussex
AnthonyFCollinsSussex
Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)Partner Member (665 reputation)
Group: Forum Members
Posts: 52, Visits: 249
Dave - 4/12/2021

Just to elaborate, the flow you had implemented is this:

countdown trial 1-24:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

countdown trial 25:
countdown --branch-to--> break //Consequence: No corresponding scenario, comprehension and feedback trial

countdown trial 26-50:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

A flow that avoids the problem would be:

countdown trial 1-24:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

countdown trial 25:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback --branch-to--> break

countdown trial 26-50:
countdown --branch-to--> scenario --branch-to--> comprehension --branch-to--> feedback

After having applied the code for the break into the feedback trials as you instructed, (and seeing this elaboration here), it has done the trick, I can see that elusive 50th trial!, but also, it intuitively makes much more sense, given also now the fact that there is not a countdown to a break, which was bugging me too and seemed silly, a case of two birds with one stone. Thank you for this extra illustration, the relief that this has brought I can't thank enough. There are the correct proportions of trials for each type, nothing missing. It was important given we want to release the experiment very soon

Thank you once again, I said it many times before but I genuinely think this is the last query! XD

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search