using the timer only enables one of the enemies to shoot. so i used a variable but only one shoot and only one bullet

From the name of the variables, I guess you shouldn’t increase the variable “RateOfFire”, I mean the rate of fire is the cooldown time between one shot and other, and is (usually) constant, at least for each weapon :slight_smile:
The problem is that you increase the RateOfFire: One condition is “TimeSinceFire >= RateOfFire”. Imagine:
TimeSinceFire = 4 and RateOfFire = 3.
When this happens, you reset TimeSinceFire (create bullet, etc.), now:
TimeSinceFire = 0 and RateOfFire = 3.
Then you always add 1 to both variables, so:
TimeSinceFire = 1 and RateOfFire = 4
TimeSinceFire = 2 and RateOfFire = 5
TimeSinceFire = 3 and RateOfFire = 6
As you can see, never TimeSinceFire will be greater or equal than RateOfFire again, and you’ll never shoot again.
*Of course depending of the initial value of RateOfFire is the number of bullet you’ll shoot (if RateOfFire is “very negative”, you’ll need to reset TimeSinceFire many times before it become smaller than RateOfFire forever) :imp:

Just delete the action “Do +1 to RateOfFire” :wink:
By the way the condition “RateOfFire >= RateOfFire” will be obviously true until the end of time, so you can delete it too :laughing: