OS (e.g. Win10): MacOS Sequoia/Tahoe PsychoPy version (e.g. 2024.2.4 Py 3.8): 2024.2.2
Hello,
I am curious as to whether you could use two different conditions files within nested loops. I have an outer loop I am using to randomize different “blocks” of trials (it sets the num reps of the internal loops to 1, 0, 0 OR 0, 1, 0 OR 0, 0, 1 with a conditions file). I am then using conditions files within each inner loop for the trials of Block A, B, and C, respectively. I am doing this so that I can keep the blocks together but randomize their order, and simultaneously use random ordering of trials within blocks. I am open if there is an easier way to do this. See the below screenshot for clarification.
The issue that I have been have having is that the parameters defined in the conditions trials for the inner loops are not being recognized. I keep get “Var X not found” when I try to pilot it on Pavlovia. That leads me to ask, is this something that works on PsychoJS, or should I try an alternative way of setting this up?
Yes it should work on Pavlovia so long as you don’t try to edit the values of the spreadsheet variables. Please give specifics of a variable that’s failing.
What I now do in your situation is use a single spreadsheet and change the selected rows, but your approach is perfectly acceptable.
Hello, I am still trying to troubleshoot on my end as I am now getting a new error. Thank you for your willingness to help out! I will give more specifics as soon as I am able to wrap my head around what I am struggling with.
Can you quickly clarify what you mean by “so long as you don’t try to edit the values of the spreadsheet variables”? Are you referring to inside code blocks or within the spreadsheets themselves? Every time that I edit spreadsheets I have been re-uploading them to the Online tab in the Settings.
Are the routines controlATrials, controlBTrials and controlCTrials only different in terms of stimuli? if so, you could simplify your experiment by using just one controlTrial-routine and to use the selectedRow-parameter of the loop. This would simplify debugging since you only have to check one instead of three routines.