I used a similar cooldown variable in a game of mine.
It's one of the first things I actually got working properly in Construct.
(I use 10 ms and multiples of 10 because of that warning that the milisecond rate isn't accurate
so cool_down = 100 means 1,000 ms.)
Trigger (eg Left mouse is down):
[subevent]
spaceship.value('cool_down') equals 0: fire BFG (or a loop subevent to fire 100)
Set spaceship.value('cool_down') to 10
Every 10 miliseconds
spaceship.value('cool_down') greater than 0: Subtract 1 from spaceship.value('cool_down')
If you hold the mouse button (or whichever condition you set), then each tick it checks the cool_down. If it is not zero, then nothing happens.