A solution you may want to try is to store an "in air" timer as either a global variable or an instance variable of the player sprite (I recommend the latter). Have one event test if the player is in the air, and if so, increment it by one (via the Is On Floor condition, just invert it), and if not, set it to zero. If the player presses the jump key while the sprite is in the air, and the timer is below a certain value, have the player jump.
What you may also do is to enable double-jumping, and then use the Reset Double Jump action to disable it after the player was in the air for long enough. That way, you can just use the built in jump command, as simply using simulate control while the user is in the air won't work with double-jump off.