+xPerhaps it's helpful to add what I thought I needed to do for Question 1.
I declared values at the experiment level
<values>
/ VVIQtotal = 0
</values>At the survey level I added an 'onblockend' property to create the total score and then addd a summary data element:
### VVIQ SURVEY (BLOCK/SURVEY LEVEL)
<survey VVIQ>
/ pages = [1 = VVIQ_PAGE1; 2 = VVIQ_PAGE2; 3 = VVIQ_PAGE3; 4 = VVIQ_PAGE4]
/ showpagenumbers = false
/ showbackbutton = false
/ nextbuttonposition = (90, 90)
/ onblockend = [
values.VVIQtotal =
values.VVIQ1 + values.VVIQ2 + values.VVIQ3 + values.VVIQ4 +
values.VVIQ5 + values.VVIQ6 + values.VVIQ7 + values.VVIQ8 +
values.VVIQ9 + values.VVIQ10 + values.VVIQ11 + values.VVIQ12 +
values.VVIQ13 + values.VVIQ14 + values.VVIQ15 + values.VVIQ16;
]
</survey>
<summarydata>
/ columns = (values.VVIQtotal)
</summarydata>
Values are just variables, they will not do anything unless you set them to something, here: the score for a given question. But that isn't even necessary. Define proper /optionvalues in your survey questions, sum up the responses in a single varaible /onvlockend, and then /skip whatever subsequent blocks you need on that basis. Simple example:
<expt myExpt>
/ blocks = [1=a; 2=b; 3=c]
</expt>
<values>
/ totalScore = 0
</values>
<block a>
/ onBlockEnd = [
values.totalScore = (radiobuttons.q1.response + radiobuttons.q2.response + radiobuttons.q3.response + radiobuttons.q4.response)
]
/ trials = [1=pageOne; 2=pageTwo]
</block>
<surveypage pageOne>
/ questions = [1=q1; 2=q2]
/ showPageNumbers = false
/ showQuestionNumbers = false
</surveypage>
<surveypage pageTwo>
/ questions = [1=q3; 2=q4]
/ showPageNumbers = false
/ showQuestionNumbers = false
</surveypage>
<radiobuttons q1>
/ options = ("Option A", "Option B", "Option C", "Option D", "Option E")
/ optionValues = ("1", "2", "3", "4", "5")
</radiobuttons>
<radiobuttons q2>
/ options = ("Option A", "Option B", "Option C", "Option D", "Option E")
/ optionValues = ("1", "2", "3", "4", "5")
</radiobuttons>
<radiobuttons q3>
/ options = ("Option A", "Option B", "Option C", "Option D", "Option E")
/ optionValues = ("1", "2", "3", "4", "5")
</radiobuttons>
<radiobuttons q4>
/ options = ("Option A", "Option B", "Option C", "Option D", "Option E")
/ optionValues = ("1", "2", "3", "4", "5")
</radiobuttons>
<block b>
/ skip = [
return (values.totalScore > 5 && values.totalScore < 15) // if score is between 5 and 15 (exclusive), block is skipped
]
/ trials = [1=bTrial]
</block>
<trial bTrial>
/ stimulusFrames = [1=bText]
/ validResponse = (" ")
</trial>
<text bText>
/ items = ("This is block B. Your survey score was <%values.totalScore%>.")
</text>
<block c>
/ trials = [1=cTrial]
</block>
<trial cTrial>
/ stimulusFrames = [1=cText]
/ validResponse = (" ")
</trial>
<text cText>
/ items = ("This is block C. Your survey score was <%values.totalScore%>.")
</text>