﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 5  » N-back: Modifying our 2-back to a 3-back or 4-back</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Mon, 04 May 2026 11:28:24 GMT</lastBuildDate><ttl>20</ttl><item><title>N-back: Modifying our 2-back to a 3-back or 4-back</title><link>https://forums.millisecond.com/Topic37738.aspx</link><description>Hello,&lt;br/&gt;&lt;br/&gt;Just seeking some confirmation on a quick question: we're trying to modify the code for our current 2-back script to create two new versions: a 3-back version and a 4-back version. Currently our &amp;lt;list Nlevel&amp;gt; looks like this:&lt;br/&gt;&lt;br/&gt;&amp;lt;list Nlevel&amp;gt;&lt;br/&gt;/ items = (2)&lt;br/&gt;/ replace = false&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;Would we simply replace the (2) to either a (3) or a (4) to change it from a 2-back to either a 3-back or 4-back (respectively)? Anything else in the code we would need to change (i.e., besides the instructions text)? Our current full script for the 2-back is pasted below. Thanks!&lt;br/&gt;&lt;br/&gt;[code]---------------------------------------------------&lt;br/&gt;&lt;br/&gt;&amp;lt;usermanual&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  SINGLE N-BACK TASK NON-ADAPTIVE (1-KEY VERSION)- LETTERS&lt;br/&gt;SCRIPT INFO&lt;br/&gt;&lt;br/&gt;Script Author: Katja Borchert, Ph.D. () for Millisecond Software LLC&lt;br/&gt;Date: March, 2012&lt;br/&gt;last updated: 01-20-2016 by K.Borchert () for Millisecond Software LLC&lt;br/&gt;&lt;br/&gt;Copyright © 01-20-2016 Millisecond Software&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;BACKGROUND INFO&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  *Purpose*&lt;br/&gt;The current script is based on the SingleTaskNBack.exp script which implements the single-task version of the N-Back procedure as&lt;br/&gt;described in the following publication:&lt;br/&gt;&lt;br/&gt;Jaeggi, Susanne M.; Studer-Luethi, Barbara; Buschkuehl, Martin; Su, Yi-Fen; Jonides, John; Perrig, Walter J. (2010). The&lt;br/&gt;relationship between n-back performance and matrix reasoning - implications for training and transfer. Intelligence, 38, 625-635.&lt;br/&gt;&lt;br/&gt;The current script is adapted to implement the procedure of the Single N-back task using letters as described in:&lt;br/&gt;Ragland, J.D., Turetsky, B.I., Gur, R.C, Gunning-Dixon, F., Turner, T, Schroeder, L., Chan, R., &amp;amp; Gur, R.E. (2002).Working Memory&lt;br/&gt;for Complex Figures: An fMRI Comparison of Letter and Fractal n-Back Tasks. Neuropsychology, 16, 370-379.&lt;br/&gt;&lt;br/&gt;This Inquisit script provides trials and instructions for single n-back tasks with 20 upper case consonants for 4 levels of N&lt;br/&gt;(N = 0, N = 1, N = 2, N = 3). Other levels of N can be implemented with minimal change.&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*Task*&lt;br/&gt;In the 1-key single n-back task, participants are shown a sequence of stimuli (here: a sequence of white letters&lt;br/&gt;on a black background) and are asked to indicate whether the currently presented stimulus fulfills the following criteria:&lt;br/&gt;&lt;br/&gt;for N=0 trials*:&lt;br/&gt;- is the letter the same as the first letter presented in the sequence? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=1 trials:&lt;br/&gt;- is the letter the same as the one that preceded it? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=2 trials:&lt;br/&gt;- is the letter the same as the one presented two trials before? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=3 trials:&lt;br/&gt;- is the letter the same as the one presented three trials before? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;*Note: The implementation for 0-nback tasks in this script differs from the procedure used by Jaeggi and collegues in her research.&lt;br/&gt;Jaeggi and collegues used a pre-defined shape. In this script, the target shape is defined at runtime for each participant during the first trial.&lt;br/&gt;Participants are instructed to pay close attention to this first presentation and are warned that presentation time is short.&lt;br/&gt;Furthermore in this script, the experimenter can set how long the target letter should be presented to participants in 0 nback trials, as well&lt;br/&gt;as how much time before starting the actual task (after the target has disappeared)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;DATA FILE INFORMATION:&lt;br/&gt;The default data stored in the data files are:&lt;br/&gt;&lt;br/&gt;(1) Raw data file: 'SingleTaskNBack_letters_raw.iqdat' (a separate file for each participant)&lt;br/&gt;&lt;br/&gt;build:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inquisit build&lt;br/&gt;computer.platform:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the platform the script was run on&lt;br/&gt;date, time, subject, group:&amp;nbsp;&amp;nbsp;&amp;nbsp;date and time script was run with the current subject/groupnumber&lt;br/&gt;blockcode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the name of the current block&lt;br/&gt;values.TotalBlocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the total number of experimental blocks run&lt;br/&gt;trialcode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the name of the current trial&lt;br/&gt;starttrialcounter:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keeps track of how many start trials have been run&lt;br/&gt;stimulusitem:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the letter presented&lt;br/&gt;stimulusnumber:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the item number of the presented letter&lt;br/&gt;values.currenttarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the item number of the current target&lt;br/&gt;response:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the response of the participant&lt;br/&gt;correct:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the correctness of the response&lt;br/&gt;latency:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;how fast a participant responded within the given timeframe, if at all (in ms)&lt;br/&gt;values.trial_Hit:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a Hit (=1)&lt;br/&gt;values.trial_FA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a False Alarm (=1)&lt;br/&gt;values.trial_Miss:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;whether the response was Miss (=1)&lt;br/&gt;values.trial_CR:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a Correct Rejection ( = 1)&lt;br/&gt;values.Hits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of Hits in a block&lt;br/&gt;values.FalseA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the sum of False Alarms in a block&lt;br/&gt;values. Misses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of Misses in a block&lt;br/&gt;values.CorrReject:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the sum of Correct Rejections in a block&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the proportion of (TotalHits - TotalFA)/number of experimental blocks&lt;br/&gt;&lt;br/&gt;(2) Summary data file: 'SingleTaskNBack_letters_summary*.iqdat' (a separate file for each participant)&lt;br/&gt;&lt;br/&gt;script.startdate:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date script was run&lt;br/&gt;script.starttime:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time script was started&lt;br/&gt;script.subjectid:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subject id number&lt;br/&gt;script.groupid:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  group id number&lt;br/&gt;script.elapsedtime:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  time it took to run script (in ms)&lt;br/&gt;computer.platform:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the platform the script was run on&lt;br/&gt;/completed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the proportion of (TotalHits - TotalFA)/number of experimental blocks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;EXPERIMENTAL SET-UP:&lt;br/&gt;- After instructions, participants receive 9 trials of practice per level N tested (here: N = 0 to N = 3) ,&lt;br/&gt;(-&amp;gt; can be changed to eliminate N = 3 as was done by Ragland et al (2002))&lt;br/&gt;- once practice is done, participants get the option to repeat practice&lt;br/&gt;- After practice, participants receive 3 blocks per level of N tested. Which particular level a participant works on is&lt;br/&gt;pseudo-randomly determined (see Ragland et al, 2002).&lt;br/&gt;- the instructions are self-paced as a default, to change them to a timed format (default = 9s, see Ragland et al, 2002),&lt;br/&gt;&amp;nbsp;&amp;nbsp;follow instructions under parameters.instruction_duration&lt;br/&gt;&lt;br/&gt;Block Information:&lt;br/&gt;- Each single n-task block consists of 15+ trials (Ragland et al, 2002) using 20 different consonants.&lt;br/&gt;=&amp;gt; + trials are the N trials that cannot display target shapes yet (=start trials). Their numbers vary depending on N.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  The data collected during these start trials are NOT included in performance counts for Correct Rejections/False Alarms.&lt;br/&gt;=&amp;gt; Of the actual 15 experimental trials, 5 present a target and 10 do not (1:2 ratio as in Ragland et al, 2002).&lt;br/&gt;- The computer selects randomly&lt;br/&gt;a) whether it is a target trial or not and&lt;br/&gt;b) what letter to show if it is not a target trial&lt;br/&gt;&lt;br/&gt;Trial Information:&lt;br/&gt;- Each trial presents the letter for 500ms and waits another 2000ms before presenting the next letter in the sequence&lt;br/&gt;(see Ragland et al. for InterstimulusInterval = 2500ms). The trialduration can be edited by experimenter.&lt;br/&gt;- Participants have the entire 2500ms to respond by pressing "A" if they detect a target.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;INFORMATION FOR CODE-CHANGES (e.g. ADDITIONAL/DIFFERENT LEVELS OF N)&lt;br/&gt;&lt;br/&gt;Instructions for changing code for additional Ns are provided with this script. Please check the following sections for the relevant info:&lt;br/&gt;1. Custom Values&lt;br/&gt;2. Instructions: (a) Instruction Slides -&amp;gt; Editable Instructions (b) Instruction Blocks -&amp;gt; section Instructions (block.Nbackinstruct_start)&lt;br/&gt;3. Trials&lt;br/&gt;4. Blocks: (a) Practice (b) Experimental&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;EDITABLE CODE:&lt;br/&gt;check below for (relatively) easily editable parameters, stimuli, instructions etc.&lt;br/&gt;Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.&lt;br/&gt;&lt;br/&gt;The parameters you can change are:&lt;br/&gt;&lt;br/&gt;trialduration:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interstimulusinterval (in ms) for regular n-back trials, default = 2500ms,&lt;br/&gt;posttrialpause_aftertarget0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the posttrialpause (in ms) after the target in 0nback tasks disappears from sight and the actual 0 nback testing starts&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (default = 2000ms, to make it comparable to the remaining trials)&lt;br/&gt;showtarget0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the amount of time the target for N = 0 trials should be presented; default = 3000&lt;br/&gt;instruction_duration:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the time the instructions for each experimental block are shown (in ms), default = 9000ms&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;only applies if instructions for experimental blocks are NOT self-paced&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (see INSTRUCTIONS -&amp;gt; INSTRUCTION TRIALS -&amp;gt; trial.expinstructiontrial for further info)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTE: the default for this script are self-paced instructions&lt;br/&gt;debugmode = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugmode = 1: targetalerts are shown on screen,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugmode = 0, no targetalerts are shown (default)&lt;br/&gt;/stimulusPresentationtime:&amp;nbsp;&amp;nbsp;&amp;nbsp;the presentation time (in ms) of the stimuli (default: 500ms)&lt;br/&gt;&lt;br/&gt;(in general: if levels of N are changed, adjustments need to be made to instructions and list.Nlevel)&lt;br/&gt;&lt;br/&gt;&amp;lt;/usermanual&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE PARAMETERS: change editable parameters here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;parameters&amp;gt;&lt;br/&gt;/ trialduration = 2500&lt;br/&gt;/ posttrialpause_aftertarget0 = 2000&lt;br/&gt;/ instruction_duration = 9000&lt;br/&gt;/ showtarget0 = 3000&lt;br/&gt;/ debugmode = 0&lt;br/&gt;/ stimulusPresentationtime = 500&lt;br/&gt;&amp;lt;/parameters&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE STIMULI: change editable stimuli here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;* 20 consonants&lt;br/&gt;&amp;lt;item letters&amp;gt;&lt;br/&gt;/ 1 = "B"&lt;br/&gt;/ 2 = "C"&lt;br/&gt;/ 3 = "D"&lt;br/&gt;/ 4 = "F"&lt;br/&gt;/ 5 = "G"&lt;br/&gt;/ 6 = "H"&lt;br/&gt;/ 7 = "J"&lt;br/&gt;/ 8 = "K"&lt;br/&gt;/ 9 = "L"&lt;br/&gt;/ 10 = "M"&lt;br/&gt;/ 11 = "N"&lt;br/&gt;/ 12 = "P"&lt;br/&gt;/ 13 = "Q"&lt;br/&gt;/ 14 = "R"&lt;br/&gt;/ 15 = "S"&lt;br/&gt;/ 16 = "T"&lt;br/&gt;/ 17 = "V"&lt;br/&gt;/ 18 = "W"&lt;br/&gt;/ 19 = "X"&lt;br/&gt;/ 20 = "Z"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE INSTRUCTIONS: change instructions here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION SLIDES*****************************&lt;br/&gt;Note: these instruction slides are adapted from the original instructions kindly provided to Millisecond Software by Jaeggi et al .&lt;br/&gt;Thank you!&lt;br/&gt;&lt;br/&gt;*********************************************************&lt;br/&gt;NOTE:&lt;br/&gt;If you only run N = 0 to N = 2, remove/exchange the instructionslides that reference N = 3&lt;br/&gt;**********************************************************&lt;br/&gt;&amp;lt;item Nback_startinstructions&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructions_letters_start.gif"&lt;br/&gt;/ 2 = "SingleNbackInstructions_letters_N2.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;*********************************************************&lt;br/&gt;Alternative if only N=0 - N=2 is run&lt;br/&gt;-&amp;gt; "SingleNbackInstructions_letters_practice012.gif"&lt;br/&gt;*********************************************************&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item practiceend&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructions_letters_practiceend0123.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;*********************************************************&lt;br/&gt;Alternative if only N=0 - N=2 is run&lt;br/&gt;-&amp;gt; "SingleNbackInstructions_letters_practiceend012.gif"&lt;br/&gt;*********************************************************&lt;br/&gt;&lt;br/&gt;*slides to start experimental trials/end experiment&lt;br/&gt;&amp;lt;item startendslides&amp;gt;&lt;br/&gt;/ 1 = "StartExpt.gif"&lt;br/&gt;/ 2 = "ThankYouSlide.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;*Instructions for individual practice N-levels (not original)&lt;br/&gt;&amp;lt;item expinstructions&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructionsN0_letters_exp.gif"&lt;br/&gt;/ 2 = "SingleNbackInstructionsN1_letters_exp.gif"&lt;br/&gt;/ 3 = "SingleNbackInstructionsN2_letters_exp.gif"&lt;br/&gt;/ 4 = "SingleNbackInstructionsN3_letters_exp.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: presents the instructions for the test blocks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Used in htmlpage 'ExpInstructions'&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ expInstructions = if (values.N &amp;gt; 0){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  "&amp;lt;p&amp;gt;Press 'A' if the current letter is the same as the letter &amp;lt;span class='red'&amp;gt;&amp;lt;b&amp;gt;&amp;lt;%values.N%&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; trial(s) before.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Otherwise don't do anything.&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;";&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  "&amp;lt;p&amp;gt;Once you start the test, pay &amp;lt;span class='red'&amp;gt;close attention&amp;lt;/span&amp;gt; to the first letter. This shape will be your target&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  for the remaining trials.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;p&amp;gt;Press 'A' if the current letter is the same one as the one in the very first trial otherwise don't do anything.&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;*******CODE CHANGES:&lt;br/&gt;If you would like to run different levels of N in practice/experimental trials, change/add the necessary instruction slides&lt;br/&gt;under the appropriate item categories above, as well as pay attention to the changes necessary under "Instruction Blocks"&lt;br/&gt;block.Nbackinstruct_start&lt;br/&gt;&lt;br/&gt;***********************************************************&lt;br/&gt;these instructions will be run if the script is&lt;br/&gt;run on a touchscreen&lt;br/&gt;***********************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;text touchscreenInstruct1&amp;gt;&lt;br/&gt;/ items = ("This is a touchscreen device. Tapping anywhere on the screen to respond during the exercise.")&lt;br/&gt;/ fontstyle = ("Arial", 5%, true, false, false, false, 5, 1)&lt;br/&gt;/ position = (50%, 20%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ size = (80%, 20%)&lt;br/&gt;/ vjustify = center&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text touchscreenInstruct2&amp;gt;&lt;br/&gt;/ items = ("Tap anywhere on the screen to continue.")&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ size = (70%, 30%)&lt;br/&gt;/ vjustify = center&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*********************************&lt;br/&gt;Summary&lt;br/&gt;*********************************&lt;br/&gt;*A feedback page that is presented at the end of each practice block&lt;br/&gt;&lt;br/&gt;&amp;lt;instruct&amp;gt;&lt;br/&gt;/ fontstyle = ("Arial", 2.67%, false, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/instruct&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page BlockSummary&amp;gt;&lt;br/&gt;^^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEEDBACK&lt;br/&gt;^^&lt;br/&gt;^^CORRECT: &amp;lt;% ((values.Hits + values.CorrReject) /20) * 100 %&amp;gt;% of the times&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page BlockSummary_practice&amp;gt;&lt;br/&gt;^^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEEDBACK&lt;br/&gt;^^&lt;br/&gt;^^CORRECT: &amp;lt;% ((values.Hits + values.CorrReject) /10) * 100 %&amp;gt;% of the times&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE LISTS: change editable lists here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: list controls the level of N run during practice. By default, practice runs level 2, 3, 4 once and&lt;br/&gt;in sequence&lt;br/&gt;&amp;lt;list nextN_practice&amp;gt;&lt;br/&gt;/ items = (0, 1, 2, 3)&lt;br/&gt;/ selectionmode = sequence&lt;br/&gt;/ selectionrate = block&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;*list.Nlevel pseudorandomly selects the next N level (the experiment runs as many blocks as there are&lt;br/&gt;items in this list)&lt;br/&gt;! if you do NOT run level N = 3, remove all 3s from the item list of this list&lt;br/&gt;! if you want to run a level more or fewer times adjust the number of the digits in the item list accordingly&lt;br/&gt;! if you want to run the levels in sequence, replace /replace=false with /selectionmode = sequence&lt;br/&gt;&lt;br/&gt;IN GENERAL: if you run different levels of N or change the number of repetitions, you need to adjust the item list of&lt;br/&gt;list.nlevel&lt;br/&gt;&amp;lt;list Nlevel&amp;gt;&lt;br/&gt;/ items = (2)&lt;br/&gt;/ replace = false&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !!!REMAINING CODE: Customize after careful consideration only!!!&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;DEFAULTS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;script requires Inquisit 5.0.5.0 or higher&lt;br/&gt;&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ canvasaspectratio = (4,3)&lt;br/&gt;/ minimumversion = "5.0.5.0"&lt;br/&gt;/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)&lt;br/&gt;/ txbgcolor = white&lt;br/&gt;/ txcolor = (0, 0, 0)&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;DATA&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: data file explanations under User Manual Information at the top&lt;br/&gt;&lt;br/&gt;*********************&lt;br/&gt;raw data&lt;br/&gt;*********************&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (build, computer.platform, date, time, subject, group, values.N, blockcode, values.TotalBlocks, trialcode, trialnum,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.starttrialcounter, stimulusitem, stimulusnumber,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.currenttarget, response, correct, latency,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.trial_Hit, values.trial_FA, values.trial_Miss, values.trial_CR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.Hits, values.FalseA, values.Misses, values.CorrReject,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.TotalHits, values.TotalFA, values.DV)&lt;br/&gt;/ separatefiles = true&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;&lt;br/&gt;*********************&lt;br/&gt;summary data&lt;br/&gt;*********************&lt;br/&gt;&lt;br/&gt;&amp;lt;summarydata&amp;gt;&lt;br/&gt;/ columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed,&lt;br/&gt;values.TotalHits, values.TotalFA, values.DV)&lt;br/&gt;/ separatefiles = true&lt;br/&gt;&amp;lt;/summarydata&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;VALUES: automatically updated&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/completed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0 = script was not completed (script was prematurely aborted); 1 = script was completed (all conditions run)&lt;br/&gt;&lt;br/&gt;minus1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus in the trial preceding the current one&lt;br/&gt;minus2:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 2 trials before the current one&lt;br/&gt;minus3:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 3 trials before the current one&lt;br/&gt;minus4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 4 trials before the current one&lt;br/&gt;stim:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contains the current stimulusitem&lt;br/&gt;stimnumber:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the current stimulusitemnumber&lt;br/&gt;N:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the lag between a target and the stimulus it repeats&lt;br/&gt;currenttarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusnumber of the current target&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a target in N = 0 trials is a stimulus with the same stimulus number as stored in target0)&lt;br/&gt;Hits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; codes the number of correctly identifiying a target&lt;br/&gt;FalseA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant identifies a non-target as a target&lt;br/&gt;Misses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant misses to identify a target&lt;br/&gt;CorrReject:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant correctly identifies a non-target (and does nothing)&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.TotalBlocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the total number of experimental blocks run&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dependent variable (DV) in Jaeggi et al (2010): the proportion of (TotalHits - TotalFA)/number of total blocks&lt;br/&gt;starttrialcounter:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keeps track of how many start trials have been run&lt;br/&gt;trialduration_starttrial:&amp;nbsp;&amp;nbsp;the trialduration time for the starttrials, depends on level of N (starttrial for N = 0 trials differs)&lt;br/&gt;starttrialposttrialpause:&amp;nbsp;&amp;nbsp;the posttrialpause of starttrials (can be set for N = 0 trials, for all others it's 0)&lt;br/&gt;/lastIndex:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; helper variable to manage the last N presented shape list&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ completed = 0&lt;br/&gt;/ minus1 = 0&lt;br/&gt;/ minus2 = 0&lt;br/&gt;/ minus3 = 0&lt;br/&gt;/ minus4 = 0&lt;br/&gt;/ N = 0&lt;br/&gt;/ currenttarget = 0&lt;br/&gt;/ Hits = 0&lt;br/&gt;/ FalseA = 0&lt;br/&gt;/ Misses = 0&lt;br/&gt;/ CorrReject = 0&lt;br/&gt;/ TotalHits = 0&lt;br/&gt;/ TotalFA = 0&lt;br/&gt;/ DV = 0&lt;br/&gt;/ TotalBlocks = 0&lt;br/&gt;/ starttrialcounter = 0&lt;br/&gt;/ trialduration_starttrial = 0&lt;br/&gt;/ starttrialposttrialpause = 0&lt;br/&gt;/ trial_Hit = 0&lt;br/&gt;/ trial_Miss = 0&lt;br/&gt;/ trial_CR = 0&lt;br/&gt;/ trial_FA = 0&lt;br/&gt;/ lastIndex = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************ADDITIONAL N-LEVELS*************************************&lt;br/&gt;* if additional N-levels are needed, create and add further "minusN" values and set them to 0,&lt;br/&gt;Example: N = 5&lt;br/&gt;/minus5 = 0&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EXPRESSIONS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;expressions.selectinstruct helps to select the adequate instructions for adaptive n-back testing&lt;br/&gt;&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ selectinstruct = values.N + 1&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;/fillitemlist:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  recursive function that fills list.items with N items at the beginning of each new block&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ fillitemlist = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.lastIndex &amp;lt; values.N){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  list.items.insertitem(0, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.lastIndex += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  expressions.fillitemlist;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  list.items.insertitem(0, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;}&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;INSTRUCTIONS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION IMAGE SELECTION******************************************&lt;br/&gt;&amp;lt;picture SingleNbackinstructions_start&amp;gt;&lt;br/&gt;/ items = Nback_startinstructions&lt;br/&gt;/ select = sequence&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture Practice_end&amp;gt;&lt;br/&gt;/ items = practiceend&lt;br/&gt;/ select = 1&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture StartExp_slide&amp;gt;&lt;br/&gt;/ items = startendslides&lt;br/&gt;/ select = 1&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture EndExp_slide&amp;gt;&lt;br/&gt;/ items = startendslides&lt;br/&gt;/ select = 2&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;*instructions for individual experimental trials are selected depending on level of N&lt;br/&gt;&amp;lt;picture expinstructionslide&amp;gt;&lt;br/&gt;/ items = expinstructions&lt;br/&gt;/ select = expressions.selectinstruct&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture repeatpractice_page&amp;gt;&lt;br/&gt;/ items = ("SingleNbackInstructions_practicerepeat.gif")&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION TRIALS*******************************************&lt;br/&gt;&lt;br/&gt;****************************************************************************************&lt;br/&gt;Note:&lt;br/&gt;* instructions for each level of N are self-paced.&lt;br/&gt;* If they should be shown for a predetermined time (e.g. 9s, see Ragland et al, 2002)&lt;br/&gt;use the following code instead in trial.expinstructiontrial:&lt;br/&gt;/ stimulusframes = [1 = expinstructionslide, eraserrec, wait]&lt;br/&gt;/ validresponse = (noresponse)&lt;br/&gt;/ timeout = (parameters.instruction_duration)&lt;br/&gt;****************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;trial touchscreenInstruct&amp;gt;&lt;br/&gt;/ skip = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;!computer.touch || computer.haskeyboard;&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1 = touchscreenInstruct1, touchscreenInstruct2]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial expinstructiontrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = expinstructionslide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial Nbackinstruct_starttrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = SingleNbackinstructions_start]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial Practice_endtrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = Practice_end]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial StartExp_trial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = StartExp_slide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial repeatpractice&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = repeatpractice_page]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial EndExp_trial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = EndExp_slide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;STIMULI&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***randomly selects one of the letters&lt;br/&gt;&amp;lt;text startletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = replace&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;***selects any letter that cannot be a target&lt;br/&gt;&amp;lt;text nontargetletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = list.notargetvalue.nextvalue&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;***selects the item with the same item number as the established target&lt;br/&gt;&amp;lt;text targetletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = values.currenttarget&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;FEEDBACK MESSAGES FOR PRACTICE TRIALS ONLY (default: they are NOT used)&lt;br/&gt;&amp;lt;text ErrorFeedback&amp;gt;&lt;br/&gt;/ items = ("ERROR")&lt;br/&gt;/ fontstyle = ("Arial", 5.00%, true, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = red&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ position = (50%, 70%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text CorrectFeedback&amp;gt;&lt;br/&gt;/ items = ("CORRECT")&lt;br/&gt;/ fontstyle = ("Arial", 5.00%, true, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = green&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ position = (50%, 70%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;ASSISTANT STIMULI:&lt;br/&gt;&lt;br/&gt;*****reminder that the letter participants see during the first trial in N = 0 nback trials is the target&lt;br/&gt;&amp;lt;text targetreminder&amp;gt;&lt;br/&gt;/ items = ("this is the target")&lt;br/&gt;/ position = (50%, 25%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*****For timed instructions, this shape covers up the original instructions (on slides)&lt;br/&gt;that instruct participants to use the Spacebar to continue&lt;br/&gt;&amp;lt;shape eraserrec&amp;gt;&lt;br/&gt;/ shape = rectangle&lt;br/&gt;/ color = black&lt;br/&gt;/ position = (50%, 95%)&lt;br/&gt;/ size = (100%, 8%)&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;*****For timed instructions this text alerts participants that the task starts in the&lt;br/&gt;predetermined amount of time (default: 9s)&lt;br/&gt;&amp;lt;text wait&amp;gt;&lt;br/&gt;/ items = ("the task will start automatically in &amp;lt;%parameters.instruction_duration/1000%&amp;gt; s")&lt;br/&gt;/ position = (50%, 95%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ fontstyle = ("Arial", 2.08%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*****Debug Code:&lt;br/&gt;&amp;lt;text targetalert&amp;gt;&lt;br/&gt;/ items = ("target")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;LISTS  &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;****list Variables to select notargetvalue&lt;br/&gt;&lt;br/&gt;*list.notargetvalue selects any of the 8 numbers but the one selected for targetvalue&lt;br/&gt;&amp;lt;list notargetvalue&amp;gt;&lt;br/&gt;/ items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)&lt;br/&gt;/ not = (values.currenttarget)&lt;br/&gt;/ replace = true&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: list contains the itemnumbers of the presented shapes in reversed order (dynamic list)&lt;br/&gt;(item 1 is always the last one presented)&lt;br/&gt;&amp;lt;list items&amp;gt;&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;TRIALS &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;*there are 3 types of trials&lt;br/&gt;&amp;nbsp;&amp;nbsp;1. start:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; presented at beginning of block when number of trials too small for Target trials; they can present&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; any of the stimuli (N = 0, start trial presents the target shape)&lt;br/&gt;&amp;nbsp;&amp;nbsp;2. nontarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trials that present stimuli that do not repeat the stimulus of n-trials before&lt;br/&gt;&amp;nbsp;&amp;nbsp;3. target:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trials that present Target stimuli&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Starttrial&lt;br/&gt;**********************************&lt;br/&gt;NOTE:&lt;br/&gt;for N = 0 trials:&lt;br/&gt;- the first trial shows the target for a set amount of time (editable), together with a text stimulus that&lt;br/&gt;reminds participants that this letter is the target.&lt;br/&gt;- There is a pause (length is editable) before the next trial starts&lt;br/&gt;&lt;br/&gt;*start trial runs N-times (unless N = 0, then it runs N = 1 time)&lt;br/&gt;&amp;lt;trial start&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N == 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  text.targetreminder.textcolor = red;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.trialduration_starttrial = parameters.showtarget0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.starttrialposttrialpause = parameters.posttrialpause_aftertarget0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  trial.start.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.trialduration_starttrial = parameters.trialduration;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.starttrialposttrialpause = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;/ stimulustimes = [0 = startletter, targetreminder]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.response == 0&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.start.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N == 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = text.startletter.currentitemnumber;&lt;br/&gt;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.startletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;text.targetreminder.textcolor = black;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = values.trialduration_starttrial&lt;br/&gt;/ posttrialpause = (values.starttrialposttrialpause)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.starttrialcounter &amp;lt; values.N)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  trial.start&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Nontarget Trials&lt;br/&gt;**********************************&lt;br/&gt;&amp;lt;trial nontarget&amp;gt;&lt;br/&gt;/ stimulustimes = [0 = nontargetletter]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.response == 0&lt;br/&gt;]&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = list.items.item(values.N);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.nontargetletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = values.CorrReject + trial.nontarget.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = trial.nontarget.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = values.FalseA + trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = values.TotalFA + trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = (values.TotalHits - values.TotalFA)/values.TotalBlocks;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = parameters.trialduration&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Target Trials&lt;br/&gt;**********************************&lt;br/&gt;**if target, press the letter "A" (code: 30)&lt;br/&gt;&amp;lt;trial target&amp;gt;&lt;br/&gt;/ stimulustimes = [0 = targetletter, targetalert]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.response &amp;gt; 0&lt;br/&gt;]&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = list.items.item(values.N);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.targetletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = values.Hits+ trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = values.Misses + trial.target.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = trial.target.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = values.TotalHits + trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = (values.TotalHits - values.TotalFA)/values.TotalBlocks;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = parameters.trialduration&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;BLOCKS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;ATTENTION: PRACTICE BLOCKS&lt;br/&gt;(1) This block sets the beginning N value for practice trials to the lowest level of N run in the experiment&lt;br/&gt;(2) runs instructions 1-6, for N=0-3, if more/fewer than four N levels are run adjust /trials = [1-X.....]&lt;br/&gt;Example: N=0 to N = 2: / trials = [1-5 = Nbackinstruct_starttrial]&lt;br/&gt;&lt;br/&gt;&amp;lt;block Nbackinstruct_start&amp;gt;&lt;br/&gt;/ trials = [1 = touchscreenInstruct; 2-3 = Nbackinstruct_starttrial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block RepeatPractice&amp;gt;&lt;br/&gt;/ trials = [1 = repeatpractice]&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (trial.repeatpractice.response == 21) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.practice_s_ntask&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.Practiceblock_end;&lt;br/&gt;]&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block Practiceblock_end&amp;gt;&lt;br/&gt;/ trials = [1 = Practice_endtrial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************************&lt;br/&gt;PRACTICE&lt;br/&gt;**********************************************&lt;br/&gt;&lt;br/&gt;* Practice Blocks give feedback and do NOT record data&lt;br/&gt;* Block starts with&lt;br/&gt;(a) Instructiontrial&lt;br/&gt;(b) N start-trials that cannot present Targets yet (no data collected) , if N = 0, the first trial presents the target letter&lt;br/&gt;(c) 9 practice trials: ratio targets : nontargets = 1 : 2&lt;br/&gt;* stops after lever N = highestN (set by experimenter)&lt;br/&gt;(d) runs from the lowest N to the highest N&lt;br/&gt;&lt;br/&gt;&amp;lt;block practice_s_ntask&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.N = list.nextN_practice.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.reset();&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = 0;&lt;br/&gt;]&lt;br/&gt;/ trials = [1 = expinstructiontrial; 2 = start; 3 - 11 = noreplace(nontarget, nontarget, target)]&lt;br/&gt;/ onblockend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = 0&lt;br/&gt;]&lt;br/&gt;/ screencolor = (0, 0, 0)&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ postinstructions = (BlockSummary_practice)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.TotalBlocks &amp;lt; list.nextN_practice.itemcount) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.TotalBlocks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.RepeatPractice;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.practice_s_ntask;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&amp;nbsp; &lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;if trial feedback is desired:&lt;br/&gt;/ errormessage = true(ErrorFeedback, 500)&lt;br/&gt;/ correctmessage = true(CorrectFeedback, 500)&lt;br/&gt;&lt;br/&gt;**********************************************&lt;br/&gt;EXPERIMENTAL-BLOCKS NONADAPTIVE&lt;br/&gt;**********************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;block StartExp&amp;gt;&lt;br/&gt;/ trials = [1 = StartExp_trial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = 0;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;* Block starts with&lt;br/&gt;(a) Instructiontrial&lt;br/&gt;(b) N start-trials that cannot present Targets yet&lt;br/&gt;(c) 15 Experimental trials&lt;br/&gt;* Experimental trials: ratio targets : nontargets = 1 : 2&lt;br/&gt;* N level is pseudo-randomly selected by list.Nlevel&lt;br/&gt;* Block runs as many times as there are items in list.Nlevel&lt;br/&gt;&lt;br/&gt;&amp;lt;block s_ntask&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.N = list.Nlevel.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.reset();&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.lastIndex = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;expressions.fillitemlist;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter = 0;&lt;br/&gt;]&lt;br/&gt;/ trials = [1 = start; 2 - 72 = noreplace(nontarget, nontarget, target)]&lt;br/&gt;/ screencolor = (0, 0, 0)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.TotalBlocks &amp;lt; list.Nlevel.itemcount) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.s_ntask;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.EndExp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block EndExp&amp;gt;&lt;br/&gt;/ trials = [1 = EndExp_trial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EXPERIMENT&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;*After running the initial instructions, participants work through practice blocks for N = lowestN to N = highestN&lt;br/&gt;* After practice, participants work through 3 blocks for each of the level of N (levels are pseudorandomly determined)&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ onexptbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (parameters.debugmode == 1)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  text.targetalert.textcolor = red&lt;br/&gt;]&lt;br/&gt;/ blocks = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;1 = Nbackinstruct_start;&lt;br/&gt;&amp;nbsp;&amp;nbsp;2 = StartExp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;3 = s_ntask;&lt;br/&gt;]&lt;br/&gt;/ onexptend = [values.completed = 1]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End of File&lt;br/&gt;**************************************************************************************************************[/code]</description><pubDate>Tue, 11 Mar 2025 15:58:03 GMT</pubDate><dc:creator>tbauerle</dc:creator></item><item><title>RE: N-back: Modifying our 2-back to a 3-back or 4-back</title><link>https://forums.millisecond.com/Topic38107.aspx</link><description>Thank you, much appreciated! Have a great day</description><pubDate>Tue, 11 Mar 2025 15:58:03 GMT</pubDate><dc:creator>tbauerle</dc:creator></item><item><title>RE: N-back: Modifying our 2-back to a 3-back or 4-back</title><link>https://forums.millisecond.com/Topic37739.aspx</link><description>&lt;blockquote data-id="37738" class="if-quote-wrapper" unselectable="on" data-guid="1741281799186" contenteditable="false" id="if_insertedNode_1741281798982"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="37738" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="37738" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="37738" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;tbauerle - 3/6/2025&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-37738"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello,&lt;br/&gt;&lt;br/&gt;Just seeking some confirmation on a quick question: we're trying to modify the code for our current 2-back script to create two new versions: a 3-back version and a 4-back version. Currently our &amp;lt;list Nlevel&amp;gt; looks like this:&lt;br/&gt;&lt;br/&gt;&amp;lt;list Nlevel&amp;gt;&lt;br/&gt;/ items = (2)&lt;br/&gt;/ replace = false&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;Would we simply replace the (2) to either a (3) or a (4) to change it from a 2-back to either a 3-back or 4-back (respectively)? Anything else in the code we would need to change (i.e., besides the instructions text)? Our current full script for the 2-back is pasted below. Thanks!&lt;br/&gt;&lt;br/&gt;[code]---------------------------------------------------&lt;br/&gt;&lt;br/&gt;&amp;lt;usermanual&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  SINGLE N-BACK TASK NON-ADAPTIVE (1-KEY VERSION)- LETTERS&lt;br/&gt;SCRIPT INFO&lt;br/&gt;&lt;br/&gt;Script Author: Katja Borchert, Ph.D. () for Millisecond Software LLC&lt;br/&gt;Date: March, 2012&lt;br/&gt;last updated: 01-20-2016 by K.Borchert () for Millisecond Software LLC&lt;br/&gt;&lt;br/&gt;Copyright © 01-20-2016 Millisecond Software&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;BACKGROUND INFO&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  *Purpose*&lt;br/&gt;The current script is based on the SingleTaskNBack.exp script which implements the single-task version of the N-Back procedure as&lt;br/&gt;described in the following publication:&lt;br/&gt;&lt;br/&gt;Jaeggi, Susanne M.; Studer-Luethi, Barbara; Buschkuehl, Martin; Su, Yi-Fen; Jonides, John; Perrig, Walter J. (2010). The&lt;br/&gt;relationship between n-back performance and matrix reasoning - implications for training and transfer. Intelligence, 38, 625-635.&lt;br/&gt;&lt;br/&gt;The current script is adapted to implement the procedure of the Single N-back task using letters as described in:&lt;br/&gt;Ragland, J.D., Turetsky, B.I., Gur, R.C, Gunning-Dixon, F., Turner, T, Schroeder, L., Chan, R., &amp;amp; Gur, R.E. (2002).Working Memory&lt;br/&gt;for Complex Figures: An fMRI Comparison of Letter and Fractal n-Back Tasks. Neuropsychology, 16, 370-379.&lt;br/&gt;&lt;br/&gt;This Inquisit script provides trials and instructions for single n-back tasks with 20 upper case consonants for 4 levels of N&lt;br/&gt;(N = 0, N = 1, N = 2, N = 3). Other levels of N can be implemented with minimal change.&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*Task*&lt;br/&gt;In the 1-key single n-back task, participants are shown a sequence of stimuli (here: a sequence of white letters&lt;br/&gt;on a black background) and are asked to indicate whether the currently presented stimulus fulfills the following criteria:&lt;br/&gt;&lt;br/&gt;for N=0 trials*:&lt;br/&gt;- is the letter the same as the first letter presented in the sequence? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=1 trials:&lt;br/&gt;- is the letter the same as the one that preceded it? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=2 trials:&lt;br/&gt;- is the letter the same as the one presented two trials before? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;for N=3 trials:&lt;br/&gt;- is the letter the same as the one presented three trials before? If so (it's a target), and press "A". If not, don't respond.&lt;br/&gt;&lt;br/&gt;*Note: The implementation for 0-nback tasks in this script differs from the procedure used by Jaeggi and collegues in her research.&lt;br/&gt;Jaeggi and collegues used a pre-defined shape. In this script, the target shape is defined at runtime for each participant during the first trial.&lt;br/&gt;Participants are instructed to pay close attention to this first presentation and are warned that presentation time is short.&lt;br/&gt;Furthermore in this script, the experimenter can set how long the target letter should be presented to participants in 0 nback trials, as well&lt;br/&gt;as how much time before starting the actual task (after the target has disappeared)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;DATA FILE INFORMATION:&lt;br/&gt;The default data stored in the data files are:&lt;br/&gt;&lt;br/&gt;(1) Raw data file: 'SingleTaskNBack_letters_raw.iqdat' (a separate file for each participant)&lt;br/&gt;&lt;br/&gt;build:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inquisit build&lt;br/&gt;computer.platform:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the platform the script was run on&lt;br/&gt;date, time, subject, group:&amp;nbsp;&amp;nbsp;&amp;nbsp;date and time script was run with the current subject/groupnumber&lt;br/&gt;blockcode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the name of the current block&lt;br/&gt;values.TotalBlocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the total number of experimental blocks run&lt;br/&gt;trialcode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the name of the current trial&lt;br/&gt;starttrialcounter:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keeps track of how many start trials have been run&lt;br/&gt;stimulusitem:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the letter presented&lt;br/&gt;stimulusnumber:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the item number of the presented letter&lt;br/&gt;values.currenttarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the item number of the current target&lt;br/&gt;response:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the response of the participant&lt;br/&gt;correct:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the correctness of the response&lt;br/&gt;latency:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;how fast a participant responded within the given timeframe, if at all (in ms)&lt;br/&gt;values.trial_Hit:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a Hit (=1)&lt;br/&gt;values.trial_FA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a False Alarm (=1)&lt;br/&gt;values.trial_Miss:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;whether the response was Miss (=1)&lt;br/&gt;values.trial_CR:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  whether the response was a Correct Rejection ( = 1)&lt;br/&gt;values.Hits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of Hits in a block&lt;br/&gt;values.FalseA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the sum of False Alarms in a block&lt;br/&gt;values. Misses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of Misses in a block&lt;br/&gt;values.CorrReject:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the sum of Correct Rejections in a block&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the proportion of (TotalHits - TotalFA)/number of experimental blocks&lt;br/&gt;&lt;br/&gt;(2) Summary data file: 'SingleTaskNBack_letters_summary*.iqdat' (a separate file for each participant)&lt;br/&gt;&lt;br/&gt;script.startdate:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date script was run&lt;br/&gt;script.starttime:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time script was started&lt;br/&gt;script.subjectid:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subject id number&lt;br/&gt;script.groupid:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  group id number&lt;br/&gt;script.elapsedtime:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  time it took to run script (in ms)&lt;br/&gt;computer.platform:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the platform the script was run on&lt;br/&gt;/completed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the sum of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the proportion of (TotalHits - TotalFA)/number of experimental blocks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;EXPERIMENTAL SET-UP:&lt;br/&gt;- After instructions, participants receive 9 trials of practice per level N tested (here: N = 0 to N = 3) ,&lt;br/&gt;(-&amp;gt; can be changed to eliminate N = 3 as was done by Ragland et al (2002))&lt;br/&gt;- once practice is done, participants get the option to repeat practice&lt;br/&gt;- After practice, participants receive 3 blocks per level of N tested. Which particular level a participant works on is&lt;br/&gt;pseudo-randomly determined (see Ragland et al, 2002).&lt;br/&gt;- the instructions are self-paced as a default, to change them to a timed format (default = 9s, see Ragland et al, 2002),&lt;br/&gt;&amp;nbsp;&amp;nbsp;follow instructions under parameters.instruction_duration&lt;br/&gt;&lt;br/&gt;Block Information:&lt;br/&gt;- Each single n-task block consists of 15+ trials (Ragland et al, 2002) using 20 different consonants.&lt;br/&gt;=&amp;gt; + trials are the N trials that cannot display target shapes yet (=start trials). Their numbers vary depending on N.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  The data collected during these start trials are NOT included in performance counts for Correct Rejections/False Alarms.&lt;br/&gt;=&amp;gt; Of the actual 15 experimental trials, 5 present a target and 10 do not (1:2 ratio as in Ragland et al, 2002).&lt;br/&gt;- The computer selects randomly&lt;br/&gt;a) whether it is a target trial or not and&lt;br/&gt;b) what letter to show if it is not a target trial&lt;br/&gt;&lt;br/&gt;Trial Information:&lt;br/&gt;- Each trial presents the letter for 500ms and waits another 2000ms before presenting the next letter in the sequence&lt;br/&gt;(see Ragland et al. for InterstimulusInterval = 2500ms). The trialduration can be edited by experimenter.&lt;br/&gt;- Participants have the entire 2500ms to respond by pressing "A" if they detect a target.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;INFORMATION FOR CODE-CHANGES (e.g. ADDITIONAL/DIFFERENT LEVELS OF N)&lt;br/&gt;&lt;br/&gt;Instructions for changing code for additional Ns are provided with this script. Please check the following sections for the relevant info:&lt;br/&gt;1. Custom Values&lt;br/&gt;2. Instructions: (a) Instruction Slides -&amp;gt; Editable Instructions (b) Instruction Blocks -&amp;gt; section Instructions (block.Nbackinstruct_start)&lt;br/&gt;3. Trials&lt;br/&gt;4. Blocks: (a) Practice (b) Experimental&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;EDITABLE CODE:&lt;br/&gt;check below for (relatively) easily editable parameters, stimuli, instructions etc.&lt;br/&gt;Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.&lt;br/&gt;&lt;br/&gt;The parameters you can change are:&lt;br/&gt;&lt;br/&gt;trialduration:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interstimulusinterval (in ms) for regular n-back trials, default = 2500ms,&lt;br/&gt;posttrialpause_aftertarget0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the posttrialpause (in ms) after the target in 0nback tasks disappears from sight and the actual 0 nback testing starts&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (default = 2000ms, to make it comparable to the remaining trials)&lt;br/&gt;showtarget0:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the amount of time the target for N = 0 trials should be presented; default = 3000&lt;br/&gt;instruction_duration:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the time the instructions for each experimental block are shown (in ms), default = 9000ms&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;only applies if instructions for experimental blocks are NOT self-paced&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (see INSTRUCTIONS -&amp;gt; INSTRUCTION TRIALS -&amp;gt; trial.expinstructiontrial for further info)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOTE: the default for this script are self-paced instructions&lt;br/&gt;debugmode = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugmode = 1: targetalerts are shown on screen,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugmode = 0, no targetalerts are shown (default)&lt;br/&gt;/stimulusPresentationtime:&amp;nbsp;&amp;nbsp;&amp;nbsp;the presentation time (in ms) of the stimuli (default: 500ms)&lt;br/&gt;&lt;br/&gt;(in general: if levels of N are changed, adjustments need to be made to instructions and list.Nlevel)&lt;br/&gt;&lt;br/&gt;&amp;lt;/usermanual&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE PARAMETERS: change editable parameters here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;parameters&amp;gt;&lt;br/&gt;/ trialduration = 2500&lt;br/&gt;/ posttrialpause_aftertarget0 = 2000&lt;br/&gt;/ instruction_duration = 9000&lt;br/&gt;/ showtarget0 = 3000&lt;br/&gt;/ debugmode = 0&lt;br/&gt;/ stimulusPresentationtime = 500&lt;br/&gt;&amp;lt;/parameters&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE STIMULI: change editable stimuli here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;* 20 consonants&lt;br/&gt;&amp;lt;item letters&amp;gt;&lt;br/&gt;/ 1 = "B"&lt;br/&gt;/ 2 = "C"&lt;br/&gt;/ 3 = "D"&lt;br/&gt;/ 4 = "F"&lt;br/&gt;/ 5 = "G"&lt;br/&gt;/ 6 = "H"&lt;br/&gt;/ 7 = "J"&lt;br/&gt;/ 8 = "K"&lt;br/&gt;/ 9 = "L"&lt;br/&gt;/ 10 = "M"&lt;br/&gt;/ 11 = "N"&lt;br/&gt;/ 12 = "P"&lt;br/&gt;/ 13 = "Q"&lt;br/&gt;/ 14 = "R"&lt;br/&gt;/ 15 = "S"&lt;br/&gt;/ 16 = "T"&lt;br/&gt;/ 17 = "V"&lt;br/&gt;/ 18 = "W"&lt;br/&gt;/ 19 = "X"&lt;br/&gt;/ 20 = "Z"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE INSTRUCTIONS: change instructions here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION SLIDES*****************************&lt;br/&gt;Note: these instruction slides are adapted from the original instructions kindly provided to Millisecond Software by Jaeggi et al .&lt;br/&gt;Thank you!&lt;br/&gt;&lt;br/&gt;*********************************************************&lt;br/&gt;NOTE:&lt;br/&gt;If you only run N = 0 to N = 2, remove/exchange the instructionslides that reference N = 3&lt;br/&gt;**********************************************************&lt;br/&gt;&amp;lt;item Nback_startinstructions&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructions_letters_start.gif"&lt;br/&gt;/ 2 = "SingleNbackInstructions_letters_N2.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;*********************************************************&lt;br/&gt;Alternative if only N=0 - N=2 is run&lt;br/&gt;-&amp;gt; "SingleNbackInstructions_letters_practice012.gif"&lt;br/&gt;*********************************************************&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;item practiceend&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructions_letters_practiceend0123.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;*********************************************************&lt;br/&gt;Alternative if only N=0 - N=2 is run&lt;br/&gt;-&amp;gt; "SingleNbackInstructions_letters_practiceend012.gif"&lt;br/&gt;*********************************************************&lt;br/&gt;&lt;br/&gt;*slides to start experimental trials/end experiment&lt;br/&gt;&amp;lt;item startendslides&amp;gt;&lt;br/&gt;/ 1 = "StartExpt.gif"&lt;br/&gt;/ 2 = "ThankYouSlide.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;*Instructions for individual practice N-levels (not original)&lt;br/&gt;&amp;lt;item expinstructions&amp;gt;&lt;br/&gt;/ 1 = "SingleNbackInstructionsN0_letters_exp.gif"&lt;br/&gt;/ 2 = "SingleNbackInstructionsN1_letters_exp.gif"&lt;br/&gt;/ 3 = "SingleNbackInstructionsN2_letters_exp.gif"&lt;br/&gt;/ 4 = "SingleNbackInstructionsN3_letters_exp.gif"&lt;br/&gt;&amp;lt;/item&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: presents the instructions for the test blocks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Used in htmlpage 'ExpInstructions'&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ expInstructions = if (values.N &amp;gt; 0){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  "&amp;lt;p&amp;gt;Press 'A' if the current letter is the same as the letter &amp;lt;span class='red'&amp;gt;&amp;lt;b&amp;gt;&amp;lt;%values.N%&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt; trial(s) before.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Otherwise don't do anything.&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;";&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  "&amp;lt;p&amp;gt;Once you start the test, pay &amp;lt;span class='red'&amp;gt;close attention&amp;lt;/span&amp;gt; to the first letter. This shape will be your target&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  for the remaining trials.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;p&amp;gt;Press 'A' if the current letter is the same one as the one in the very first trial otherwise don't do anything.&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;*******CODE CHANGES:&lt;br/&gt;If you would like to run different levels of N in practice/experimental trials, change/add the necessary instruction slides&lt;br/&gt;under the appropriate item categories above, as well as pay attention to the changes necessary under "Instruction Blocks"&lt;br/&gt;block.Nbackinstruct_start&lt;br/&gt;&lt;br/&gt;***********************************************************&lt;br/&gt;these instructions will be run if the script is&lt;br/&gt;run on a touchscreen&lt;br/&gt;***********************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;text touchscreenInstruct1&amp;gt;&lt;br/&gt;/ items = ("This is a touchscreen device. Tapping anywhere on the screen to respond during the exercise.")&lt;br/&gt;/ fontstyle = ("Arial", 5%, true, false, false, false, 5, 1)&lt;br/&gt;/ position = (50%, 20%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ size = (80%, 20%)&lt;br/&gt;/ vjustify = center&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text touchscreenInstruct2&amp;gt;&lt;br/&gt;/ items = ("Tap anywhere on the screen to continue.")&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ size = (70%, 30%)&lt;br/&gt;/ vjustify = center&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*********************************&lt;br/&gt;Summary&lt;br/&gt;*********************************&lt;br/&gt;*A feedback page that is presented at the end of each practice block&lt;br/&gt;&lt;br/&gt;&amp;lt;instruct&amp;gt;&lt;br/&gt;/ fontstyle = ("Arial", 2.67%, false, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/instruct&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page BlockSummary&amp;gt;&lt;br/&gt;^^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEEDBACK&lt;br/&gt;^^&lt;br/&gt;^^CORRECT: &amp;lt;% ((values.Hits + values.CorrReject) /20) * 100 %&amp;gt;% of the times&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;page BlockSummary_practice&amp;gt;&lt;br/&gt;^^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FEEDBACK&lt;br/&gt;^^&lt;br/&gt;^^CORRECT: &amp;lt;% ((values.Hits + values.CorrReject) /10) * 100 %&amp;gt;% of the times&lt;br/&gt;&amp;lt;/page&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EDITABLE LISTS: change editable lists here&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: list controls the level of N run during practice. By default, practice runs level 2, 3, 4 once and&lt;br/&gt;in sequence&lt;br/&gt;&amp;lt;list nextN_practice&amp;gt;&lt;br/&gt;/ items = (0, 1, 2, 3)&lt;br/&gt;/ selectionmode = sequence&lt;br/&gt;/ selectionrate = block&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;*list.Nlevel pseudorandomly selects the next N level (the experiment runs as many blocks as there are&lt;br/&gt;items in this list)&lt;br/&gt;! if you do NOT run level N = 3, remove all 3s from the item list of this list&lt;br/&gt;! if you want to run a level more or fewer times adjust the number of the digits in the item list accordingly&lt;br/&gt;! if you want to run the levels in sequence, replace /replace=false with /selectionmode = sequence&lt;br/&gt;&lt;br/&gt;IN GENERAL: if you run different levels of N or change the number of repetitions, you need to adjust the item list of&lt;br/&gt;list.nlevel&lt;br/&gt;&amp;lt;list Nlevel&amp;gt;&lt;br/&gt;/ items = (2)&lt;br/&gt;/ replace = false&lt;br/&gt;/ resetinterval = 0&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !!!REMAINING CODE: Customize after careful consideration only!!!&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;DEFAULTS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;script requires Inquisit 5.0.5.0 or higher&lt;br/&gt;&lt;br/&gt;&amp;lt;defaults&amp;gt;&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ canvasaspectratio = (4,3)&lt;br/&gt;/ minimumversion = "5.0.5.0"&lt;br/&gt;/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)&lt;br/&gt;/ txbgcolor = white&lt;br/&gt;/ txcolor = (0, 0, 0)&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/defaults&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;DATA&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;Note: data file explanations under User Manual Information at the top&lt;br/&gt;&lt;br/&gt;*********************&lt;br/&gt;raw data&lt;br/&gt;*********************&lt;br/&gt;&amp;lt;data&amp;gt;&lt;br/&gt;/ columns = (build, computer.platform, date, time, subject, group, values.N, blockcode, values.TotalBlocks, trialcode, trialnum,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.starttrialcounter, stimulusitem, stimulusnumber,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.currenttarget, response, correct, latency,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.trial_Hit, values.trial_FA, values.trial_Miss, values.trial_CR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.Hits, values.FalseA, values.Misses, values.CorrReject,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values.TotalHits, values.TotalFA, values.DV)&lt;br/&gt;/ separatefiles = true&lt;br/&gt;&amp;lt;/data&amp;gt;&lt;br/&gt;&lt;br/&gt;*********************&lt;br/&gt;summary data&lt;br/&gt;*********************&lt;br/&gt;&lt;br/&gt;&amp;lt;summarydata&amp;gt;&lt;br/&gt;/ columns = (script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, computer.platform, values.completed,&lt;br/&gt;values.TotalHits, values.TotalFA, values.DV)&lt;br/&gt;/ separatefiles = true&lt;br/&gt;&amp;lt;/summarydata&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;VALUES: automatically updated&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;/completed:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  0 = script was not completed (script was prematurely aborted); 1 = script was completed (all conditions run)&lt;br/&gt;&lt;br/&gt;minus1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus in the trial preceding the current one&lt;br/&gt;minus2:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 2 trials before the current one&lt;br/&gt;minus3:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 3 trials before the current one&lt;br/&gt;minus4:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusitemnumber of the stimulus shown 4 trials before the current one&lt;br/&gt;stim:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contains the current stimulusitem&lt;br/&gt;stimnumber:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the current stimulusitemnumber&lt;br/&gt;N:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the lag between a target and the stimulus it repeats&lt;br/&gt;currenttarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  contains the stimulusnumber of the current target&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(a target in N = 0 trials is a stimulus with the same stimulus number as stored in target0)&lt;br/&gt;Hits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; codes the number of correctly identifiying a target&lt;br/&gt;FalseA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant identifies a non-target as a target&lt;br/&gt;Misses:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant misses to identify a target&lt;br/&gt;CorrReject:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;codes the number of times a participant correctly identifies a non-target (and does nothing)&lt;br/&gt;values.TotalHits:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total hits across all experimental blocks&lt;br/&gt;values.TotalFA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the number of total false alarms across all experimental blocks&lt;br/&gt;values.TotalBlocks:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  the total number of experimental blocks run&lt;br/&gt;values.DV:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dependent variable (DV) in Jaeggi et al (2010): the proportion of (TotalHits - TotalFA)/number of total blocks&lt;br/&gt;starttrialcounter:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keeps track of how many start trials have been run&lt;br/&gt;trialduration_starttrial:&amp;nbsp;&amp;nbsp;the trialduration time for the starttrials, depends on level of N (starttrial for N = 0 trials differs)&lt;br/&gt;starttrialposttrialpause:&amp;nbsp;&amp;nbsp;the posttrialpause of starttrials (can be set for N = 0 trials, for all others it's 0)&lt;br/&gt;/lastIndex:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; helper variable to manage the last N presented shape list&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ completed = 0&lt;br/&gt;/ minus1 = 0&lt;br/&gt;/ minus2 = 0&lt;br/&gt;/ minus3 = 0&lt;br/&gt;/ minus4 = 0&lt;br/&gt;/ N = 0&lt;br/&gt;/ currenttarget = 0&lt;br/&gt;/ Hits = 0&lt;br/&gt;/ FalseA = 0&lt;br/&gt;/ Misses = 0&lt;br/&gt;/ CorrReject = 0&lt;br/&gt;/ TotalHits = 0&lt;br/&gt;/ TotalFA = 0&lt;br/&gt;/ DV = 0&lt;br/&gt;/ TotalBlocks = 0&lt;br/&gt;/ starttrialcounter = 0&lt;br/&gt;/ trialduration_starttrial = 0&lt;br/&gt;/ starttrialposttrialpause = 0&lt;br/&gt;/ trial_Hit = 0&lt;br/&gt;/ trial_Miss = 0&lt;br/&gt;/ trial_CR = 0&lt;br/&gt;/ trial_FA = 0&lt;br/&gt;/ lastIndex = 0&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************ADDITIONAL N-LEVELS*************************************&lt;br/&gt;* if additional N-levels are needed, create and add further "minusN" values and set them to 0,&lt;br/&gt;Example: N = 5&lt;br/&gt;/minus5 = 0&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EXPRESSIONS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;expressions.selectinstruct helps to select the adequate instructions for adaptive n-back testing&lt;br/&gt;&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ selectinstruct = values.N + 1&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;/fillitemlist:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  recursive function that fills list.items with N items at the beginning of each new block&lt;br/&gt;&amp;lt;expressions&amp;gt;&lt;br/&gt;/ fillitemlist = {&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.lastIndex &amp;lt; values.N){&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  list.items.insertitem(0, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.lastIndex += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  expressions.fillitemlist;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  list.items.insertitem(0, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;}&lt;br/&gt;&amp;lt;/expressions&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;INSTRUCTIONS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION IMAGE SELECTION******************************************&lt;br/&gt;&amp;lt;picture SingleNbackinstructions_start&amp;gt;&lt;br/&gt;/ items = Nback_startinstructions&lt;br/&gt;/ select = sequence&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture Practice_end&amp;gt;&lt;br/&gt;/ items = practiceend&lt;br/&gt;/ select = 1&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture StartExp_slide&amp;gt;&lt;br/&gt;/ items = startendslides&lt;br/&gt;/ select = 1&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture EndExp_slide&amp;gt;&lt;br/&gt;/ items = startendslides&lt;br/&gt;/ select = 2&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;*instructions for individual experimental trials are selected depending on level of N&lt;br/&gt;&amp;lt;picture expinstructionslide&amp;gt;&lt;br/&gt;/ items = expinstructions&lt;br/&gt;/ select = expressions.selectinstruct&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;picture repeatpractice_page&amp;gt;&lt;br/&gt;/ items = ("SingleNbackInstructions_practicerepeat.gif")&lt;br/&gt;/ size = (100%, 100%)&lt;br/&gt;&amp;lt;/picture&amp;gt;&lt;br/&gt;&lt;br/&gt;***********INSTRUCTION TRIALS*******************************************&lt;br/&gt;&lt;br/&gt;****************************************************************************************&lt;br/&gt;Note:&lt;br/&gt;* instructions for each level of N are self-paced.&lt;br/&gt;* If they should be shown for a predetermined time (e.g. 9s, see Ragland et al, 2002)&lt;br/&gt;use the following code instead in trial.expinstructiontrial:&lt;br/&gt;/ stimulusframes = [1 = expinstructionslide, eraserrec, wait]&lt;br/&gt;/ validresponse = (noresponse)&lt;br/&gt;/ timeout = (parameters.instruction_duration)&lt;br/&gt;****************************************************************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;trial touchscreenInstruct&amp;gt;&lt;br/&gt;/ skip = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;!computer.touch || computer.haskeyboard;&lt;br/&gt;]&lt;br/&gt;/ stimulusframes = [1 = touchscreenInstruct1, touchscreenInstruct2]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial expinstructiontrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = expinstructionslide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial Nbackinstruct_starttrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = SingleNbackinstructions_start]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial Practice_endtrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = Practice_end]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial StartExp_trial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = StartExp_slide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial repeatpractice&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = repeatpractice_page]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial EndExp_trial&amp;gt;&lt;br/&gt;/ stimulusframes = [1 = EndExp_slide]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;STIMULI&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;***randomly selects one of the letters&lt;br/&gt;&amp;lt;text startletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = replace&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;***selects any letter that cannot be a target&lt;br/&gt;&amp;lt;text nontargetletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = list.notargetvalue.nextvalue&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;***selects the item with the same item number as the established target&lt;br/&gt;&amp;lt;text targetletter&amp;gt;&lt;br/&gt;/ items = letters&lt;br/&gt;/ select = values.currenttarget&lt;br/&gt;/ position = (50%, 50%)&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 50%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;FEEDBACK MESSAGES FOR PRACTICE TRIALS ONLY (default: they are NOT used)&lt;br/&gt;&amp;lt;text ErrorFeedback&amp;gt;&lt;br/&gt;/ items = ("ERROR")&lt;br/&gt;/ fontstyle = ("Arial", 5.00%, true, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = red&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ position = (50%, 70%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text CorrectFeedback&amp;gt;&lt;br/&gt;/ items = ("CORRECT")&lt;br/&gt;/ fontstyle = ("Arial", 5.00%, true, false, false, false, 5, 0)&lt;br/&gt;/ txcolor = green&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ position = (50%, 70%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;ASSISTANT STIMULI:&lt;br/&gt;&lt;br/&gt;*****reminder that the letter participants see during the first trial in N = 0 nback trials is the target&lt;br/&gt;&amp;lt;text targetreminder&amp;gt;&lt;br/&gt;/ items = ("this is the target")&lt;br/&gt;/ position = (50%, 25%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*****For timed instructions, this shape covers up the original instructions (on slides)&lt;br/&gt;that instruct participants to use the Spacebar to continue&lt;br/&gt;&amp;lt;shape eraserrec&amp;gt;&lt;br/&gt;/ shape = rectangle&lt;br/&gt;/ color = black&lt;br/&gt;/ position = (50%, 95%)&lt;br/&gt;/ size = (100%, 8%)&lt;br/&gt;&amp;lt;/shape&amp;gt;&lt;br/&gt;&lt;br/&gt;*****For timed instructions this text alerts participants that the task starts in the&lt;br/&gt;predetermined amount of time (default: 9s)&lt;br/&gt;&amp;lt;text wait&amp;gt;&lt;br/&gt;/ items = ("the task will start automatically in &amp;lt;%parameters.instruction_duration/1000%&amp;gt; s")&lt;br/&gt;/ position = (50%, 95%)&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ txcolor = white&lt;br/&gt;/ fontstyle = ("Arial", 2.08%, false, false, false, false, 5, 0)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;*****Debug Code:&lt;br/&gt;&amp;lt;text targetalert&amp;gt;&lt;br/&gt;/ items = ("target")&lt;br/&gt;/ position = (50%, 80%)&lt;br/&gt;/ txcolor = black&lt;br/&gt;/ txbgcolor = black&lt;br/&gt;/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;LISTS  &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;****list Variables to select notargetvalue&lt;br/&gt;&lt;br/&gt;*list.notargetvalue selects any of the 8 numbers but the one selected for targetvalue&lt;br/&gt;&amp;lt;list notargetvalue&amp;gt;&lt;br/&gt;/ items = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)&lt;br/&gt;/ not = (values.currenttarget)&lt;br/&gt;/ replace = true&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;Note: list contains the itemnumbers of the presented shapes in reversed order (dynamic list)&lt;br/&gt;(item 1 is always the last one presented)&lt;br/&gt;&amp;lt;list items&amp;gt;&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;TRIALS &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;*there are 3 types of trials&lt;br/&gt;&amp;nbsp;&amp;nbsp;1. start:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; presented at beginning of block when number of trials too small for Target trials; they can present&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; any of the stimuli (N = 0, start trial presents the target shape)&lt;br/&gt;&amp;nbsp;&amp;nbsp;2. nontarget:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trials that present stimuli that do not repeat the stimulus of n-trials before&lt;br/&gt;&amp;nbsp;&amp;nbsp;3. target:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trials that present Target stimuli&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Starttrial&lt;br/&gt;**********************************&lt;br/&gt;NOTE:&lt;br/&gt;for N = 0 trials:&lt;br/&gt;- the first trial shows the target for a set amount of time (editable), together with a text stimulus that&lt;br/&gt;reminds participants that this letter is the target.&lt;br/&gt;- There is a pause (length is editable) before the next trial starts&lt;br/&gt;&lt;br/&gt;*start trial runs N-times (unless N = 0, then it runs N = 1 time)&lt;br/&gt;&amp;lt;trial start&amp;gt;&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N == 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  text.targetreminder.textcolor = red;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.trialduration_starttrial = parameters.showtarget0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.starttrialposttrialpause = parameters.posttrialpause_aftertarget0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  trial.start.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.trialduration_starttrial = parameters.trialduration;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.starttrialposttrialpause = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;/ stimulustimes = [0 = startletter, targetreminder]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.response == 0&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.start.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N == 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = text.startletter.currentitemnumber;&lt;br/&gt;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.startletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;text.targetreminder.textcolor = black;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = values.trialduration_starttrial&lt;br/&gt;/ posttrialpause = (values.starttrialposttrialpause)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.starttrialcounter &amp;lt; values.N)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  trial.start&lt;br/&gt;]&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Nontarget Trials&lt;br/&gt;**********************************&lt;br/&gt;&amp;lt;trial nontarget&amp;gt;&lt;br/&gt;/ stimulustimes = [0 = nontargetletter]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.response == 0&lt;br/&gt;]&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = list.items.item(values.N);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.nontarget.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.nontargetletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = values.CorrReject + trial.nontarget.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = trial.nontarget.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = values.FalseA + trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = values.TotalFA + trial.nontarget.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = (values.TotalHits - values.TotalFA)/values.TotalBlocks;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = parameters.trialduration&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************&lt;br/&gt;Target Trials&lt;br/&gt;**********************************&lt;br/&gt;**if target, press the letter "A" (code: 30)&lt;br/&gt;&amp;lt;trial target&amp;gt;&lt;br/&gt;/ stimulustimes = [0 = targetletter, targetalert]&lt;br/&gt;/ inputdevice = keyboard&lt;br/&gt;/ validresponse = (anyresponse)&lt;br/&gt;/ iscorrectresponse = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.response &amp;gt; 0&lt;br/&gt;]&lt;br/&gt;/ ontrialbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.insertstimulustime(clearscreen, parameters.stimulusPresentationtime);&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.N &amp;gt; 0) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.currenttarget = list.items.item(values.N);&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_CR = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_FA = 0;&lt;br/&gt;]&lt;br/&gt;&lt;br/&gt;/ ontrialend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;trial.target.resetstimulusframes();&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.insertitem(text.targetletter.currentitemnumber, 1);&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = values.Hits+ trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Hit = trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = values.Misses + trial.target.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.trial_Miss = trial.target.error;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = values.TotalHits + trial.target.correct;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = (values.TotalHits - values.TotalFA)/values.TotalBlocks;&lt;br/&gt;]&lt;br/&gt;/ beginresponsetime = 0&lt;br/&gt;/ trialduration = parameters.trialduration&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;BLOCKS&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;ATTENTION: PRACTICE BLOCKS&lt;br/&gt;(1) This block sets the beginning N value for practice trials to the lowest level of N run in the experiment&lt;br/&gt;(2) runs instructions 1-6, for N=0-3, if more/fewer than four N levels are run adjust /trials = [1-X.....]&lt;br/&gt;Example: N=0 to N = 2: / trials = [1-5 = Nbackinstruct_starttrial]&lt;br/&gt;&lt;br/&gt;&amp;lt;block Nbackinstruct_start&amp;gt;&lt;br/&gt;/ trials = [1 = touchscreenInstruct; 2-3 = Nbackinstruct_starttrial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block RepeatPractice&amp;gt;&lt;br/&gt;/ trials = [1 = repeatpractice]&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (trial.repeatpractice.response == 21) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.practice_s_ntask&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.Practiceblock_end;&lt;br/&gt;]&lt;br/&gt;/ screencolor = black&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block Practiceblock_end&amp;gt;&lt;br/&gt;/ trials = [1 = Practice_endtrial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**********************************************&lt;br/&gt;PRACTICE&lt;br/&gt;**********************************************&lt;br/&gt;&lt;br/&gt;* Practice Blocks give feedback and do NOT record data&lt;br/&gt;* Block starts with&lt;br/&gt;(a) Instructiontrial&lt;br/&gt;(b) N start-trials that cannot present Targets yet (no data collected) , if N = 0, the first trial presents the target letter&lt;br/&gt;(c) 9 practice trials: ratio targets : nontargets = 1 : 2&lt;br/&gt;* stops after lever N = highestN (set by experimenter)&lt;br/&gt;(d) runs from the lowest N to the highest N&lt;br/&gt;&lt;br/&gt;&amp;lt;block practice_s_ntask&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.N = list.nextN_practice.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.reset();&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = 0;&lt;br/&gt;]&lt;br/&gt;/ trials = [1 = expinstructiontrial; 2 = start; 3 - 11 = noreplace(nontarget, nontarget, target)]&lt;br/&gt;/ onblockend = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = 0&lt;br/&gt;]&lt;br/&gt;/ screencolor = (0, 0, 0)&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ postinstructions = (BlockSummary_practice)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.TotalBlocks &amp;lt; list.nextN_practice.itemcount) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  values.TotalBlocks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.RepeatPractice;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.practice_s_ntask;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&amp;nbsp; &lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;if trial feedback is desired:&lt;br/&gt;/ errormessage = true(ErrorFeedback, 500)&lt;br/&gt;/ correctmessage = true(CorrectFeedback, 500)&lt;br/&gt;&lt;br/&gt;**********************************************&lt;br/&gt;EXPERIMENTAL-BLOCKS NONADAPTIVE&lt;br/&gt;**********************************************&lt;br/&gt;&lt;br/&gt;&amp;lt;block StartExp&amp;gt;&lt;br/&gt;/ trials = [1 = StartExp_trial]&lt;br/&gt;/ recorddata = false&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalHits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalFA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.DV = 0;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;* Block starts with&lt;br/&gt;(a) Instructiontrial&lt;br/&gt;(b) N start-trials that cannot present Targets yet&lt;br/&gt;(c) 15 Experimental trials&lt;br/&gt;* Experimental trials: ratio targets : nontargets = 1 : 2&lt;br/&gt;* N level is pseudo-randomly selected by list.Nlevel&lt;br/&gt;* Block runs as many times as there are items in list.Nlevel&lt;br/&gt;&lt;br/&gt;&amp;lt;block s_ntask&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.N = list.Nlevel.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.currenttarget = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;list.items.reset();&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.lastIndex = 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;expressions.fillitemlist;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Hits = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.FalseA = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.Misses = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.CorrReject = 0;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.TotalBlocks += 1;&lt;br/&gt;&amp;nbsp;&amp;nbsp;values.starttrialcounter = 0;&lt;br/&gt;]&lt;br/&gt;/ trials = [1 = start; 2 - 72 = noreplace(nontarget, nontarget, target)]&lt;br/&gt;/ screencolor = (0, 0, 0)&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (values.TotalBlocks &amp;lt; list.Nlevel.itemcount) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.s_ntask;&lt;br/&gt;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  block.EndExp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;};&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block EndExp&amp;gt;&lt;br/&gt;/ trials = [1 = EndExp_trial]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;EXPERIMENT&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&lt;br/&gt;*After running the initial instructions, participants work through practice blocks for N = lowestN to N = highestN&lt;br/&gt;* After practice, participants work through 3 blocks for each of the level of N (levels are pseudorandomly determined)&lt;br/&gt;&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ onexptbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;if (parameters.debugmode == 1)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  text.targetalert.textcolor = red&lt;br/&gt;]&lt;br/&gt;/ blocks = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;1 = Nbackinstruct_start;&lt;br/&gt;&amp;nbsp;&amp;nbsp;2 = StartExp;&lt;br/&gt;&amp;nbsp;&amp;nbsp;3 = s_ntask;&lt;br/&gt;]&lt;br/&gt;/ onexptend = [values.completed = 1]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;**************************************************************************************************************&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End of File&lt;br/&gt;**************************************************************************************************************[/code]&lt;a class="if-quote-goto quote-link" href="#" data-id="37738"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;N-level(s) are deterimned by the value(s) i that list, yes. The script as-is, can accomodate up to N=3. If you want hgher N-lvels, you need to create the instruction slides (images) for those levels and add them to the respective &amp;lt;item&amp;gt; elements. The script comes with instruction slides for up to N=3.&lt;br/&gt;&lt;br/&gt;This is all explained in the user manual section of the code and in comments throughout.</description><pubDate>Thu, 06 Mar 2025 17:25:51 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>