Inquisit Slider caption briefly turns red at the end of surveypage


Author
Message
Austin
Austin
Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)Partner Member (598 reputation)
Group: Forum Members
Posts: 3, Visits: 27
Everything in my experiment is working properly, but at the very end of my single surveypage element, one of the slider's captions turns red for a brief moment before inquisit advances to the next trial. I don't understand why it's doing this. At the same time that the slider's caption turns red, every images appears to suddenly lurch to the right for a brief moment before the surveypage transitions to the next trial.




*******************************************************************************************************************
*******************************************************************************************************************
COMPETITIVE REACTION TIME TASK
*******************************************************************************************************************
*******************************************************************************************************************

BACKGROUND INFO
*******************************************************************************************************************
*******************************************************************************************************************
*SCRIPT PURPOSE*

This script implements a version of the Competitive Reaction Time Task which is based on the
Taylor Competitive Reaction Time task (Taylor, 1967). The current script incorporates features from the following studies:

Bushman, B. J. (1995). Moderating role of trait aggressiveness in the effects of violent media on aggression.
Journal of Personality and Social Psychology, 69, 950-960.

Anderson, C.A. & Dill, K.E. (2000). Video Games and Aggressive Thoughts, Feelings, and Behavior in
the Laboratory and in Life. Journal of Personality and Social Psychology, 78, 772-790.

Denson, T.F., von Hippel, W., Richard I. Kemp, R.I. & Teo, L.S. (2010). Glucose consumption decreases impulsive
aggression in response to provocation in aggressive individuals. Journal of Experimental Social Psychology, 46, 1023–1028.


*TASK*
Participants are told that they play a game with a second player (in reality the co-player is the computer).
The goal is to be faster to press the correct key when the "Press key" message is presented on screen.
The 'loser' has to endure a blast of white noise. Before the participant gets to play, she is asked to
select (1) the intensity of the blast to be delivered to co-player (0-10) and (2) the duration of the
blast to be delivered (0s-2s). The game consists of 25 rounds.


*SCRIPT SPECIFICS*

(1) EDITABLE CODE:
If you have any questions, please don't hesitate to contact asc7kc@virginia.edu

(2) EXPERIMENTAL SET-UP
1. 25 rounds/trials, preceeded by instructions and 3 practice rounds
2. The player will always win the 3 practice rounds (this could be changed)
3. There is no timeout function for the practice trials, but there is a timeout function for the actual trials

(3) TRIAL SET-UP
25 trials = 25 trial sequences

1. surveypage.start
Presents the UI of the game; allows the user to set their blast intensity and blast duration levels before clicking the ready button
2. trial.waiting for opponent
This trial is randomly called (sometimes it appears and sometimes it doesn't) This trial attempts to mimic the time it would take for an opponent to choose
their own blast intensity and blast duration levels to send to the player
3. trial.countdown
Presents the countdown clock to the user, and then branches to the correct action trial depending on the count of the countdown clock
4. trial.1 etc.
Follows the countdown trial. Presents the user with a message about which key they should press in order to hit the opponent with a sound blast. If
their response time is greater than the maxwinlatency value, they automatically lose. Otherwise if they respond quickly enough, a win value is selected from a
list that determines whether they win or not
5. trial.update
This trial doesn't have any visual stimuli. It only exists to update values that will matter for the next trial
6. trial.end
Informs the user about whether they won or lost. If they won, they see both their sound levels and their opponent's sound levels, but hear no blast. If the lose,
they will still see both their levels and their opponents levels, but they will also here a sound blast
7. trial.last
Looks exactly the same as trial.end, but this trial doesn't have any sound stimuli. Essentailly, this trial stops the sound from being played any longer than
it's assigned duartion.
8. trial.final
Records the data for the given round of trials

(4) INTENSITY SETTINGS
1) Intensity is set by selecting a level 0-10 of an Intensity slider.
2) The audio file that delivers the blast in this script was created in Audacity: White noise with Amplitude 1, 2s long
3) the volume of the audio file is adjusted in Inquisit

(5) DURATION SETTINGS
1) Duration is set by selecting a level 0-10 of a Duration slider.
2) The specific durations used for each level can be set in Inquisit

(6) INSTRUCTIONS
Instructions are modelled based on Bushman (1995)

(7) DATA
see DATA for a complete list of variables stored in the data set. Customize for a better fit.
This script computes blastintensity and duration separately (as well as overall) for
- stage 0 (first trial; Denson et al (2010) used first trial aggression as main DV)
- stage 1 (trial 2-9)
- stage 2 (trial 10-17)
- stage 3 (trial 18-25)

Notes: the user always wins the 3 instruction trials (this could be changed)

*******************************************************************************************************************
*******************************************************************************************************************
INSTRUCTIONS
<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"
/10 = "intro10.png"
/11 = "intro11.png"
/12 = "intro12.png"
/13 = "intro13.png"
/14 = "intro14.png"
</item>

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

<picture intro14>
/items= ("intro14.png")
/position = (50%, 50%)
/size = (100%, 100%)
</picture>

<video loadingGif>
/ items = load
/ playthrough = false
/loop = true
/ select = sequence
/position = (50%, 45%)
</video>

<item load>
/ 1 = "loading2.gif"
</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>

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

<text Startinstruct>
/items = ("")
/txbgcolor = white
/txcolor = black
/ fontstyle = ("Arial", 5%, false, false, false, false, 5, 1)
/position = (50%, 50%)
</text>

<text upText>
/items = (" First, you will play three practice rounds. ~nAfter you have completed these practice rounds, you will be matched with an opponent.
")
/halign = center
</text>

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

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

<text downText>
/items = ("Now you will be matched with an opponent.")
</text>

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

<text loadmessage>
/items = ("Loading")
/position = (50%, 60%)
/size = (20%,20%)
</text>

<trial loadTrial>
/stimulusframes = [1=loadingGif, loadmessage]
/recorddata = false
/validresponse = (noresponse)
/timeout = 5000
</trial>

<trial intro14>
/ stimulusframes = [1=intro14, cont]
/ validresponse = (continue)
/recorddata = false
</trial>

<trial up>
/inputdevice = mouse
/stimulusframes = [1 = upText, cont]
/validresponse = (cont)
/showmousecursor = true
/response = free
/recorddata = false
</trial>

<trial down>
/inputdevice = mouse
/stimulusframes = [1=downText, cont]
/validresponse = (cont)
/showmousecursor = true
/response = free
/recorddata = false
</trial>

*******************************************************************************************************************
*******************************************************************************************************************
STIMULI
<picture CRTstart>
/items = ("CRTstart.png")
</picture>

<picture CRTuserwin>
/items = ("CRTuserwin.png")
</picture>

<picture CRToppwin>
/items = ("CRToppwin.png")
</picture>

<picture oppintslider0>
/items = ("slider0.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider1>
/items = ("slider1.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider2>
/items = ("slider2.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider3>
/items = ("slider3.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider4>
/items = ("slider4.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider5>
/items = ("slider5.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider6>
/items = ("slider6.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider7>
/items = ("slider7.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider8>
/items = ("slider8.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider9>
/items = ("slider9.png")
/position = (6.1%, 62%)
</picture>
<picture oppintslider10>
/items = ("slider10.png")
/position = (6.1%, 62%)
</picture>

<picture oppdurslider0>
/items = ("slider0.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider1>
/items = ("slider1.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider2>
/items = ("slider2.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider3>
/items = ("slider3.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider4>
/items = ("slider4.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider5>
/items = ("slider5.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider6>
/items = ("slider6.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider7>
/items = ("slider7.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider8>
/items = ("slider8.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider9>
/items = ("slider9.png")
/position = (21.1%, 62%)
</picture>
<picture oppdurslider10>
/items = ("slider10.png")
/position = (21.1%, 62%)
</picture>

<picture usrdurslider0>
/items = ("slider0.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider1>
/items = ("slider1.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider2>
/items = ("slider2.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider3>
/items = ("slider3.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider4>
/items = ("slider4.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider5>
/items = ("slider5.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider6>
/items = ("slider6.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider7>
/items = ("slider7.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider8>
/items = ("slider8.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider9>
/items = ("slider9.png")
/position = (88.1%, 62%)
</picture>
<picture usrdurslider10>
/items = ("slider10.png")
/position = (88.1%, 62%)
</picture>

<picture usrintslider0>
/items = ("slider0.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider1>
/items = ("slider1.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider2>
/items = ("slider2.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider3>
/items = ("slider3.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider4>
/items = ("slider4.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider5>
/items = ("slider5.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider6>
/items = ("slider6.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider7>
/items = ("slider7.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider8>
/items = ("slider8.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider9>
/items = ("slider9.png")
/position = (73.1%, 62%)
</picture>
<picture usrintslider10>
/items = ("slider10.png")
/position = (73.1%, 62%)
</picture>

<slider userIntensity>
/ caption = " Blast~nIntensity"
/txcolor = black
/ fontstyle = ("Arial", 3%)
/ labels = ("10", "9", "8", "7", "6", "5", "4", "3", "2", "1", "0")
/ range = (0,10)
/ validresponse = ("0","1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
/ orientation = vertical
/ responsefontstyle = ("Arial", 2%)
/ slidersize = (3.5%,55%)
/ position = (72%, 25%)
/ defaultresponse = ("0")
/showticks = false
</slider>

<slider userDuration>
/ caption = " Blast~nDuration"
/txcolor = black
/ fontstyle = ("Arial", 3%)
/ labels = ("2.0 s", "1.8 s", "1.6 s", "1.4 s", "1.2 s", "1.0 s", "0.8 s", "0.6 s", "0.4 s", "0.2 s", "0.0 s")
/ range = (0,10)
/ validresponse = ("0.0 s", "0.2 s", "0.4 s", "0.6 s", "0.8 s", "1.0 s", "1.2 s", "1.4 s", "1.6 s", "1.8 s", "2.0 s")
/ orientation = vertical
/ responsefontstyle = ("Arial", 2%)
/ slidersize = (3%, 55%)
/ position = (87%, 25%)
/ defaultresponse = ("0")
/showticks = false
</slider>

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

<sound blast>
/items = noises
/select = 1
/playthrough = false
/volume = values.volume
</sound>

<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 = ("Your opponent is receiving your blast!")
/ fontstyle = ("Arial", 3%, true, false, false, false, 5, 1)
/ txcolor = (0, 0, 0)
/position = (50%, 65%)
/color = green
</text>

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

<shape white>
/shape = rectangle
/color = white
/size = (100%,100%)
/position = (50%,50%)
</shape>

<text waitingForOpponent>
/items = ("Opponent is not ready")
/position = (47%, 50%)
/fontstyle = ("Arial", 5%)
</text>

<text syncing>
/items = ("Matching with opponent")
/position = (47%, 50%)
/fontstyle = ("Arial", 5%)
</text>

<video wodots>
/ items = vid
/ playthrough = false
/ select = sequence
/ loop = true
/position = (75%, 51%)
</video>
<item vid>
/ 1 = "Five.gif"
</item>

Order of "random" buttons: 1, z, p, a, t, y, q, z, 9, x, p, 2, 0, p, b, y, q, 6, n, 8, 3, b, i, v, f, 7, k, 1
<text practice1>
/items = ("Press 1")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text practice2>
/items = ("Press z")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text practice3>
/items = ("Press p")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 1>
/items = ("Press a")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 2>
/items = ("Press t")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 3>
/items = ("Press y")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 4>
/items = ("Press q")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 5>
/items = ("Press z")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 6>
/items = ("Press 9")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 7>
/items = ("Press x")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 8>
/items = ("Press p")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 9>
/items = ("Press 2")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 10>
/items = ("Press 0")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 11>
/items = ("Press p")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 12>
/items = ("Press b")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 13>
/items = ("Press y")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 14>
/items = ("Press q")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 15>
/items = ("Press 6")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 16>
/items = ("Press n")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 17>
/items = ("Press 8")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 18>
/items = ("Press 3")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 19>
/items = ("Press b")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 20>
/items = ("Press i")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 21>
/items = ("Press v")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 22>
/items = ("Press f")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 23>
/items = ("Press 7")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 24>
/items = ("Press k")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>
<text 25>
/items = ("Press 1")
/fontstyle = ("Arial", 10%, false, false, false, false, 5, 1)
/position = (50%,50%)
</text>

************************************************************************************LISTS************************************************************************************

You can either set the waiting for opponent message to randomly appear using /selectionmode = random or you can specify a sequence of instances when the
"waiting for opponent" message would appear (In which case it would make sense to have a total of 25 elements in the /item attribute and use /selectionmode = sequence
<list waitingForOpponent>
/items = (3000, 1000, 0, 0)
/selectionmode = random
/replace = true
</list>

Can set the countdown timer to always play for 3 seconds (/items = 3000),
or can randomly or sequentially select durations for the timer based on the /items attribute
<list timerduration>
/items = (3000)
/replace = true
</list>

**********************************************************************
Lists that govern Feedback ('Co-Player') Intensity and Durations
**********************************************************************
<list wait>
/items = (100, 200, 300, 500, 3200, 5300, 13300, 18300)
/replace = true
</list>

<list randomwin>
/items = (1, 0)
/replace = true
</list>

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 = (1, 2, 3, 4)
/replace = true
</list>

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 = (1, 2, 3, 4)
/replace = true
</list>

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-9
stage 2: trials 10-17
stage 3: trials 18-25
(the first trial is separate ~ stage 0)

Stage 1
<list feedbackintensity1>
/items = (1, 1, 2, 2, 3, 3, 4, 4)
/replace = false
</list>
Alternative: / selectionmode = sequence

Stage 2
<list feedbackintensity2>
/items = (4, 4, 5, 5, 6, 6, 7, 7)
/replace = false
</list>
Alternative: / selectionmode = sequence

Stage 3
<list feedbackintensity3>
/items = (7, 7, 8, 8, 9, 9, 10, 10)
/replace = false
</list>
Alternative: / selectionmode = sequence

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-9
stage 2: trials 10-17
stage 3: trials 18-25
(the first trial is separate = stage 0)
<list feedbackduration1>
/items = (1, 1, 2, 2, 3, 3, 4, 4)
/replace = false
</list>

<list feedbackduration2>
/items = (4, 4, 5, 5, 6, 6, 7, 7)
/replace = false
</list>

<list feedbackduration3>
/items = (7, 7, 8, 8, 9, 9, 10, 10)
/replace = false
</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, 1, 2, 1, 2)
/replace = false
</list>

<list win2>
/items = (1, 2, 1, 2, 1, 2, 1, 2)
/replace = false
</list>

<list win3>
/items = (1, 2, 1, 2, 1, 2, 1, 2)
/replace = false
</list>

***************************************************************************VALUES and EXPRESSIONS***********************************************************************
/trialcount = 0
/countdownCount = -3
<values>
/timerselection = 1
/countdownCount = -3
/trialcount = 0
/endCount = 0
/lastuserduration = 0
/lastuserintensity = 0
/opponentintensity = 0
/opponentduration = 0
/actiontimeout = 2000

/revealduration = 4000
/firstoutcome_predetermined = 1
/firstwin = 1
/max_winlatency = 1200
/timerduration = 10000
/duration0 = 0
/duration1 = 0.5
/duration2 = 0.67
/duration3 = 0.83
/duration4 = 1
/duration5 = 1.17
/duration6 = 1.33
/duration7 = 1.5
/duration8 = 1.67
/duration9 = 1.83
/duration10 = 2

/completed = 0
/debug = 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_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>
Removed:
/rt_intensity = 0
/rt_duration = 0
/sumrt_intensity = 0
/sumrt_duration = 0

<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_blastintensity3 = values.sum_blastintensity3/values.trialcount3
/mean_blastduration1 = values.sum_blastduration1/values.trialcount1
/mean_blastduration2 = values.sum_blastduration2/values.trialcount2
/mean_blastduration3 = values.sum_blastduration3/values.trialcount3
/meanrt_ready = values.sumrt_ready/values.trialcount
/meanrt_target = values.sumrt_target / values.trialcount
</expressions>
Removed:
/meanrt_intensity = values.sumrt_intensity/values.trialcount
/meanrt_duration = values.sumrt_duration/values.trialcount

*******************************************************************************************************************
*******************************************************************************************************************
TRIALS AND SURVEYPAGES
NOTE: Based on the values.trialcount, it is possible to determine which trials will branch to the "Waiting for Opponent message"
<surveypage start>
/ontrialbegin = [values.trialcount += 1]
/questions = [1=userIntensity;2=userDuration]
/stimulusframes = [1 = CRTstart, oppdurslider0, oppintslider0]
/response = anyresponse
/finishlabel = "READY"
/navigationbuttonsize = (20%,10%)
/nextbuttonposition = (40%,77%)
/showbackbutton = false
/showquestionnumbers = false
/showpagenumbers = false
/recorddata = false
/branch = [trial.waitingforopponent]

/ontrialbegin = [surveypage.start.rightmargin=0; surveypage.start.leftmargin=0]
/ontrialend = [values.lastuserduration = slider.userduration.response; values.lastuserintensity = slider.userintensity.response]

/ontrialbegin = [if (values.trialcount > 1 && values.trialcount <=9) values.trialcount1 += 1]
/ontrialbegin = [if (values.trialcount > 9 && values.trialcount <=17) values.trialcount2 += 1]
/ontrialbegin = [if (values.trialcount > 17 && values.trialcount <=25) values.trialcount3 += 1]

/ontrialend = [if (slider.userintensity.response == "10") values.blastintensity = 10; if (slider.userintensity.response == "9") values.blastintensity = 9;
if (slider.userintensity.response == "8") values.blastintensity = 8; if (slider.userintensity.response == "7") values.blastintensity = 7;
if (slider.userintensity.response == "6") values.blastintensity = 6; if (slider.userintensity.response == "5") values.blastintensity = 5;
if (slider.userintensity.response == "4") values.blastintensity = 4; if (slider.userintensity.response == "3") values.blastintensity = 3;
if (slider.userintensity.response == "2") values.blastintensity = 2; if (slider.userintensity.response == "1") values.blastintensity = 1;
if (slider.userintensity.response == "0") values.blastintensity = 0]
/ontrialend = [if (slider.userduration.response == "10") values.blastduration = 10; if (slider.userduration.response == "9") values.blastduration = 9;
if (slider.userduration.response == "8") values.blastduration = 8; if (slider.userduration.response == "7") values.blastduration = 7;
if (slider.userduration.response == "6") values.blastduration = 6; if (slider.userduration.response == "5") values.blastduration = 5;
if (slider.userduration.response == "4") values.blastduration = 4; if (slider.userduration.response == "3") values.blastduration = 3;
if (slider.userduration.response == "2") values.blastduration = 2; if (slider.userduration.response == "1") values.blastduration = 1;
if (slider.userduration.response == "0") values.blastduration = 0]

/ontrialend = [values.sum_blastintensity += values.blastintensity]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 9) values.sum_blastintensity1 += values.blastintensity]
/ontrialend = [if (values.trialcount > 9 && values.trialcount <= 17) values.sum_blastintensity2 += values.blastintensity]
/ontrialend = [if (values.trialcount > 17 && values.trialcount <= 25) values.sum_blastintensity3 += values.blastintensity]
/ontrialend = [if (values.trialcount == 1) values.firstintensity = values.blastintensity]

/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 <= 9) values.sum_blastduration1 += values.blastduration_ms]
/ontrialend = [if (values.trialcount > 9 && values.trialcount <= 17) values.sum_blastduration2 += values.blastduration_ms]
/ontrialend = [if (values.trialcount > 17 && values.trialcount <= 25) values.sum_blastduration3 += values.blastduration_ms]
/ontrialend = [values.rt_ready = surveypage.start.latency; values.sumrt_ready += values.rt_ready]

/ontrialend = [if (values.trialcount == 1) {values.feedbackduration = list.firstfeedbackduration.nextvalue;
values.feedbackintensity = list.firstfeedbackintensity.nextvalue}]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 9) values.feedbackduration = list.feedbackduration1.nextvalue]
/ontrialend = [if (values.trialcount > 9 && values.trialcount <= 17) values.feedbackduration = list.feedbackduration2.nextvalue]
/ontrialend = [if (values.trialcount > 17 && values.trialcount <= 25) values.feedbackduration = list.feedbackduration3.nextvalue]
/ontrialend = [if (values.trialcount > 1 && values.trialcount <= 9) values.feedbackintensity = list.feedbackintensity1.nextvalue]
/ontrialend = [if (values.trialcount > 9 && values.trialcount <= 17) values.feedbackintensity = list.feedbackintensity2.nextvalue]
/ontrialend = [if (values.trialcount > 17 && values.trialcount <= 25) values.feedbackintensity = list.feedbackintensity3.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 <=9) values.win = list.win1.nextvalue]
/ontrialend = [if (values.trialcount > 9 && values.trialcount <=17) values.win = list.win2.nextvalue]
/ontrialend = [if (values.trialcount > 17 && values.trialcount <=25) values.win = list.win3.nextvalue]
</surveypage>

This surveypage exists only for the practice rounds. Unlike the real start surveypage, it doesn't increment the trialcoutn by one, which is a critical value
for determing what happens in later trials
<surveypage start2>
/questions = [1=userIntensity;2=userDuration]
/stimulusframes = [1=CRTstart, oppdurslider0, oppintslider0]
/response = anyresponse
/finishlabel = "READY"
/navigationbuttonsize = (20%,10%)
/nextbuttonposition = (40%,77%)
/showbackbutton = false
/showquestionnumbers = false
/showpagenumbers = false
/recorddata = false
/branch = [trial.countdown]
/ontrialbegin = [surveypage.start2.rightmargin=0; surveypage.start2.leftmargin=0]
/ontrialend = [values.lastuserduration = slider.userduration.response; values.lastuserintensity = slider.userintensity.response]
/ontrialend = [if (slider.userintensity.response == "10") values.blastintensity = 10; if (slider.userintensity.response == "9") values.blastintensity = 9;
if (slider.userintensity.response == "8") values.blastintensity = 8; if (slider.userintensity.response == "7") values.blastintensity = 7;
if (slider.userintensity.response == "6") values.blastintensity = 6; if (slider.userintensity.response == "5") values.blastintensity = 5;
if (slider.userintensity.response == "4") values.blastintensity = 4; if (slider.userintensity.response == "3") values.blastintensity = 3;
if (slider.userintensity.response == "2") values.blastintensity = 2; if (slider.userintensity.response == "1") values.blastintensity = 1;
if (slider.userintensity.response == "0") values.blastintensity = 0]
/ontrialend = [if (slider.userduration.response == "10") values.blastduration = 10; if (slider.userduration.response == "9") values.blastduration = 9;
if (slider.userduration.response == "8") values.blastduration = 8; if (slider.userduration.response == "7") values.blastduration = 7;
if (slider.userduration.response == "6") values.blastduration = 6; if (slider.userduration.response == "5") values.blastduration = 5;
if (slider.userduration.response == "4") values.blastduration = 4; if (slider.userduration.response == "3") values.blastduration = 3;
if (slider.userduration.response == "2") values.blastduration = 2; if (slider.userduration.response == "1") values.blastduration = 1;
if (slider.userduration.response == "0") values.blastduration = 0]
/ontrialend = [if (values.trialcount == 0) values.firstintensity = values.blastintensity]
/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 = [if (values.trialcount == 0) values.firstduration = values.blastduration_ms]
/ontrialend = [if (values.trialcount == 0) {values.feedbackduration = list.firstfeedbackduration.nextvalue;
values.feedbackintensity = list.firstfeedbackintensity.nextvalue}]
/ontrialbegin = [values.win = 1]
</surveypage>

<trial waitingForOpponent>
/ontrialend = [trial.waitingforopponent.resetstimulusframes()]
/stimulustimes = [1 = white]
/ontrialbegin = [if (list.waitingforopponent.nextvalue != 0) trial.waitingforopponent.insertstimulusframe(text.waitingforopponent, 1)]
/ontrialbegin = [if (list.waitingforopponent.nextvalue != 0) trial.waitingforopponent.insertstimulusframe(video.wodots, 1)]
/timeout = list.waitingforopponent.nextvalue
/recorddata = false
/branch = [trial.countdown]
</trial>

<trial waitingForOpponenttest>
/stimulustimes = [1 = white, syncing, wodots]
/timeout = 7000
/recorddata = false
</trial>

Add values.timerselection += 1 to the /ontrialbegin attribute if you want to vary the countdown timer (I don't see why you would)
<trial countdown>
/ontrialbegin = [values.countdowncount += 1]
/stimulusframes = [1=white, timer]
/recorddata = false
/ontrialend = [clock.timer.resettime()]
/branch = [if (values.countdowncount == -2) trial.practice1; if (values.countdowncount == -1) trial.practice2; if (values.countdowncount == 0) trial.practice3; if (values.countdownCount == 1) trial.1; if (values.countdowncount == 2) trial.2; if (values.countdowncount == 3) trial.3;
if (values.countdowncount == 4) trial.4; if (values.countdowncount == 5) trial.5; if (values.countdownCount == 6) trial.6; if (values.countdowncount == 7) trial.7;
if (values.countdowncount == 8) trial.8;if (values.countdowncount == 9) trial.9; if (values.countdowncount == 10) trial.10; if (values.countdownCount == 11) trial.11;
if (values.countdowncount == 12) trial.12; if (values.countdowncount == 13) trial.13; if (values.countdowncount == 14) trial.14; if (values.countdowncount == 15) trial.15;
if (values.countdownCount == 16) trial.16; if (values.countdowncount == 17) trial.17; if (values.countdowncount == 18) trial.18;if (values.countdowncount == 19) trial.19;
if (values.countdowncount == 20) trial.20; if (values.countdowncount == 21) trial.21; if (values.countdowncount == 22) trial.22;
if (values.countdowncount == 23) trial.23; if (values.countdowncount == 24) trial.24; if (values.countdowncount == 25) trial.25;]
/timeout = 3000
</trial>

Order of "random" buttons: 1, z, p, a, t, y, q, z, 9, x, p, 2, 0, p, b, y, q, 6, n, 8, 3, b, i, v, f, 7, k, 1
<trial practice1>
/stimulusframes = [1=white, practice1]
/validresponse = ("1")
/branch = [trial.update]
/recorddata = false
</trial>
<trial practice2>
/stimulusframes = [1=white, practice2]
/validresponse = ("z")
/branch = [trial.update]
/recorddata = false
</trial>
<trial practice3>
/stimulusframes = [1=white, practice3]
/validresponse = ("p")
/branch = [trial.update]
/recorddata = false
</trial>

<trial 1>
/stimulusframes = [1=white, 1]
/validresponse = ("a")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.1.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.1.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 2>
/stimulusframes = [1=white, 2]
/validresponse = ("t")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.2.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.2.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 3>
/stimulusframes = [1=white, 3]
/validresponse = ("y")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.3.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.3.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 4>
/stimulusframes = [1=white, 4]
/validresponse = ("q")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.4.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.4.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 5>
/stimulusframes = [1=white, 5]
/validresponse = ("z")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.5.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.5.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 6>
/stimulusframes = [1=white, 6]
/validresponse = ("9")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.6.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.6.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 7>
/stimulusframes = [1=white, 7]
/validresponse = ("x")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.7.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.7.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 8>
/stimulusframes = [1=white, 8]
/validresponse = ("p")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.8.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.8.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 9>
/stimulusframes = [1=white, 9]
/validresponse = ("2")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.9.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.9.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 10>
/stimulusframes = [1=white, 10]
/validresponse = ("0")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.10.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.10.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 11>
/stimulusframes = [1=white, 11]
/validresponse = ("p")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.11.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.11.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 12>
/stimulusframes = [1=white, 12]
/validresponse = ("b")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.12.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.12.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 13>
/stimulusframes = [1=white, 13]
/validresponse = ("y")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.13.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.13.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 14>
/stimulusframes = [1=white, 14]
/validresponse = ("q")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.14.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.14.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 15>
/stimulusframes = [1=white, 15]
/validresponse = ("6")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.15.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.15.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 16>
/stimulusframes = [1=white, 16]
/validresponse = ("n")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.16.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.16.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 17>
/stimulusframes = [1=white, 17]
/validresponse = ("8")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.17.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.17.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 18>
/stimulusframes = [1=white, 18]
/validresponse = ("3")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.18.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.18.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 19>
/stimulusframes = [1=white, 19]
/validresponse = ("b")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.19.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.19.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 20>
/stimulusframes = [1=white, 20]
/validresponse = ("i")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.20.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.20.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 21>
/stimulusframes = [1=white, 21]
/validresponse = ("v")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.21.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.21.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 22>
/stimulusframes = [1=white, 22]
/validresponse = ("f")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.22.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.22.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 23>
/stimulusframes = [1=white, 23]
/validresponse = ("7")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.23.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.23.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 24>
/stimulusframes = [1=white, 24]
/validresponse = ("k")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.24.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.24.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>
<trial 25>
/stimulusframes = [1=white, 25]
/validresponse = ("1")
/branch = [trial.update]
/ontrialend = [values.rt_target = trial.25.latency; values.sumrt_target += values.rt_target]
/ontrialend = [if (trial.25.latency > values.max_winlatency) values.win = 2]
/recorddata = false
/timeout = values.actiontimeout
</trial>

The only purpose of this trial is to update values between the response trial and the end surveypage
<trial update>
/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]
/timeout = 1
/branch = [trial.end]
/recorddata = false
</trial>

<trial end>
/stimulusframes = [2=outcome]
/ontrialbegin = [if (values.win == 1) text.outcome.textcolor = green]
/ontrialbegin = [if (values.win == 1) trial.end.insertstimulusframe(picture.crtuserwin, 1)]
/ontrialbegin = [if (values.win == 2) trial.end.insertstimulusframe(picture.crtoppwin, 1)]

/ontrialbegin = [if (values.win == 2) text.outcome.textcolor = red]
/ontrialbegin = [if (values.win == 2) trial.end.insertstimulusframe(sound.blast, 2) else trial.end.insertstimulusframe(text.outcome2, 2)]

/ontrialbegin = [if (values.feedbackintensity == 10) {values.opponentintensity = 10; trial.end.insertstimulusframe(picture.oppintslider10, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 9) {values.opponentintensity = 9; trial.end.insertstimulusframe(picture.oppintslider9, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 8) {values.opponentintensity = 8; trial.end.insertstimulusframe(picture.oppintslider8, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 7) {values.opponentintensity = 7; trial.end.insertstimulusframe(picture.oppintslider7, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 6) {values.opponentintensity = 6; trial.end.insertstimulusframe(picture.oppintslider6, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 5) {values.opponentintensity = 5; trial.end.insertstimulusframe(picture.oppintslider5, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 4) {values.opponentintensity = 4; trial.end.insertstimulusframe(picture.oppintslider4, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 3) {values.opponentintensity = 3; trial.end.insertstimulusframe(picture.oppintslider3, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 2) {values.opponentintensity = 2; trial.end.insertstimulusframe(picture.oppintslider2, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 1) {values.opponentintensity = 1; trial.end.insertstimulusframe(picture.oppintslider1, 1)}]
/ontrialbegin = [if (values.feedbackintensity == 0) {values.opponentintensity = 0; trial.end.insertstimulusframe(picture.oppintslider0, 1)}]

/ontrialbegin = [if (values.feedbackduration == 10) {values.opponentduration = 10; trial.end.insertstimulusframe(picture.oppdurslider10, 1)}]
/ontrialbegin = [if (values.feedbackduration == 9) {values.opponentduration = 9; trial.end.insertstimulusframe(picture.oppdurslider9, 1)}]
/ontrialbegin = [if (values.feedbackduration == 8) {values.opponentduration = 8; trial.end.insertstimulusframe(picture.oppdurslider8, 1)}]
/ontrialbegin = [if (values.feedbackduration == 7) {values.opponentduration = 7; trial.end.insertstimulusframe(picture.oppdurslider7, 1)}]
/ontrialbegin = [if (values.feedbackduration == 6) {values.opponentduration = 6; trial.end.insertstimulusframe(picture.oppdurslider6, 1)}]
/ontrialbegin = [if (values.feedbackduration == 5) {values.opponentduration = 5; trial.end.insertstimulusframe(picture.oppdurslider5, 1)}]
/ontrialbegin = [if (values.feedbackduration == 4) {values.opponentduration = 4; trial.end.insertstimulusframe(picture.oppdurslider4, 1)}]
/ontrialbegin = [if (values.feedbackduration == 3) {values.opponentduration = 3; trial.end.insertstimulusframe(picture.oppdurslider3, 1)}]
/ontrialbegin = [if (values.feedbackduration == 2) {values.opponentduration = 2; trial.end.insertstimulusframe(picture.oppdurslider2, 1)}]
/ontrialbegin = [if (values.feedbackduration == 1) {values.opponentduration = 1; trial.end.insertstimulusframe(picture.oppdurslider1, 1)}]
/ontrialbegin = [if (values.feedbackduration == 0) {values.opponentduration = 0; trial.end.insertstimulusframe(picture.oppdurslider0, 1)}]

/ontrialbegin = [if (values.blastintensity == 10) trial.end.insertstimulusframe(picture.usrintslider10, 1)]
/ontrialbegin = [if (values.blastintensity == 9) trial.end.insertstimulusframe(picture.usrintslider9, 1)]
/ontrialbegin = [if (values.blastintensity == 8) trial.end.insertstimulusframe(picture.usrintslider8, 1)]
/ontrialbegin = [if (values.blastintensity == 7) trial.end.insertstimulusframe(picture.usrintslider7, 1)]
/ontrialbegin = [if (values.blastintensity == 6) trial.end.insertstimulusframe(picture.usrintslider6, 1)]
/ontrialbegin = [if (values.blastintensity == 5) trial.end.insertstimulusframe(picture.usrintslider5, 1)]
/ontrialbegin = [if (values.blastintensity == 4) trial.end.insertstimulusframe(picture.usrintslider4, 1)]
/ontrialbegin = [if (values.blastintensity == 3) trial.end.insertstimulusframe(picture.usrintslider3, 1)]
/ontrialbegin = [if (values.blastintensity == 2) trial.end.insertstimulusframe(picture.usrintslider2, 1)]
/ontrialbegin = [if (values.blastintensity == 1) trial.end.insertstimulusframe(picture.usrintslider1, 1)]
/ontrialbegin = [if (values.blastintensity == 0) trial.end.insertstimulusframe(picture.usrintslider0, 1)]

/ontrialbegin = [if (values.blastduration == 10) trial.end.insertstimulusframe(picture.usrdurslider10, 1)]
/ontrialbegin = [if (values.blastduration == 9) trial.end.insertstimulusframe(picture.usrdurslider9, 1)]
/ontrialbegin = [if (values.blastduration == 8) trial.end.insertstimulusframe(picture.usrdurslider8, 1)]
/ontrialbegin = [if (values.blastduration == 7) trial.end.insertstimulusframe(picture.usrdurslider7, 1)]
/ontrialbegin = [if (values.blastduration == 6) trial.end.insertstimulusframe(picture.usrdurslider6, 1)]
/ontrialbegin = [if (values.blastduration == 5) trial.end.insertstimulusframe(picture.usrdurslider5, 1)]
/ontrialbegin = [if (values.blastduration == 4) trial.end.insertstimulusframe(picture.usrdurslider4, 1)]
/ontrialbegin = [if (values.blastduration == 3) trial.end.insertstimulusframe(picture.usrdurslider3, 1)]
/ontrialbegin = [if (values.blastduration == 2) trial.end.insertstimulusframe(picture.usrdurslider2, 1)]
/ontrialbegin = [if (values.blastduration == 1) trial.end.insertstimulusframe(picture.usrdurslider1, 1)]
/ontrialbegin = [if (values.blastduration == 0) trial.end.insertstimulusframe(picture.usrdurslider0, 1)]

/response = correct
/recorddata = false
/ontrialbegin = [values.volume = expressions.blastvolume]
/timeout = values.outcomeduration
/ontrialend = [trial.end.resetstimulusframes()]
/ontrialend = [values.current_revealduration = values.revealduration - values.outcomeduration]
/branch = [trial.last]
</trial>

<trial last>
/stimulusframes = [2=outcome]
/ontrialbegin = [if (values.win == 1) trial.last.insertstimulusframe(picture.crtuserwin, 1)]
/ontrialbegin = [if (values.win == 2) trial.last.insertstimulusframe(picture.crtoppwin, 1)]

/ontrialbegin = [if (values.feedbackintensity == 10) trial.last.insertstimulusframe(picture.oppintslider10, 1)]
/ontrialbegin = [if (values.feedbackintensity == 9) trial.last.insertstimulusframe(picture.oppintslider9, 1)]
/ontrialbegin = [if (values.feedbackintensity == 8) trial.last.insertstimulusframe(picture.oppintslider8, 1)]
/ontrialbegin = [if (values.feedbackintensity == 7) trial.last.insertstimulusframe(picture.oppintslider7, 1)]
/ontrialbegin = [if (values.feedbackintensity == 6) trial.last.insertstimulusframe(picture.oppintslider6, 1)]
/ontrialbegin = [if (values.feedbackintensity == 5) trial.last.insertstimulusframe(picture.oppintslider5, 1)]
/ontrialbegin = [if (values.feedbackintensity == 4) trial.last.insertstimulusframe(picture.oppintslider4, 1)]
/ontrialbegin = [if (values.feedbackintensity == 3) trial.last.insertstimulusframe(picture.oppintslider3, 1)]
/ontrialbegin = [if (values.feedbackintensity == 2) trial.last.insertstimulusframe(picture.oppintslider2, 1)]
/ontrialbegin = [if (values.feedbackintensity == 1) trial.last.insertstimulusframe(picture.oppintslider1, 1)]
/ontrialbegin = [if (values.feedbackintensity == 0) trial.last.insertstimulusframe(picture.oppintslider0, 1)]

/ontrialbegin = [if (values.feedbackduration == 10) trial.last.insertstimulusframe(picture.oppdurslider10, 1)]
/ontrialbegin = [if (values.feedbackduration == 9) trial.last.insertstimulusframe(picture.oppdurslider9, 1)]
/ontrialbegin = [if (values.feedbackduration == 8) trial.last.insertstimulusframe(picture.oppdurslider8, 1)]
/ontrialbegin = [if (values.feedbackduration == 7) trial.last.insertstimulusframe(picture.oppdurslider7, 1)]
/ontrialbegin = [if (values.feedbackduration == 6) trial.last.insertstimulusframe(picture.oppdurslider6, 1)]
/ontrialbegin = [if (values.feedbackduration == 5) trial.last.insertstimulusframe(picture.oppdurslider5, 1)]
/ontrialbegin = [if (values.feedbackduration == 4) trial.last.insertstimulusframe(picture.oppdurslider4, 1)]
/ontrialbegin = [if (values.feedbackduration == 3) trial.last.insertstimulusframe(picture.oppdurslider3, 1)]
/ontrialbegin = [if (values.feedbackduration == 2) trial.last.insertstimulusframe(picture.oppdurslider2, 1)]
/ontrialbegin = [if (values.feedbackduration == 1) trial.last.insertstimulusframe(picture.oppdurslider1, 1)]
/ontrialbegin = [if (values.feedbackduration == 0) trial.last.insertstimulusframe(picture.oppdurslider0, 1)]

/ontrialbegin = [if (values.blastintensity == 10) trial.last.insertstimulusframe(picture.usrintslider10, 1)]
/ontrialbegin = [if (values.blastintensity == 9) trial.last.insertstimulusframe(picture.usrintslider9, 1)]
/ontrialbegin = [if (values.blastintensity == 8) trial.last.insertstimulusframe(picture.usrintslider8, 1)]
/ontrialbegin = [if (values.blastintensity == 7) trial.last.insertstimulusframe(picture.usrintslider7, 1)]
/ontrialbegin = [if (values.blastintensity == 6) trial.last.insertstimulusframe(picture.usrintslider6, 1)]
/ontrialbegin = [if (values.blastintensity == 5) trial.last.insertstimulusframe(picture.usrintslider5, 1)]
/ontrialbegin = [if (values.blastintensity == 4) trial.last.insertstimulusframe(picture.usrintslider4, 1)]
/ontrialbegin = [if (values.blastintensity == 3) trial.last.insertstimulusframe(picture.usrintslider3, 1)]
/ontrialbegin = [if (values.blastintensity == 2) trial.last.insertstimulusframe(picture.usrintslider2, 1)]
/ontrialbegin = [if (values.blastintensity == 1) trial.last.insertstimulusframe(picture.usrintslider1, 1)]
/ontrialbegin = [if (values.blastintensity == 0) trial.last.insertstimulusframe(picture.usrintslider0, 1)]

/ontrialbegin = [if (values.blastduration == 10) trial.last.insertstimulusframe(picture.usrdurslider10, 1)]
/ontrialbegin = [if (values.blastduration == 9) trial.last.insertstimulusframe(picture.usrdurslider9, 1)]
/ontrialbegin = [if (values.blastduration == 8) trial.last.insertstimulusframe(picture.usrdurslider8, 1)]
/ontrialbegin = [if (values.blastduration == 7) trial.last.insertstimulusframe(picture.usrdurslider7, 1)]
/ontrialbegin = [if (values.blastduration == 6) trial.last.insertstimulusframe(picture.usrdurslider6, 1)]
/ontrialbegin = [if (values.blastduration == 5) trial.last.insertstimulusframe(picture.usrdurslider5, 1)]
/ontrialbegin = [if (values.blastduration == 4) trial.last.insertstimulusframe(picture.usrdurslider4, 1)]
/ontrialbegin = [if (values.blastduration == 3) trial.last.insertstimulusframe(picture.usrdurslider3, 1)]
/ontrialbegin = [if (values.blastduration == 2) trial.last.insertstimulusframe(picture.usrdurslider2, 1)]
/ontrialbegin = [if (values.blastduration == 1) trial.last.insertstimulusframe(picture.usrdurslider1, 1)]
/ontrialbegin = [if (values.blastduration == 0) trial.last.insertstimulusframe(picture.usrdurslider0, 1)]

/ontrialbegin = [if (values.win == 1) trial.last.insertstimulusframe(text.outcome2, 1)]
/ontrialend = [trial.last.resetstimulusframes()]
/response = correct
/timeout = values.current_revealduration
/recorddata = false
/branch = [if (values.trialcount > 0) trial.final]
</trial>

<trial final>
/timeout = 1
/recorddata = true
</trial>

BLOCK************************************************************************************

<block CRT>
/trials = [1-13=instruction; 14 = loadTrial; 15=up; 16-18=start2; 19= down; 20 = waitingforopponenttest; 21-45=start]
</block>

EXPT************************************************************************************
There are 25 trials (not including the practice trial)
<expt >
/blocks = [1=CRT]
/onexptend = [values.completed = 1]
/postinstructions = (thankyou)
/ onexptend = [values.completed = 1]
</expt>

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

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

<summarydata >
/file = "Updated_CRT_summary.iqdat"
/separatefiles = false
/columns = [script.startdate, script.starttime, script.subjectid, script.elapsedtime, values.completed,
values.firstintensity, values.firstduration, values.max_winlatency,
expressions.mean_blastintensity, expressions.mean_blastintensity1, expressions.mean_blastintensity2, expressions.mean_blastintensity3,
expressions.mean_blastduration, expressions.mean_blastduration1, expressions.mean_blastduration2, expressions.mean_blastduration3,
, expressions.meanrt_ready, expressions.meanrt_target]
</summarydata>
Removed:
expressions.meanrt_intensity
expressions.meanrt_duration



Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
<slider userDuration>
/ caption = " Blast~nDuration"
/txcolor = black
/ fontstyle = ("Arial", 3%)
/ labels = ("2.0 s", "1.8 s", "1.6 s", "1.4 s", "1.2 s", "1.0 s", "0.8 s", "0.6 s", "0.4 s", "0.2 s", "0.0 s")
/ range = (0,10)
/ validresponse = ("0.0 s", "0.2 s", "0.4 s", "0.6 s", "0.8 s", "1.0 s", "1.2 s", "1.4 s", "1.6 s", "1.8 s", "2.0 s")
/ orientation = vertical
/ responsefontstyle = ("Arial", 2%)
/ slidersize = (3%, 55%)
/ position = (87%, 25%)
/ defaultresponse = ("0")
/showticks = false
</slider>

What you defined in /validresponse are not actually valid responses for that <slider>. Responses are "0" to "10" and thus the /validresponse attribute needs to read

/ validresponse = ("0","1", "2", "3", "4", "5", "6", "7", "8", "9", "10")

The consequence of the misspecification is that whatever response is given is deemed invalid (it doesn't match anything in /validresponse), and hence the caption is marked red.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search