Is there a "repeat for x seconds" block?

And if not, how can I make one?

Please look in the forum. I'm sure there are a million posts about this same thing.

You need to specify whether you mean "start the script if less than x seconds have passed, and run it to completion" or "stop the script as soon as x seconds have passed, even if it's in the middle of doing something."

Here's a one way that could be adapted into a custom block