| 
		        
                
 
 
	Group: Forum Members 	        
    Posts: 51, 
    Visits: 189 
    
 
          
		     | 
				                       
                 
                
                    
			            Moreover, there was always the same feedback presented. How can i make three kinds of feedbacks present alternately? for example, A feedback presents after 1st press, B feedback presents after 2nd press, etc.                  
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Administrators 	        
    Posts: 13K, 
    Visits: 109K 
    
 
          
		     | 
				                       
                 
                
                    
			            #1: You can have multiple /responsemessage attributes tied to the same response. #2: You present different feedback images just like you always do: Have multiple items in the <picture> element and select them sequentially or via a variable (a <values> entry):
  <picture peerfeedback> / items = ("peerfeedback.jpg", "perfeedback2.jpg", "perfeedback3.jpg") / hposition = 50% / vposition = 50%  / select = sequence </picture>
  or, more flexibly, 
 
  <picture peerfeedback> / items = ("peerfeedback.jpg", "perfeedback2.jpg", "perfeedback3.jpg") / hposition = 50% / vposition = 50%  / select = values.feedbackitem </picture>
  where you set the feedbackitem value via conditional logic as needed.
  #3: If you want to display the feedback after turn-over, you need to display it via the <trial>'s /stimulustimes *before* displaying the cards or via a dedicated feedback <trial> invoked via /branch.                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Forum Members 	        
    Posts: 51, 
    Visits: 189 
    
 
          
		     | 
				                       
                 
                
                    
			            Thanks for your instruction. I hae another problem, that is, I set timeout to 10s in <trial pickcard1> in CCT_cold, but it is lasting 20s. Could you help me point out what is the problem in my script? Thank you.                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Administrators 	        
    Posts: 13K, 
    Visits: 109K 
    
 
          
		     | 
				                       
                 
                
                    
			            If you want the trial to have a fixed duration, do <trial pickcard1>
  / stimulusframes = [1=roundinfo1, debuginfo,     CR1C1_cold, CR1C2_cold, CR1C3_cold, CR1C4_cold, CR1C5_cold, CR1C6_cold,     00,01,02,03,04,05,06]
  / validresponse = (2,3,4,5,7,8,9)
  / ontrialend = [if(startswith(trial.pickcard1.response,"0"))values.ncards1=substring(trial.pickcard1.response,1,1)      else values.ncards1=trial.pickcard1.response]
  / branch = [if(values.gameround1=="8")trial.mean]  / ontrialend = [values.totalscore1+=values.score1]
  / responsemessage = (2, number00, 1) / responsemessage = (3, number01, 1) / responsemessage = (4, number02, 1) / responsemessage = (5, number03, 1) / responsemessage = (7, number04, 1) / responsemessage = (8, number05, 1) / responsemessage = (9, number06, 1) / trialduration= 10000
 </trial>
  instead of 
  <trial pickcard1>
  / stimulusframes = [1=roundinfo1, debuginfo,     CR1C1_cold, CR1C2_cold, CR1C3_cold, CR1C4_cold, CR1C5_cold, CR1C6_cold,     00,01,02,03,04,05,06]
  / validresponse = (2,3,4,5,7,8,9)
  / ontrialend = [if(startswith(trial.pickcard1.response,"0"))values.ncards1=substring(trial.pickcard1.response,1,1)      else values.ncards1=trial.pickcard1.response]
  / branch = [if(values.gameround1=="8")trial.mean]  / ontrialend = [values.totalscore1+=values.score1]
  / responsemessage = (2, number00, 1) / responsemessage = (3, number01, 1) / responsemessage = (4, number02, 1) / responsemessage = (5, number03, 1) / responsemessage = (7, number04, 1) / responsemessage = (8, number05, 1) / responsemessage = (9, number06, 1) / timeout = 10000 / posttrialpause = trial.pickcard1.timeout-trial.pickcard1.elapsedtime </trial>
  Your getcondition trial has also has a fixed duration of 10s:
  <trial getcondition1> / ontrialbegin = [values.trialtype1=list.trialtype1.nextvalue; values.score1=0;      values.gameround1+=1; values.ncards1=0;      reset(list.cardnumber1)] / ontrialbegin = [if(values.trialtype1==1)values.losscards1=list.losscards1.nextvalue     else values.losscards1=noreplace(1)] / ontrialbegin = [if(values.trialtype1==1)values.gainamount1=list.gainamount1.nextvalue     else values.gainamount1=noreplace(12)] / ontrialbegin = [if(values.trialtype1==1)values.lossamount1=list.lossamount1.nextvalue     else values.lossamount1=noreplace(250,750)] / ontrialbegin = [if(values.trialtype1==1)values.score1=40] / ontrialbegin = [if(values.trialtype1==1)values.nsafecards1=6-values.losscards1] / stimulusframes = [1=BlankScreen, roundinfo1]
  / validresponse = (noresponse) / trialduration = 10000 / recorddata = false / branch = [trial.pickcard1] / showmousecursor = false </trial>
  That adds up to 20 seconds per round.                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Forum Members 	        
    Posts: 51, 
    Visits: 189 
    
 
          
		     | 
				                       
                 
                
                    
			            Thanks for your help. In addition, I have another question about BARTY (Youth Balloon Analogue Risk Task). My question is I would like to change trials to 12 rather than 30, so I revise <values> totalballoons to 12, but the program closed after 1 trial (please see attachment).                  
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Administrators 	        
    Posts: 13K, 
    Visits: 109K 
    
 
          
		     | 
				                       
                 
                
                    
			            The script works as expected for me. A partial data file is attached. As you can see by looking at the values.ballooncount column, it does not stop after the 1st "trial" (i.e. balloon).                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Administrators 	        
    Posts: 13K, 
    Visits: 109K 
    
 
          
		     | 
				                       
                 
                
                    
			            I should add that there *is* one condition that will lead to the script terminating *prior* to completing 12 balloons. This is due to a flaw in your programming logic. You've set a fixed /trialduration in <trial choice>. This of course means that a participant can opt to *not respond* at all -- the trial will terminate after 15 seconds anyway. Your /branch attributes, however, don't cover that case. I.e., the script has nowhere to go from there and will terminate (that's what you instructed it to do, intentionally or not).
  <trial choice> / ontrialbegin = [values.countchoice += 1]
 
  / stimulustimes = [0=balloon, rewardmeter,rewardmeter_fill, smallprize, middleprize, bigprize, bonus, fillmeter, pumpballoon, pumpcount, countballoon] / validresponse = (8, 7) /responsemessage = (8,fillmeter_chosen, 200) /responsemessage = (7, pumpballoon_selected, 200)
  / ontrialend = [if (trial.choice.response == "7" && values.countchoice == 1)                          values.timebefore1stpump = trial.choice.latency ] / ontrialend = [if (trial.choice.response == "7"  && values.countchoice > 1)                          {values.timebtwpumps = trial.choice.latency;                          values.sum_timebtwpumps += values.timebtwpumps }] / ontrialend = [if (trial.choice.response == "8" && values.countchoice == 1)                          values.timebeforecollectwithoutpump =  trial.choice.latency ] / ontrialend = [if (trial.choice.response == "8" && values.countchoice > 1)                          values.timebtwlastpumpandcollect =  trial.choice.latency ]
  / ontrialend = [if (trial.choice.response == "7") picture.balloon.width += values.balloonsizeincrement] / ontrialend = [if (trial.choice.response == "7")picture.balloon.height += values.balloonsizeincrement] / ontrialend = [if (trial.choice.response == "7")shape.blank.width = picture.balloon.width] / ontrialend = [if (trial.choice.response == "7")shape.blank.height = picture.balloon.height] / ontrialend = [if (trial.choice.response == "7")values.pumpcount += 1]
  / ontrialend = [if (trial.choice.response == "7")values.totalpumpcount += 1] / ontrialend = [if (trial.choice.response == "7" && values.ballooncount < 11) values.totalpumpcount_10 += 1] / ontrialend = [if (trial.choice.response == "7" && values.ballooncount > 10 && values.ballooncount <21 ) values.totalpumpcount_20 += 1] / ontrialend = [if (trial.choice.response == "7" && values.ballooncount > 20 && values.ballooncount <31 ) values.totalpumpcount_30 += 1]
  / ontrialend = [if (trial.choice.response == "7" && values.pumpcount >1) values.mean_timebtwpumps = values.sum_timebtwpumps / (values.pumpcount-1) ]
  / ontrialend = [trial.choice.resetstimulusframes()]   / branch = [if (values.pumpcount == values.explosionpoint && trial.choice.response == "7") trial.pop] / branch = [if ( trial.choice.response == "7") {trial.choice}] / branch = [if ( trial.choice.response == "8") trial.collect] / trialduration = 15000 
 
  </trial>
  So, you ought to specify the *no response* case. Where do you want the script to go from there? To trial.collect? Then do 
  <trial choice> ... / branch = [if (values.pumpcount == values.explosionpoint && trial.choice.response == "7") trial.pop] / branch = [if ( trial.choice.response == "7") {trial.choice}] / branch = [if ( trial.choice.response == "8" || trial.choice.response == "0") trial.collect] / trialduration = 15000 
  </trial>
  If you want it to do something else, specify that accordingly instead.                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Forum Members 	        
    Posts: 51, 
    Visits: 189 
    
 
          
		     | 
				                       
                 
                
                    
			            It seems resulting in 15s wait after each press (pumpballoon). If i want that participants can press any times they want to within fixed 15s duration (for a balloon) before they press "collect" or balloon explored. How can I do it?                  
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Administrators 	        
    Posts: 13K, 
    Visits: 109K 
    
 
          
		     | 
				                       
                 
                
                    
			            > It seems resulting in 15s wait after each press (pumpballoon).
  Yes. That's what you instructed the script to do.
  > If i want that participants can press any times they want to within fixed 15s duration (for a balloon) before they press "collect" or  > balloon explored. How can I do it? 
  Create a new <values> entry. Set it to 15000 in <trial init>. Use it in <trial choice>'s /timeout attribute. At the end of <trial choice> subtract the trial's latency from it.                 
			            				
			                                 
                     
                                            
                         
                    
                  
             | 
			
			
        
				| 
		        
                
 
 
	Group: Forum Members 	        
    Posts: 51, 
    Visits: 189 
    
 
          
		     | 
				                       
                 
                
                    
			            I set choicetimeout=15000 in <values> and set it (values.choicetimeout) in <trial.init>'s /timeout attribute then subtract the trial's latency from it at the end of <trial choice> (/ timeout = values.choicetimeout-trial.choice.latency). But, it still didn't work (please see attachment).                 
			            				
			                                 
                     
                                            
                         
                    
                  
             |