Why it waits for 0.5 to fire, the very time I press the key?

I have set the event such that if I press the key it will fire the bullet just once but only if the timer is greater than 0.5 sec. But why when I press the key for the first time it waits for 0.5 second and then fires? In the first turn it should fire immediately fire and from there it should fire after timer fire > 0.5 sec.

Because the timer has been not initialized until you press the key and the condition being triggered for the first time.
Start the timer at the beginning of the scene.

What do I do? what is the solution?

The event is actually called Unpause timer. When you Unpause the timer at the beginning, the timer will be initialized at the beginning and start counting. By the time you press the button, the timer will be >= 0.5 and you be able to shoot a bullet immediately at the beginning of the game.

I have updated the shoot-bullets examples, you can download it from here:
gametemplates.itch.io/gdevelop-examples

Thanks!

I wish I saw this post sooner