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
*******************************************************************************************************************