#1: You'll want to get rid of
<survey surveypart1>
/ pages = [1=consent; 2=seriousness; 3=demographics; 4=health1; 5=health2; 6=health3; 7=CIPD1; 8=CIPD2]
/ responsefontstyle = ("Arial", 14pt, false, false, false, false, 5, 0)
/ itemfontstyle = ("Arial", 14pt, false, false, false, false, 5, 0)
/ itemspacing = 1%
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextlabel = "Next"
/ backlabel = "Previous"
</survey>
<survey surveypart2>
/ pages = [1=environment; 2=debrief; 3=code]
/ responsefontstyle = ("Arial", 14pt, false, false, false, false, 5, 0)
/ itemfontstyle = ("Arial", 14pt, false, false, false, false, 5, 0)
/ itemspacing = 1%
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextlabel = "Next"
/ backlabel = "Previous"
</survey>
These <survey> elements serve no purpose and will in fact mess things up. A <survey> is a type of <block>, yet you never explicitly run the above <survey> elements at the appropriate via your script's <expt> element.
Instead, you run all your various <surveypage>s via standard <block> elements (as you probably should if you want everything captured in a single data file). The /nextlabel etc. settings in the unused / redundant <survey> elements *do not* affect the <surveypage>s run via <block> elements.
You need to specify /nextlabel and /finishlabel at the *page-level* as in
<surveypage consent>
/ caption = "Please read the following information, and if you consent to take part, tick the box at the bottom."
/ fontstyle = ("Arial", 2%, false, false, false, false, 5, 0)
/ questions = [1=consent]
/ showquestionnumbers = false
/ showpagenumbers = false
/ nextlabel = "Next"
/ finishlabel = "Next"</surveypage>
#2: Your instruction "slide"-<trial>s repeat because you are effectively running the respective <block>s *twice*.
(1) Scheduled via the <expt>'s /blocks attribute:
<expt>
/onexptbegin = [if (values.debugmode == 1) text.targetalert.textcolor = (red)]
/ blocks = [ 1 = consent;
2 = demogs;
3 = Nbackinstruct_start;
4 = practice_s_ntask;
5 = StartExp; 6 = s_ntask;
7 = EndExp; 8 = enviro;
]
</expt>
(2) Via conditional /branches:
<block RepeatPractice>
/trials = [1 = repeatpractice]
/ recorddata = true
/ branch = [
if (trial.repeatpractice.response == 21) {values.N = values.lowestN; block.practice_s_ntask}
else
block.StartExp;
]
/ screencolor = (255,255,255)
</block>
<block s_ntask>
/ onblockbegin = [values.N = list.Nlevel.nextvalue]
/ onblockbegin = [
values.currenttarget = 0; values.minus1 = 0; values.minus2 = 0; values.minus3 = 0; values.minus4 = 0;
values.Hits = 0; values.FalseA = 0; values.Misses = 0; values.CorrReject = 0;
values.TotalBlocks += 1;
values.starttrialcounter = 0;
]
/ trials = [1 = start; 2 - 31 = noreplace(nontarget, nontarget, target)]
/ screencolor = (0, 0, 0)
/ branch = [if (values.TotalBlocks < list.Nlevel.itemcount) block.s_ntask
else
block.EndExp]</block>
You'll want to remove them from the <expt>'s /blocks attribute.