Store the tick time of the firing action.

When the player presses fire again - deduct the saved tick time fromt he current tick time - if greater than the delay time that you want then allow the player to fire (and update the stored time) else just skip the fire action.