So, you have this "scripted" block called <block game_ostracism>. The block runs these <trial> elements:
/ trials = [1 = loading; 2= loading2; 3=start_ostracise; 4=pause1fixed; 5=player1fixed; 6=1to3fixed; 7=pause3fixed; 8=player3fixed; 9=3to4fixed; 10=pause4fixed; 11=player4fixed; 12=4to3fixed; 13=pause3fixed; 14=player3fixed; 15=3to1fixed; 16=pause1fixed; 17=player1fixed]
Some of these trials (player1fixed, player2fixed, etc.) update values.score via an '/ ontrialend' command
<trial player1fixed>
/stimulusframes = [1=player1, player2, player3, player4, player1label, player2label, player3label, player4label, answer1, teamnumber, teamnumber2]
/ validresponse = (noresponse)
/ trialduration =2500
/ ontrialend=[values.score = values.score + 1]
</trial>
such that at the end of <block game_ostracism> values.score will equal 5!
Then you have the actual or "real" game block which is defined like this in the script you attached:
<block game>
/ trials = [1= 1to2]
/ stop= [values.score==2] (sic! It's not 'values.score==12' in the attached script)
</block>
Obviously, the stop condition can never evaluate to true, since already values.score=5 at this point, thus sending you off into an infinite loop.
What you'll need to do is (a) reset values.score to zero at the start of <block game> and (b) define a proper stop condition:
<block game>
/ onblockbegin = [values.score=0]
/ trials = [1= 1to2]
/ stop= [values.score==12]
</block>
Also, when running the attached script, there'll be a runtime error thrown relating to 'expressions.cyberdecisiontime.2' because there's a nasty typo in <trial 4to2>:
<trial 4to2>
/ stimulusframes = [1= player1, player2, player3, player4, player1label, player2label, teamnumber, teamnumber2, player3label, player4label, 4to2]
/ validresponse = (noresponse)
/trialduration= expressions.cyberdecisiontime.2 (needs to read 'expressions.cyberdecisiontime2')
/ responsetrial= ("noresponse", get)
</trial>
Regards,
~Dave