trouble getting first few trials to appear correctly


Author
Message
strugglingsenior
strugglingsenior
Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)
Group: Forum Members
Posts: 5, Visits: 22
Hi, 

I'm using the competitive reaction time task and I want to my first 5 trials to have a "0" response from the computer. The first five are good but the 6th trial is supposed to be the first point where the computer aggresses (i.e. delivers a blast of noise) but when I run the script the 6th trial doesn't give aggressive feedback. All of the following trials work correctly as they appear in the script, but for some reason I can't get the 6th one to do what I want. What am I missing?

Thank you for any help on this.  

Tags
Dave
Dave
Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)
Group: Administrators
Posts: 10K, Visits: 51K
Your description implies you made a number of changes to the original script (you also don't mention which one -- there are three). Without you explaining and detailing those changes, nobody can tell you why they are not achieving what you want them to achieve.

strugglingsenior
strugglingsenior
Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)
Group: Forum Members
Posts: 5, Visits: 22
My apologies, here is the full script. 

<values>
/firstoutcome_predetermined = 1
/firstwin = 1
/showcoplayersettings = 2
/max_winlatency = 700

/revealduration = 4000
/timerduration = 10000
/duration0 = 0
/duration1 = 0.5
/duration2 = 1
/duration3 = 1.5
/duration4 = 2
/duration5 = 2.5
/duration6 = 3
/duration7 = 3.5
/duration8 = 4
/duration9 = 4.5
/duration10 = 5
</values>

***************************************************************************************
*********************************************
Editable Stimuli
*********************************************
***************************************************************************************
The noise blast file

<item noises>
/1 = "blast.wav"
</item>

***************************************************************************************
*********************************************
Editable Instructions
*********************************************
***************************************************************************************
Instructions are not original to any of the studies. They are modelled after 
Anderson & Dill (2000) but changed to reflect the current set-up.
Instructions are presented in a series of Powerpoint Slides converted to png files.
Customize slides to reflect your set-up.
=> !!! if number of slides/order of slides is changed, trial.instruction may have to updated as well.

<item instructionslides>
/1 = "intro1.png"
/2 = "intro2.png"
/3 = "intro3.png"
/4 = "intro4.png"
/5 = "intro5.png"
/6 = "intro6.png"
/7 = "intro7.png"
/8 = "intro8.png"
/9 = "intro9.png"
</item>

<instruct>
/inputdevice = keyboard
/windowsize = (80%, 80%)
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (black)
/ finishlabel = "Press <Spacebar> to continue"
/nextkey = (57)
/nextlabel = "Press <Spacebar> to continue"
/prevkey = (28)
/prevlabel = "Press <Enter> to go back"
</instruct>

<page thankyou>
Thank you for your participation!
</page>

***************************************************************************************
*********************************************
Editable Lists
*********************************************
***************************************************************************************
Customize lists to reflect your experimental design

**********************************************************************
Lists that govern Feedback ('Co-Player') Intensity and Durations
**********************************************************************
Note:
* samples randomly with replacement one of the following feedback intensities ('co-player's choice') for
the first trial; values selected based on Bushman (1995)
<list firstfeedbackintensity>
/items = (0,0,0,0)
/replace = true
</list>

Note:
* samples randomly with replacement one of the following feedback durations ('co-player's choice') for
the first trial; values selected to mirror intensity (Bushman, 1995, did not use duration as a parameter)
<list firstfeedbackduration>
/items = (0,0,0,0)
/replace = true
</list>


Note: the following lists determine the feedback intensity (0-10) for the 3 stages of the experiment.
By default the intensities are called randomly without replacement. The values are taken from Bushman (1995).
stage 1: trials 2-5
stage 2: trials 6-30
(the first trial is separate ~ stage 0)

Note: stage 1
<list feedbackintensity1>
/items = (0, 0, 0, 0) 
/selectionmode = sequence
</list>
Alternative: / selectionmode = sequence

Note: stage 2
<list feedbackintensity2>
/items = (3, 4, 3, 9, 5, 6, 7, 1, 10, 5, 7, 9, 6, 8, 10, 3, 9, 10, 10, 3, 6, 10, 5, 8, 6)
/selectionmode = sequence
</list>
Alternative: / selectionmode = sequence



Note: the following lists determine the feedback durations (0-10) for the 3 stages of the experiment.
By default the durations are called in sequence. Values mimic intensity values (Bushman, 1995, did not
record/set duration values)
stage 1: trials 2-5
stage 2: trials 6-30
(the first trial is separate = stage 0)
<list feedbackduration1>
/items = (0, 0, 0, 0)
/selectionmode = sequence
</list>

<list feedbackduration2>
/items = (6, 5, 5, 10, 3, 4, 8, 7, 1, 4, 8, 5, 3, 2, 8, 6, 2, 8, 10, 2, 8, 1, 7, 10, 7)
/selectionmode = sequence
</list>


***********************************
Lists that govern win/loss pattern
***********************************
Note: list.win1 - list.win3 contain the outcomes (win = 1 or lose = 2) for the 3 stages of the experiment
(the last 24 trials)
-> by default, there are 4 wins and 4 losses in each stage that are called randomly without replacement
(Bushman, 1995)

-> to call the outcomes sequentially (-> Anderson & Dill, 2000) add
/selectionmode = sequence
to each list

<list win1>
/items = (1, 2, 1, 2)
/selectionmode = sequence
</list>

<list win2>
/items = (2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1)
/selectionmode = sequence
</list>



*************************************
Lists that govern trial durations
*************************************
Note: the following lists are used to determine random durations for several trials

-> how long until both "players" are ready (trial.waitforplayers)
<list wait>
/items = (100, 200, 300, 500, 3200, 5300, 13300, 18300)
/replace = true
</list>

-> how long before participant can start selecting intensities/durations (trial.start)
item list can be expanded if needed
<list randomdurations_start>
/items = (500)
/replace = true
</list>

-> how long until target turns yellow
<list randomdurations_targetwait>
/items = (0, 0, 0, 100, 200, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000)
/replace = true
</list>

-> how long target stays yellow
<list randomdurations_yellow>
/items = (500, 1000, 1500, 2000, 2500, 3000)
/replace = true
</list>

-> how long before outcome (win/loss) is revealed)
<list awaitoutcome>
/items = (100, 200, 300, 400, 500)
/replace = true
</list>
*******************************************************************************************************************
*******************************************************************************************************************
DEFAULTS
*******************************************************************************************************************
*******************************************************************************************************************
requires Inquisit 4.0.3.0

<defaults>
/minimumversion = "4.0.3.0"
/canvasaspectratio = (4,3)
/inputdevice = mouse
</defaults>

*******************************************************************************************************************
*******************************************************************************************************************
VALUES
*******************************************************************************************************************
*******************************************************************************************************************
/trialcount:               reflects the number of rounds started
/trialcount1:               reflects up the number of rounds started for stage 1 (trial 2- trial 9)
/trialcount2:               reflects up the number of rounds started for stage 2 (trial 10- trial 17)
/trialcount3:               reflects up the number of rounds started for stage 3 (trial 17- trial 25)
/feedbackintensity:            stores the current feedback intensity (intensity chosen by 'co-player')
/feedbackduration:            stores the current feedback duration (duration chosen by 'co-player')
/blastintensity:            stores the current intensity selected by participant
/blastduration :            stores the current duration selected by participant in levels (1-10)
/blastduration_ms:            stores the current selected duration in ms
/firstintensity:            stores the intensity selected for the first round/trial
/firstduration               stores the duration selected for the first roundtrial
/sum_blastintensity:         sums up all selected intensities (including first trial)
/sum_blastduration:            sums up all selected durations in ms (including first trial)
/sum_blastintensity1:         sums up all selected intensities in stage 1
/sum_blastduration1:         sums up all selected durations in ms in stage 1
/sum_blastintensity2:          sums up all selected intensities in stage 2
/sum_blastduration2:         sums up all selected durations in ms in stage 2
/sum_blastintensity3:         sums up all selected intensities in stage 3
/sum_blastduration3:         sums up all selected durations in ms in stage 1
/rt_intensity:               stores the current latency for selecting intensity
/sumrt_intensity:            sums up all the latencies for selecting intensity
/rt_duration:               stores the current latency for selecting duration
/sumrt_duration:            sums up all the latencies for selecting duration
/rt_ready:                  stores latency to select ready button
/sumrt_ready:               sums up latencies to select ready button
/rt_target:                  stores latency to press mousebutton when target turns red
/sumrt_target:               sums up all latencies for pressing mousebutton when target turns red

/startduration:               stores current duration of starttrial
/target_wait_duration:         stores the current duration of trial.target_wait
/targetyellowduration:         stores current duration of yellow target (before it turns red)
/outcomeduration:            stores current duration of outcome trial (depends on feedback or blastduration)
/awaitoutcome:               stores current wait time for outcome trial to start ('pretends' it takes two participants' latencies into account)
/timerstart:               stores the time the timer should start to alert participants that game starts soon   
/current_revealduration:      stores the duration of the current reveal trial            

/win:                     1 = participant wins; 2 = participant loses
/volume:                  records the volume with which the blast has to be delivered

********************
automatically updated
********************
<values>
/debug = 0
/trialcount =0
/trialcount1 = 0
/trialcount2 = 0
/trialcount3 = 0
/feedbackintensity = 0
/feedbackduration = 0
/blastintensity = 0
/blastduration = 0
/blastduration_ms = 0
/firstintensity = 0
/firstduration = 0
/sum_blastintensity = 0
/sum_blastduration = 0
/sum_blastintensity1 = 0
/sum_blastduration1 = 0
/sum_blastintensity2 = 0
/sum_blastduration2 = 0
/sum_blastintensity3 = 0
/sum_blastduration3 = 0
/rt_intensity = 0
/sumrt_intensity = 0
/rt_duration = 0
/sumrt_duration = 0
/rt_ready = 0
/sumrt_ready = 0
/rt_target = 0
/sumrt_target = 0

/startduration = 0
/target_wait_duration = 0
/targetyellowduration = 0
/awaitoutcome = 0
/outcomeduration = 0
/timerstart = 0
/current_revealduration = 0

/win = 0
/volume = 0
/wait = 0

</values>

*******************************************************************************************************************
*******************************************************************************************************************
EXPRESSIONS
*******************************************************************************************************************
*******************************************************************************************************************
/blastvolume:               adjusts the volume of the blast according to the currently set values.feedbackintensity
                        Note: To change adjustments edit below

/mean_blastintensity:          mean blastintensity (includes all 25 trials)
/mean_blastduration:         mean blastduration in ms (includes all 25 trials)
/mean_blastintensity1:         mean blastintensity of stage 1 (trial 2 - trial 9)
/mean_blastintensity2:         mean blastintensity of stage 2 (trial 10 - trial 17)
/mean_blastintensity3:          mean blastintensity of stage 3 (trial 18 - trial 25)
/mean_blastduration1:         mean blastduration in ms of stage 1 (trial 2 - trial 9)
/mean_blastduration2:          mean blastduration in ms of stage 2 (trial 10 - trial 17)
/mean_blastduration3:         mean blastduration in ms of stage 3 (trial 18 - trial 25)
/meanrt_intensity:            mean latency of setting intensity (includes all 25 trials)
/meanrt_duration:            mean latency of setting duration (includes all 25 trials)
/meanrt_ready:               mean latency of selecting Ready button (all trials)
/meanrt_target:               mean latenacy of pressing mouse button when target turns red (all trials)

<expressions>

/blastvolume =    if (values.feedbackintensity == 0) -10000; 
            if (values.feedbackintensity == 1) -7000;
            if (values.feedbackintensity == 2) -6500;
            if (values.feedbackintensity == 3) -6000;
            if (values.feedbackintensity == 4) -5500;
            if (values.feedbackintensity == 5) -5000;
            if (values.feedbackintensity == 6) -4000;
            if (values.feedbackintensity == 7) -3000;
            if (values.feedbackintensity == 8) -2000;
            if (values.feedbackintensity == 9) -1000;
            if (values.feedbackintensity == 10) 0;

/mean_blastintensity = values.sum_blastintensity/values.trialcount
/mean_blastduration = values.sum_blastduration/values.trialcount
/mean_blastintensity1 = values.sum_blastintensity1/values.trialcount1
/mean_blastintensity2 = values.sum_blastintensity2/values.trialcount2
/mean_blastduration1 = values.sum_blastduration1/values.trialcount1
/mean_blastduration2 = values.sum_blastduration2/values.trialcount2
/meanrt_intensity = values.sumrt_intensity/values.trialcount
/meanrt_duration = values.sumrt_duration/values.trialcount
/meanrt_ready = values.sumrt_ready/values.trialcount
/meanrt_target = values.sumrt_target / values.trialcount
</expressions>


*******************************************************************************************************************
*******************************************************************************************************************
DATA
*******************************************************************************************************************
*******************************************************************************************************************
for explanations for custom variables go to Editable Values, VALUES and/or EXPRESSIONS

********************
raw data
********************

<data>
/file = "CRTTask_rawdata.iqdat"
/separatefiles = true
/columns = [date, time, subject, blockcode, blocknum, trialcode, trialnum,
values.volume, values.win, values.outcomeduration, values.blastduration, values.blastduration_ms, values.blastintensity, values.feedbackduration, values.feedbackintensity, 
values.rt_intensity, values.rt_duration, values.rt_ready, values.rt_target]
</data>


********************
summary data
********************
<summarydata >
/file = "CRTTask_summary.iqdat"
/separatefiles = false
/columns = [script.startdate, script.starttime, script.subjectid, values.firstintensity, values.firstduration, values.max_winlatency,
expressions.mean_blastintensity, expressions.mean_blastintensity1, expressions.mean_blastintensity2, 
expressions.mean_blastduration, expressions.mean_blastduration1, expressions.mean_blastduration2,
expressions.meanrt_intensity, expressions.meanrt_duration, expressions.meanrt_ready, expressions.meanrt_target]
</summarydata>


*******************************************************************************************************************
*******************************************************************************************************************
INSTRUCTIONS
*******************************************************************************************************************
*******************************************************************************************************************

<picture instructionslides>
/items = instructionslides
/select = sequence
/position = (50%, 50%)
/size = (100%, 100%)
</picture>

<text continue>
/items = ("click to continue")
/size = (20%, 5%)
/txbgcolor = blue
/txcolor = white
/position = (80%, 90%)
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/hjustify = center
/vjustify = center
</text>

<text readytostartbutton>
/items = ("READY")
/size = (20%, 10%)
/txbgcolor = black
/txcolor = white
/position = (50%, 70%)
/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/hjustify = center
/vjustify = center
</text>

<text Startinstruct>
/items = ("Please, wait until both players are ready")
/txbgcolor = white
/txcolor = black
/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/position = (50%, 50%)
</text>

Note: demonstration blast, plays for the entire 2s
<sound demoblast>
/items = noises
/select = 1
/ playthrough = true
/volume = values.volume
</sound>

<text almostready>
/items = ("Get Ready: The Game will start in:")
/txbgcolor = white
/txcolor = black
/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/position = (50%, 70%)
</text>

Note: presents a timer 
<clock timer>
/ mode = timer
/ resetrate = block
/ txcolor = yellow
/ txbgcolor = black
/ timeout = values.timerduration
/ position = (50%, 80%)
/ format = "mm:ss"
/size = (20%, 10%)
/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
</clock>

Note: plays instruction slides one at a time
for certain instruction slides, noise blast demonstrations are played as well
<trial instruction>
/ontrialbegin = [if (trial.instruction.trialcount == 5) {values.volume = -5500; trial.instruction.insertstimulusframe(sound.demoblast, 1)}]
/ontrialbegin = [if (trial.instruction.trialcount == 6) {values.volume = -3000; trial.instruction.insertstimulusframe(sound.demoblast, 1)}]
/ontrialbegin = [if (trial.instruction.trialcount == 7) {values.volume = 0; trial.instruction.insertstimulusframe(sound.demoblast, 1)}]
/stimulusframes = [1 = instructionslides, continue]
/validresponse = (continue)
/ontrialend = [trial.instruction.resetstimulusframes()]
/ontrialend = [values.wait = list.wait.nextvalue]
/ontrialend = [values.timerstart = values.wait]
/ontrialend = [values.wait += values.timerduration]
/recorddata = false
</trial>

Note:
let's participant wait for a random period of time until other player is ready to start playing the game.
After random wait time is over, presents a timer that counts down for 10s before game starts
<trial waitforplayers>
/ontrialbegin = [trial.waitforplayers.insertstimulustime(text.almostready, values.timerstart)]
/ontrialbegin = [trial.waitforplayers.insertstimulustime(clock.timer, values.timerstart)]
/stimulustimes = [0 = startinstruct]
/timeout = values.wait
/ontrialend = [trial.waitforplayers.resetstimulusframes()]
/recorddata = false
</trial>

Note: presents the 9 instruction slides (default) in sequence and ends with a screen that lets participants  
wait for a random time for the start of the game
<block instructions>
/trials = [1-9 = instruction; 10 = waitforplayers]
</block>

*******************************************************************************************************************
*******************************************************************************************************************
STIMULI
*******************************************************************************************************************
*******************************************************************************************************************

<text yoursettings>
/items = ("Your Settings")
/hposition = 83%
/vposition = 5%
/ fontstyle = ("Arial", 3.00%, true, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/erase = false
</text>


********************************
Intensity Scale
*******************************
<text setintensity>
/items = ("Intensity")
/hposition = shape.background_intensity.hposition - 1%
/vposition = shape.background_intensity.vposition - 2%
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/halign = left
/valign = bottom
/erase = false
</text>


<shape background_intensity>
/shape = rectangle
/size = (6%, 78%)
/color = black
/position = (75%, 15%)
/halign = left
/valign = top
/erase = false
</shape>

<text 10intensity>
/items = ("10")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = shape.background_intensity.hposition + 0.5%
/vposition = shape.background_intensity.vposition + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 9intensity>
/items = ("9")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.10intensity.hposition
/vposition = text.10intensity.vposition + text.10intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 8intensity>
/items = ("8")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.9intensity.hposition
/vposition = text.9intensity.vposition + text.9intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 7intensity>
/items = ("7")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.8intensity.hposition
/vposition = text.8intensity.vposition + text.8intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 6intensity>
/items = ("6")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.7intensity.hposition
/vposition = text.7intensity.vposition + text.7intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 5intensity>
/items = ("5")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.6intensity.hposition
/vposition = text.6intensity.vposition + text.6intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 4intensity>
/items = ("4")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.5intensity.hposition
/vposition = text.5intensity.vposition + text.5intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 3intensity>
/items = ("3")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.4intensity.hposition
/vposition = text.4intensity.vposition + text.4intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 2intensity>
/items = ("2")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.3intensity.hposition
/vposition = text.3intensity.vposition + text.3intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 1intensity>
/items = ("1")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.2intensity.hposition
/vposition = text.2intensity.vposition + text.2intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 0intensity>
/items = ("0")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.1intensity.hposition
/vposition = text.1intensity.vposition + text.1intensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

********************************
Duration Scale
*******************************
<shape background_duration>
/shape = rectangle
/size = (6%, 78%)
/color = black
/hposition = shape.background_intensity.hposition + 10%
/vposition = shape.background_intensity.vposition
/halign = left
/valign = top
/erase = false
</shape>

<text 10duration>
/items = ("5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = shape.background_duration.hposition + 0.5%
/vposition = shape.background_duration.vposition + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 9duration>
/items = ("4.5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.10duration.hposition
/vposition = text.10duration.vposition + text.10duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 8duration>
/items = ("4s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.9duration.hposition
/vposition = text.9duration.vposition + text.9duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 7duration>
/items = ("3.5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.8duration.hposition
/vposition = text.8duration.vposition + text.8duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 6duration>
/items = ("3s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.7duration.hposition
/vposition = text.7duration.vposition + text.7duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 5duration>
/items = ("2.5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.6duration.hposition
/vposition = text.6duration.vposition + text.6duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 4duration>
/items = ("2s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.5duration.hposition
/vposition = text.5duration.vposition + text.5duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 3duration>
/items = ("1.5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.4duration.hposition
/vposition = text.4duration.vposition + text.4duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 2duration>
/items = ("1s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.3duration.hposition
/vposition = text.3duration.vposition + text.3duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 1duration>
/items = ("0.5s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.2duration.hposition
/vposition = text.2duration.vposition + text.2duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 0duration>
/items = ("0s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.1duration.hposition
/vposition = text.1duration.vposition + text.1duration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text setduration>
/items = ("Duration")
/hposition = shape.background_duration.hposition - 1%
/vposition = shape.background_duration.vposition - 2%
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/halign = left
/valign = bottom
/erase = false
</text>

********************************
"Feedback" Intensity Scale
*******************************
<text feedback>
/items = ("Co-Player Settings")
/hposition = 18%
/vposition = 5%
/ fontstyle = ("Arial", 3.00%, true, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/erase = false
</text>

<text setfeedbackintensity>
/items = ("Intensity")
/hposition = shape.background_fintensity.hposition - 1%
/vposition = shape.background_fintensity.vposition - 2%
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/halign = left
/valign = bottom
/erase = false
</text>

<shape background_fintensity>
/shape = rectangle
/size = (6%, 78%)
/color = black
/position = (20%, 15%)
/halign = left
/valign = top
/erase = false
</shape>

<text 10fintensity>
/items = ("10")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = shape.background_fintensity.hposition + 0.5%
/vposition = shape.background_fintensity.vposition + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 9fintensity>
/items = ("9")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.10fintensity.hposition
/vposition = text.10fintensity.vposition + text.10fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 8fintensity>
/items = ("8")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.9fintensity.hposition
/vposition = text.9fintensity.vposition + text.9fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 7fintensity>
/items = ("7")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.8fintensity.hposition
/vposition = text.8fintensity.vposition + text.8fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 6fintensity>
/items = ("6")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.7fintensity.hposition
/vposition = text.7fintensity.vposition + text.7fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 5fintensity>
/items = ("5")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.6fintensity.hposition
/vposition = text.6fintensity.vposition + text.6fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 4fintensity>
/items = ("4")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.5fintensity.hposition
/vposition = text.5fintensity.vposition + text.5fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 3fintensity>
/items = ("3")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.4fintensity.hposition
/vposition = text.4fintensity.vposition + text.4fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 2fintensity>
/items = ("2")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.3fintensity.hposition
/vposition = text.3fintensity.vposition + text.3fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 1fintensity>
/items = ("1")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.2fintensity.hposition
/vposition = text.2fintensity.vposition + text.2fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 0fintensity>
/items = ("0")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.1fintensity.hposition
/vposition = text.1fintensity.vposition + text.1fintensity.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

********************************
Feedback Duration Scale
*******************************
<shape background_fduration>
/shape = rectangle
/size = (6%, 78%)
/color = black
/hposition = shape.background_fintensity.hposition - 10%
/vposition = shape.background_fintensity.vposition
/halign = left
/valign = top
/erase = false
</shape>

<text 10fduration>
/items = ("<%values.duration10%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = shape.background_fduration.hposition + 0.5%
/vposition = shape.background_fduration.vposition + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 9fduration>
/items = ("<%values.duration9%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.10fduration.hposition
/vposition = text.10fduration.vposition + text.10fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 8fduration>
/items = ("<%values.duration8%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.9fduration.hposition
/vposition = text.9fduration.vposition + text.9fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 7fduration>
/items = ("<%values.duration7%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.8fduration.hposition
/vposition = text.8fduration.vposition + text.8fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 6fduration>
/items = ("<%values.duration6%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.7fduration.hposition
/vposition = text.7fduration.vposition + text.7fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 5fduration>
/items = ("<%values.duration5%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.6fduration.hposition
/vposition = text.6fduration.vposition + text.6fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 4fduration>
/items = ("<%values.duration4%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.5fduration.hposition
/vposition = text.5fduration.vposition + text.5fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 3fduration>
/items = ("<%values.duration3%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.4fduration.hposition
/vposition = text.4fduration.vposition + text.4fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 2fduration>
/items = ("<%values.duration2%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.3fduration.hposition
/vposition = text.3fduration.vposition + text.3fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 1fduration>
/items = ("<%values.duration1%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.2fduration.hposition
/vposition = text.2fduration.vposition + text.2fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text 0fduration>
/items = ("<%values.duration0%>s")
/txbgcolor = white
/txcolor = black
/size = (5%, 6.5%)
/hposition = text.1fduration.hposition
/vposition = text.1fduration.vposition + text.1fduration.height + 0.5%
/halign = left
/valign = top
/hjustify = center
/vjustify = center
/erase = false
</text>

<text setfeedbackduration>
/items = ("Duration")
/hposition = shape.background_fduration.hposition - 1%
/vposition = shape.background_fduration.vposition - 2%
/ fontstyle = ("Arial", 3.00%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/halign = left
/valign = bottom
/erase = false
</text>
********************************
Ready Button
********************************
<shape ready_frame>
/shape = rectangle
/size = (20%, 10%)
/color = black
/position = (50%, 80%)
/erase = false
</shape>

<text ready>
/items = ("READY")
/size = (19%, 9%)
/txbgcolor = white
/txcolor = black
/erase = false
/position = (50%, 80%)
/ fontstyle = ("Arial", 4%, false, false, false, false, 5, 1)
/hjustify = center
/vjustify = center
</text>

<shape targetframe>
/shape = rectangle
/size = (20%, 20%)
/color = black
/position = (50%, 50%)
/erase = false
</shape>

<shape target>
/shape = rectangle
/height = shape.targetframe.height - 1%
/width = shape.targetframe.width - 1%
/color = white
/hposition = shape.targetframe.hposition
/vposition = shape.targetframe.vposition
/erase = false
</shape>

<text targettext>
/items = ("TARGET")
/ fontstyle = ("Arial", 3%, false, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/hposition = 50%
/vposition = 37%
/erase = false
</text>

<picture targetinfo>
/items = ("targetcolors.png")
/position = (50%, 20%)
/size = (40%, 40%)
/erase = false
</picture>
**********************************
white noise
**********************************
<sound blast>
/items = noises
/select = 1
/ playthrough = false
/volume = values.volume
</sound>

**********************************
Rest
**********************************
<text outcome>
/items = ("You won", "You lost")
/select = values.win
/ fontstyle = ("Arial", 8%, true, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/position = (50%, 50%)
/erase = false
</text>

<text outcome2>
/items = ("Co-Player is receiving your blast")
/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/position = (50%, 65%)
/color = green
</text>

<text debug>
/items = ("<%values.blastduration%>")
/position = (50%, 50%)
</text>

*******************************************************************************************************************
*******************************************************************************************************************
LISTS
*******************************************************************************************************************
*******************************************************************************************************************
Note: list is used to determine randomly whether the participant wins (1) or loses (0) on
the first trial if and only if values.firstoutcome_predetermined = 0
<list randomwin>
/items = (1, 0)
/replace = true
</list>

*******************************************************************************************************************
*******************************************************************************************************************
TRIALS
*******************************************************************************************************************
*******************************************************************************************************************
Note:
* trial resets UI of the game
* trial presents the initial UI for a random amount of time (list.randomdurations)
* sends participants to trial.intensity
<trial start>
/ontrialbegin = [values.trialcount += 1]
/ontrialbegin = [if (values.trialcount > 1 && values.trialcount <=5) values.trialcount1 += 1]
/ontrialbegin = [if (values.trialcount > 6 && values.trialcount <=30) values.trialcount2 += 1]

/ontrialbegin = [values.startduration = list.randomdurations_start.nextvalue]
/ontrialbegin = [shape.target.color = white]
/ontrialbegin = [text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white; text.8intensity.textbgcolor = white; 
text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white; text.4intensity.textbgcolor = white; 
text.3intensity.textbgcolor = white; text.2intensity.textbgcolor = white; text.1intensity.textbgcolor = white; text.0intensity.textbgcolor = white] 
/ontrialbegin = [text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white; text.8fintensity.textbgcolor = white; 
text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white; text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = white; 
text.3fintensity.textbgcolor = white; text.2fintensity.textbgcolor = white; text.1fintensity.textbgcolor = white; text.0fintensity.textbgcolor = white] 
/ontrialbegin = [text.10duration.textbgcolor = white; text.9duration.textbgcolor = white; text.8duration.textbgcolor = white; 
text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white; text.4duration.textbgcolor = white; 
text.3duration.textbgcolor = white; text.2duration.textbgcolor = white; text.1duration.textbgcolor = white; text.0duration.textbgcolor = white] 
/ontrialbegin = [text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white; text.8fduration.textbgcolor = white; 
text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white; text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = white; 
text.3fduration.textbgcolor = white; text.2fduration.textbgcolor = white; text.1fduration.textbgcolor = white; text.0fduration.textbgcolor = white] 
/ontrialbegin = [text.outcome.textcolor = white]
/stimulusframes = [1 = targetinfo, targettext, outcome, targetframe, target, ready_frame, ready, background_intensity, setintensity, 10intensity, 9intensity, 8intensity, 7intensity, 6intensity, 5intensity,
4intensity, 3intensity, 2intensity, 1intensity, 0intensity, background_duration, setduration, 10duration, 9duration, 8duration, 7duration, 6duration, 5duration,
4duration, 3duration, 2duration, 1duration, 0duration, feedback, background_fintensity, setfeedbackintensity, 10fintensity, 9fintensity, 8fintensity, 7fintensity, 6fintensity, 5fintensity,
4fintensity, 3fintensity, 2fintensity, 1fintensity, 0fintensity, background_fduration, setfeedbackduration, 10fduration, 9fduration, 8fduration, 
7fduration, 6fduration, 5fduration, 4fduration, 3fduration, 2fduration, 1fduration, 0fduration, yoursettings]
/timeout = values.startduration
/branch = [trial.intensity]
/recorddata = false
</trial>


Note:
* target turns green and participants can set intensity by clicking on the bar (text 'intensity' turns blue to indicate which parameter to
select)
* sets the colors of the intensity bar to reflect choice
* calls trial.duration
<trial intensity>
/inputdevice = mouse

/ontrialbegin = [shape.target.color = green]
/ontrialbegin = [text.outcome.textcolor = white]
/ontrialbegin = [text.setintensity.textcolor = blue]

/stimulusframes = [1 = targetinfo, targettext, outcome, targetframe, target, ready_frame, ready, background_intensity, setintensity, 10intensity, 9intensity, 8intensity, 7intensity, 6intensity, 5intensity,
4intensity, 3intensity, 2intensity, 1intensity, 0intensity, background_duration, setduration, 10duration, 9duration, 8duration, 7duration, 6duration, 5duration,
4duration, 3duration, 2duration, 1duration, 0duration, feedback, background_fintensity, setfeedbackintensity, 10fintensity, 9fintensity, 8fintensity, 7fintensity, 6fintensity, 5fintensity,
4fintensity, 3fintensity, 2fintensity, 1fintensity, 0fintensity, background_fduration, setfeedbackduration, 10fduration, 9fduration, 8fduration, 
7fduration, 6fduration, 5fduration, 4fduration, 3fduration, 2fduration, 1fduration, 0fduration]

/validresponse = (10intensity, 9intensity, 8intensity, 7intensity, 6intensity, 5intensity,
4intensity, 3intensity, 2intensity, 1intensity, 0intensity)
/ontrialend = [if (trial.intensity.response == "10intensity") {values.blastintensity = 10; text.10intensity.textbgcolor = gray; text.9intensity.textbgcolor = gray;
text.8intensity.textbgcolor = gray; text.7intensity.textbgcolor = gray; text.6intensity.textbgcolor = gray; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "9intensity") {values.blastintensity = 9; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = gray;
text.8intensity.textbgcolor = gray; text.7intensity.textbgcolor = gray; text.6intensity.textbgcolor = gray; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "8intensity") {values.blastintensity = 8; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = gray; text.7intensity.textbgcolor = gray; text.6intensity.textbgcolor = gray; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "7intensity") {values.blastintensity = 7; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = gray; text.6intensity.textbgcolor = gray; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "6intensity") {values.blastintensity = 6; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = gray; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "5intensity") {values.blastintensity = 5; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = gray;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "4intensity") {values.blastintensity = 4; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white;
text.4intensity.textbgcolor = gray; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "3intensity") {values.blastintensity = 3; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white;
text.4intensity.textbgcolor = white; text.3intensity.textbgcolor = gray; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "2intensity") {values.blastintensity = 2; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white;
text.4intensity.textbgcolor = white; text.3intensity.textbgcolor = white; text.2intensity.textbgcolor = gray; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "1intensity") {values.blastintensity = 1; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white;
text.4intensity.textbgcolor = white; text.3intensity.textbgcolor = white; text.2intensity.textbgcolor = white; text.1intensity.textbgcolor = gray; text.0intensity.textbgcolor = gray}]
/ontrialend = [if (trial.intensity.response == "0intensity") {values.blastintensity = 0; text.10intensity.textbgcolor = white; text.9intensity.textbgcolor = white;
text.8intensity.textbgcolor = white; text.7intensity.textbgcolor = white; text.6intensity.textbgcolor = white; text.5intensity.textbgcolor = white;
text.4intensity.textbgcolor = white; text.3intensity.textbgcolor = white; text.2intensity.textbgcolor = white; text.1intensity.textbgcolor = white; text.0intensity.textbgcolor = yellow}]
/ontrialend = [values.sum_blastintensity += values.blastintensity]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 5) values.sum_blastintensity1 += values.blastintensity]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <= 30) values.sum_blastintensity2 += values.blastintensity]
/ontrialend = [if (values.trialcount == 1) values.firstintensity = values.blastintensity]
/ontrialend = [values.rt_intensity = trial.intensity.latency; values.sumrt_intensity += values.rt_intensity]
/ontrialend = [text.setintensity.textcolor = black; text.setduration.textcolor = blue]
/branch = [trial.duration]
/recorddata = false
</trial>

Note:
* intensity bar reflects the selected blast intensity
* participants can select the duration of the blast by clicking on the duration bar ('duration' is blue to indicate which parameter to set)
* trial updates color of the duration bar to reflect the current choice.
* calls trial.ready
<trial duration>
/inputdevice = mouse
/stimulusframes = [1 = background_intensity, setintensity, setduration, 10intensity, 9intensity, 8intensity, 7intensity, 6intensity, 5intensity,
4intensity, 3intensity, 2intensity, 1intensity, 0intensity, 
background_duration, 10duration, 9duration, 8duration, 7duration, 6duration, 5duration,
4duration, 3duration, 2duration, 1duration, 0duration]
/validresponse = (10duration, 9duration, 8duration, 7duration, 6duration, 5duration,
4duration, 3duration, 2duration, 1duration, 0duration)
/ontrialend = [if (trial.duration.response == "10duration") {values.blastduration = 10; text.10duration.textbgcolor = gray; text.9duration.textbgcolor = gray;
text.8duration.textbgcolor = gray; text.7duration.textbgcolor = gray; text.6duration.textbgcolor = gray; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "9duration") {values.blastduration = 9; text.10duration.textbgcolor = white; text.9duration.textbgcolor = gray;
text.8duration.textbgcolor = gray; text.7duration.textbgcolor = gray; text.6duration.textbgcolor = gray; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "8duration") {values.blastduration = 8; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = gray; text.7duration.textbgcolor = gray; text.6duration.textbgcolor = gray; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "7duration") {values.blastduration = 7; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = gray; text.6duration.textbgcolor = gray; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "6duration") {values.blastduration = 6; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = gray; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "5duration") {values.blastduration = 5; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = gray;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "4duration") {values.blastduration = 4; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white;
text.4duration.textbgcolor = gray; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "3duration") {values.blastduration = 3; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white;
text.4duration.textbgcolor = white; text.3duration.textbgcolor = gray; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "2duration") {values.blastduration = 2; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white;
text.4duration.textbgcolor = white; text.3duration.textbgcolor = white; text.2duration.textbgcolor = gray; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "1duration") {values.blastduration = 1; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white;
text.4duration.textbgcolor = white; text.3duration.textbgcolor = white; text.2duration.textbgcolor = white; text.1duration.textbgcolor = gray; text.0duration.textbgcolor = gray}]
/ontrialend = [if (trial.duration.response == "0duration") {values.blastduration = 0; text.10duration.textbgcolor = white; text.9duration.textbgcolor = white;
text.8duration.textbgcolor = white; text.7duration.textbgcolor = white; text.6duration.textbgcolor = white; text.5duration.textbgcolor = white;
text.4duration.textbgcolor = white; text.3duration.textbgcolor = white; text.2duration.textbgcolor = white; text.1duration.textbgcolor = white; text.0duration.textbgcolor = yellow}]

/ontrialend = [if (values.blastduration == 0) values.blastduration_ms = values.duration0 * 1000]
/ontrialend = [if (values.blastduration == 1) values.blastduration_ms = values.duration1 * 1000]
/ontrialend = [if (values.blastduration == 2) values.blastduration_ms = values.duration2 * 1000]
/ontrialend = [if (values.blastduration == 3) values.blastduration_ms = values.duration3 * 1000]
/ontrialend = [if (values.blastduration == 4) values.blastduration_ms = values.duration4 * 1000]
/ontrialend = [if (values.blastduration == 5) values.blastduration_ms = values.duration5 * 1000]
/ontrialend = [if (values.blastduration == 6) values.blastduration_ms = values.duration6 * 1000]
/ontrialend = [if (values.blastduration == 7) values.blastduration_ms = values.duration7 * 1000]
/ontrialend = [if (values.blastduration == 8) values.blastduration_ms = values.duration8 * 1000]
/ontrialend = [if (values.blastduration == 9) values.blastduration_ms = values.duration9 * 1000]
/ontrialend = [if (values.blastduration == 10) values.blastduration_ms = values.duration10 * 1000]

/ontrialend = [values.sum_blastduration += values.blastduration_ms]
/ontrialend = [if (values.trialcount == 1) values.firstduration = values.blastduration_ms]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 5) values.sum_blastduration1 += values.blastduration_ms]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <= 30) values.sum_blastduration2 += values.blastduration_ms]

/ontrialend = [values.rt_duration = trial.duration.latency; values.sumrt_duration += values.rt_duration]
/ontrialend = [text.setduration.textcolor = black; text.ready.textbgcolor = blue]
/branch = [trial.ready]
/recorddata = false
</trial>

Note:
* presents the ready button in blue to emphasize that the Ready button is ready to be clicked
* the duration scale is updated to reflect the current choice of the duration of the blast
* calls trial.target_yellow
<trial ready>
/inputdevice = mouse
/stimulusframes = [1 = ready, background_intensity, setduration, 10intensity, 9intensity, 8intensity, 7intensity, 6intensity, 5intensity,
4intensity, 3intensity, 2intensity, 1intensity, 0intensity, 
background_duration, 10duration, 9duration, 8duration, 7duration, 6duration, 5duration,
4duration, 3duration, 2duration, 1duration, 0duration]
/validresponse = (ready)
/ontrialend = [text.ready.textbgcolor = white]
/ontrialend = [values.rt_ready = trial.ready.latency; values.sumrt_ready += values.rt_ready]
/ontrialend = [values.target_wait_duration = list.randomdurations_targetwait.nextvalue]
/ontrialend = [values.targetyellowduration = list.randomdurations_yellow.nextvalue]
/branch = [trial.target_wait]
/recorddata = false
</trial>

Note: 
inserts a random time period before target turns yellow
<trial target_wait>
/stimulusframes = [1 = ready]
/timeout = values.target_wait_duration
/branch = [trial.target_yellow]
/recorddata = false
</trial>

Note:
* trial presents the yellow target for a random amount of time (-> list.randomdurations)
* calls trial.target_red
<trial target_yellow>
/ontrialbegin = [shape.target.color = yellow]
/stimulusframes = [1 = ready, target]
/ontrialend = [shape.target.color = red]
/ontrialend = [values.awaitoutcome = list.awaitoutcome.nextvalue]
/timeout = values.targetyellowduration
/branch = [trial.target_red]
/recorddata = false
</trial>

Note:
* presents the red target and waits for mouseclick
* determines feedbackduration and feedbackintensity (parameters set by 'co-player')
-> uses three different lists for 3 different blocks of trials (to change lists go to EDITABLE CODE-> Editable Lists)
* determines the winner
*determines the duration of trial.outcome
*calls trial.outcome after a random pretrialpause (to pretend it doesn't just react to one participant) 
<trial target_red>
/inputdevice = mouse
/stimulusframes = [1 = target]
/validresponse = (lbuttondown)
/ontrialend = [values.rt_target = trial.target_red.latency; values.sumrt_target += values.rt_target]
/ontrialend = [shape.target.color = white]
/ontrialend = [if (values.trialcount == 1) {values.feedbackduration = list.firstfeedbackduration.nextvalue; 
                                 values.feedbackintensity = list.firstfeedbackintensity.nextvalue}]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 5) values.feedbackduration = list.feedbackduration1.nextvalue]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <= 30) values.feedbackduration = list.feedbackduration2.nextvalue]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 5) values.feedbackintensity = list.feedbackintensity1.nextvalue]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <= 30) values.feedbackintensity = list.feedbackintensity2.nextvalue]


/ontrialend = [if (values.trialcount == 1 && values.firstoutcome_predetermined == 1) values.win = values.firstwin]
/ontrialend = [if (values.trialcount == 1 && values.firstoutcome_predetermined == 0) values.win = list.randomwin.nextvalue]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <=5) values.win = list.win1.nextvalue]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <=30) values.win = list.win2.nextvalue]
/ontrialend = [if (trial.target_red.latency > values.max_winlatency) values.win = 2]

/ontrialend = [if (values.win == 1 && values.blastduration == 10) values.outcomeduration = values.duration10 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 9) values.outcomeduration = values.duration9 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 8) values.outcomeduration = values.duration8 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 7) values.outcomeduration = values.duration7 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 6) values.outcomeduration = values.duration6 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 5) values.outcomeduration = values.duration5 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 4) values.outcomeduration = values.duration4 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 3) values.outcomeduration = values.duration3 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 2) values.outcomeduration = values.duration2 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 1) values.outcomeduration = values.duration1 * 1000]
/ontrialend = [if (values.win == 1 && values.blastduration == 0) values.outcomeduration = values.duration0 * 1000]

/ontrialend = [if (values.win == 2 && values.feedbackduration == 10) values.outcomeduration = values.duration10 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 9) values.outcomeduration = values.duration9 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 8) values.outcomeduration = values.duration8 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 7) values.outcomeduration = values.duration7 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 6) values.outcomeduration = values.duration6 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 5) values.outcomeduration = values.duration5 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 4) values.outcomeduration = values.duration4 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 3) values.outcomeduration = values.duration3 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 2) values.outcomeduration = values.duration2 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 1) values.outcomeduration = values.duration1 * 1000]
/ontrialend = [if (values.win == 2 && values.feedbackduration == 0) values.outcomeduration = values.duration0 * 1000]
/branch = [trial.outcome]
/recorddata = false
/posttrialpause = values.awaitoutcome
</trial>



Note:
* presents a note that reveals whether participant won (in green) or lost (in red)
* depending on several parameters and if participant lost, participant may hear the blast in 
the feedbackintensity and feedbackduration
* if participant won, the trial lasts as long as the blastduration participant had set earlier
* depending on several parameters, the participant may see the parameter settings of the co-player
* calls trial.end
<trial outcome>
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 10) {text.10fintensity.textbgcolor = gray; text.9fintensity.textbgcolor = gray;
text.8fintensity.textbgcolor = gray; text.7fintensity.textbgcolor = gray; text.6fintensity.textbgcolor = gray;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 9) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = gray;
text.8fintensity.textbgcolor = gray; text.7fintensity.textbgcolor = gray; text.6fintensity.textbgcolor = gray;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 8) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = gray; text.7fintensity.textbgcolor = gray; text.6fintensity.textbgcolor = gray;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 7) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = gray; text.6fintensity.textbgcolor = gray;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 6) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = gray;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 5) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = gray; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 4) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = gray; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 3) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = white; text.3fintensity.textbgcolor = gray;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 2) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = white; text.3fintensity.textbgcolor = white;
text.2fintensity.textbgcolor = gray; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 1) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = white; text.3fintensity.textbgcolor = white;
text.2fintensity.textbgcolor = white; text.1fintensity.textbgcolor = gray; text.0fintensity.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackintensity == 0) {text.10fintensity.textbgcolor = white; text.9fintensity.textbgcolor = white;
text.8fintensity.textbgcolor = white; text.7fintensity.textbgcolor = white; text.6fintensity.textbgcolor = white;
text.5fintensity.textbgcolor = white; text.4fintensity.textbgcolor = white; text.3fintensity.textbgcolor = white;
text.2fintensity.textbgcolor = white; text.1fintensity.textbgcolor = white; text.0fintensity.textbgcolor = yellow}]

/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 10) {text.10fduration.textbgcolor = gray; text.9fduration.textbgcolor = gray;
text.8fduration.textbgcolor = gray; text.7fduration.textbgcolor = gray; text.6fduration.textbgcolor = gray;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 9) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = gray;
text.8fduration.textbgcolor = gray; text.7fduration.textbgcolor = gray; text.6fduration.textbgcolor = gray;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 8) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = gray; text.7fduration.textbgcolor = gray; text.6fduration.textbgcolor = gray;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 7) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = gray; text.6fduration.textbgcolor = gray;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 6) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = gray;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 5) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = gray; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 4) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = gray; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 3) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = white; text.3fduration.textbgcolor = gray;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 2) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = white; text.3fduration.textbgcolor = white;
text.2fduration.textbgcolor = gray; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 1) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = white; text.3fduration.textbgcolor = white;
text.2fduration.textbgcolor = white; text.1fduration.textbgcolor = gray; text.0fduration.textbgcolor = gray}]
/ontrialbegin = [if (((values.showcoplayersettings == 1 && values.win == 2) || values.showcoplayersettings == 2) &&
values.feedbackduration == 0) {text.10fduration.textbgcolor = white; text.9fduration.textbgcolor = white;
text.8fduration.textbgcolor = white; text.7fduration.textbgcolor = white; text.6fduration.textbgcolor = white;
text.5fduration.textbgcolor = white; text.4fduration.textbgcolor = white; text.3fduration.textbgcolor = white;
text.2fduration.textbgcolor = white; text.1fduration.textbgcolor = white; text.0fduration.textbgcolor = yellow}]

/ontrialbegin = [if (values.win == 1) text.outcome.textcolor = green else text.outcome.textcolor = red]
/ontrialbegin = [values.volume = expressions.blastvolume]
/ontrialbegin = [if (values.win == 2) trial.outcome.insertstimulusframe(sound.blast, 1) else trial.outcome.insertstimulusframe(text.outcome2, 1)]
/stimulusframes = [1 = target, feedback, background_fintensity, setfeedbackintensity, 10fintensity, 9fintensity, 8fintensity, 7fintensity, 6fintensity, 5fintensity,
4fintensity, 3fintensity, 2fintensity, 1fintensity, 0fintensity, background_fduration, setfeedbackduration, 10fduration, 9fduration, 8fduration, 
7fduration, 6fduration, 5fduration, 4fduration, 3fduration, 2fduration, 1fduration, 0fduration, outcome]
/timeout = values.outcomeduration
/ontrialend = [trial.outcome.resetstimulusframes()]
/ontrialend = [values.current_revealduration = values.revealduration - values.outcomeduration]
/branch = [trial.end]
/recorddata = false
</trial>

Note:
* trial.end adds more time to study the parameters set by the co-players
(particularly for the losing party)
* lasts for a predetermined duration (values.current_revealduration)
<trial end>
/trialduration = values.current_revealduration
/recorddata = true
</trial>
*******************************************************************************************************************
*******************************************************************************************************************
BLOCKS
*******************************************************************************************************************
*******************************************************************************************************************
sets the number of trial sequences
<block CRTT>
/trials = [1-30= start]
</block>

*******************************************************************************************************************
*******************************************************************************************************************
EXPERIMENT
*******************************************************************************************************************
*******************************************************************************************************************
<expt >
/postinstructions = (thankyou)
/blocks = [1 = instructions; 2 = CRTT]
</expt>
/blocks = [1 = instructions; 2 = CRTT]
*******************************************************************************************************************
                                    End of File
*******************************************************************************************************************

Dave
Dave
Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)
Group: Administrators
Posts: 10K, Visits: 51K
#1: Could you please detail in writing the changes you made and your reasoning behind them? Code does not explain itself, particularly not if it does not do what you want it to.

#2: If you need to provide full scripts, please use the forum's file attachment facilities. Posts with 1000s of lines of syntax pasted in them are extremely hard to follow through.

Thank you.

Dave
Dave
Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)Supreme Being (782K reputation)
Group: Administrators
Posts: 10K, Visits: 51K
Briefly glancing over parts of your code with respect to

"[...] the 6th trial is supposed to be the first point where the computer aggresses (i.e. delivers a blast of noise) but when I run the script the 6th trial doesn't give aggressive feedback. All of the following trials work correctly as they appear in the script, but for some reason I can't get the 6th one to do what I want. What am I missing?[...]"

notice that your conditional logic

/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 5) values.feedbackduration = list.feedbackduration1.nextvalue]
/ontrialend = [if (values.trialcount > 6 && values.trialcount <= 30) values.feedbackduration = list.feedbackduration2.nextvalue]

throughout *excludes* the 6th trial:

(values.trialcount > 1 && values.trialcount <= 5)

defines the interval [2 to 5] inclusive

(values.trialcount > 6 && values.trialcount <= 30)

defines the interval [7 to 30] inclusive.


Edited 6 Years Ago by Dave
strugglingsenior
strugglingsenior
Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)Partner Member (914 reputation)
Group: Forum Members
Posts: 5, Visits: 22
That did the trick! Thank you
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search