Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[solved] Self-paced breaks: OpenSesame 2.7.4

edited July 2015 in OpenSesame

Hi all,

I've successfully created my experiment with OpenSesame. It's amazing, thank you very much for implementing such a useful experiment builder.

Only thing I need to do before start collecting data is add an item that gives the participants the chance to stop and have a break for as long as they wish. My experimental design consists of 90 different pictures that participants are shown only once (that is, 90 cycles, 1 repetition). Then, I would like my participants to have a self-paced break after every 30 pictures. That makes a total of two breaks (one after picture no.30 and another one after picture no.60).

I've tried following the instructions provided in previous posts (e.g. http://forum.cogsci.nl/index.php?p=/discussion/213/solved-self-paced-breaks-as-an-inline-script/p1) but for some reason it doesn't seem to work after I change the script in either the Text Display or the Form Text items. Can anybody think of something I might be doing wrong?

Thank you very much,

Javier

Comments

  • edited July 2015

    Hi Javier,

    You could do this in multiple ways. What many people do is copy the experimental loop 2 times (so there are 3 blocks), and just place a sketchpad text display after each block (e.g. "You can take a break now. Press a button if you want to continue"). Of course you'd change the 90 trials into 30.

    What you can also do if you want to keep the structure as is, is to place a sketchpad item with the above text in your experimental loop, and indicate a run-if statement. For instance, you could say: run-if: =(self.get('trials_passed') == 30 or self.get('trials_passed') == 60).

    This means that you also want to create a variable exp.trials_passed = 0, at the beginning of your experiment, and after each iteration through your experimental loop you add the line of code: exp.trials_passed += 1.
    I think the latter method would be the easiest for you at the moment. I see now that this is fairly similar to what was suggested in the old thread, but I reckon this is a bit cleaner and contains less technical nonsense :)

    Let me know if it works.

    Cheers,

    Josh

  • edited 11:25AM

    Hi Josh,

    Sorry it took me so long to reply, but the message confirming my query on this forum had been answered never arrived in my inbox –I always got a notification every time there was a new comment on my previous thread– and it wasn't until last week that I got back to this post to see if there was any update.

    Thank you so much for your help. What you suggested works perfectly and I'm currently collecting data satisfactorily.

    Thank you also to all the OpenSesame team, your freely-accessible software is amazing and it provides students with the necessary tools to carry out their work that their university sometimes fails to provide.

    Many thanks again,
    Javier

  • Hi Josh,

    I'm trying to implement your solution to add breaks to an experiment in Open Sesame 3.2.4 by putting a sketchpad in the experimental loop. However, I can't see where I'm supposed to set the run-if statement. My experiment is set up with a trial within a loop and, if I understand correctly, I should put the break at the level of the loop, not of the trial (although I tried both; neither works).

    If I add the run-if statement to the sketchpad script, it just disappears. If I have the sketchpad in the experimental loop, there is no option to set a run-if statement like in the example here: http://osdoc.cogsci.nl/3.1/manual/variables/#using-conditional-if-statements

    The above setting is available if I add the sketchpad to the trial sequence, but changing it doesn't work. Please help? Apologies if the answer is really obvious!

    Best regards,
    Kate

Sign In or Register to comment.