Howdy, Stranger!

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

Supported by

How to set a time limit?

Hi,

I'm working on an experiment using OpenSesame and I need to set a time limit. The goal is for the experiment to automatically stop after a certain number of minutes, regardless of the participant's current state, while also recording keyboard responses. Additionally, I'd like the screen to remain fixed on a fixation cross during the experiment.

Unfortunately, I'm having trouble figuring out how to implement this feature in OpenSesame. Does anyone have any advice or can someone guide me on how I can achieve this goal with some scripting?

Thank you in advance for the help.

Kind regards,

Anna

Comments

  • Hi Anna,

    I see two options (see attachment). Both Start a timer in the beginning and regularly check whether since the start the maximum time has expired. The difference is that the first option (v1) uses regular Opensesame items, which makes it somewhat easier, but also less accurate in determining when the timeout has passed. The second option (v2) implements everything in a loop in an inline_script. You need to know some Python for this version, but you have a lot of flexibility (and all the relevant functions are explained in the docs).

    Hope this helps,

    Eduard


    Buy Me A Coffee

  • Hello,

    Thank you for the response. Unfortunately, the first solution you provided doesn't work, and it would be ideal since I'm not very familiar with Python. The second solution works well, but the issue is that it doesn't allow me to include a sketchpad or record multiple keyboard responses. Is there a way to use the same script but place it at the beginning and end of the block so that I can insert other elements within it? Thank you in advance.

  • Hi

    but the issue is that it doesn't allow me to include a sketchpad

    You don't need a sketchpad, because you can use canvases, which work the exact same way, only with codes. In the example, I have created a canvas, and added text to it. You can add another canvas if you want, or add stuff to the one, I created. Similarly, you can add more keyboard responses, or use the one that is present, multiple times.

    Is there a way to use the same script but place it at the beginning and end of the block so that I can insert other elements within it?

    Yeah, sure. Just copy it, essentially you can replace an entire sequence/loop with an inline_script like that. There is nothing that you can't do with inline_scripts.

    Check out the documentation and some of the tutorials. You'll find all the information you need there! But if you get stuck feel free to ask here again.

    Eduard

    ps, it is never too late to familiarize with Python. It is quite empowering to add it to you toolkit

    Buy Me A Coffee

Sign In or Register to comment.