Millisecond Forums

timeout / Time is wrong / Block skips too fast

https://forums.millisecond.com/Topic17803.aspx

By AlexM - 11/23/2015

Hello,

i'am a student who has to run an Inquisit 3 skript on Inquisit 4.
Now the following problem occurs:

Some blocks are only displayed for seconds and then the next block is displayed. I guess it has something to do with "timeout".
/ timeout = 90000

i found a note regarding this problem in the Manual (see below).

Will it  work if i change "/ timeout = 90000" to "/ timeout = max (90000,1)"?

Any help is appreciated,
Alex

Note From the Manual:
Simple Attributes

Simple attributes are just regular old attributes that can be set to a single numeric value, or possibly a set of numeric values. For example, the timeout attribute consists of a single numeric value, for example /timeout = 1000. The size attribute consists of two numeric attributes, for example /size = (200, 300).  Inquisit allows you to set these attribute values to either a constant number such as "5" or a numeric expression such as "sqrt(5) + 22 - text.target.currentitemnumber".  

As an example, imagine you are running a task in which subjects try to answer as many questions as possible in 5 minutes. When their time is up, the current trial is interrupted and no more trials are run. One way to achieve this is to set the timeout of each trial as a function of the time elapsed since the task started. This might look like the following:

<trial timedtaska>
/ stimulustimes = [1=question]
/ validresponse = ("a", "b")
/ correctresponse = ("a")
/ timeout = 18000000 - block.timedtask.elapsedtime
</trial>

The above example computes the number of milliseconds remaining in the 5 minute period by subtracting the number of milliseconds that have elapsed since the start of the block from 18000000, which is the number of millisecond in a 5 minute interval.

There is a problem with this expression however, namely that it might return a negative number, which is not a valid timeout value, or it might return 0, which Inquisit interprets to mean no timeout at all. We can fix this by uses Inquisit's "max" function, which returns the maximum value of two expressions. The following ensures that the timeout is never set to a value less than 1 millisecond.

<trial timedtaska>
/ stimulustimes = [1=question]
/ validresponse = ("a", "b")
/ correctresponse = ("a")
/ timeout = max(18000000 - block.timedtask.elapsedtime, 1)
</trial>




By Dave - 11/23/2015

Since you did not provide the relevant portions of your actual code, the question "what's wrong?" is impossible to answer. So is the question

> Will it  work if i change "/ timeout = 90000" to "/ timeout = max (90000,1)"?

However, the above should be easy enough to figure out by just trying it?
By AlexM - 11/23/2015

Yes, you are right. Unfortuately i am not allowed to post the code.
We will try to run it in Inquisit 3 again. Seems like the simpelst solution.

Thx for the reply.



By Dave - 11/24/2015

You are welcome to attach the script to a private message. I will, of course, not publish or share it with anyone.
By AlexM - 11/24/2015

Thank you for the generous offer.
But first we will test it with Inquisit 3, so we can be sure to have the exact same testing situation.

Is it still possible to buy a license for Inquisit 3?
Or is a Inquisit 4 license also valid for Inquisit 3?

By Dave - 11/24/2015

Inquisit 3 licenses are still available -- contact sales<at>millisecond.com.

An Inquisit 4 license is not valid for Inquisit 3 and vice versa.

Hope this helps.