
Originally Posted by
Meph
Great question!
To answer that, let me first explain how the script works
The variable known as "Rate of Fire" is actually the "sleep" in the script.
People just define it as RoF because it's more fluent in conversation to say "Rate of Fire" than "Sleep"
In the script, it's organized like this:
this.player_freezefire = {0.25,0.50};
Within that array, there are two variables, separated by a comma.
The first is the Freeze; which, in that example is 0.25.
The second is the Sleep; which, in that example is 0.50.
Freeze is defined as the amount of seconds that a person is frozen upon firing a shot.
So at 0.25, you can figure the person would be frozen for a quarter of a second before being able to move again.
If that number is lower, than it means that the person isn't frozen for as long after firing a shot.
Sleep is defined as the amount of seconds that lapse between firing shots.
So at 0.50, you can figure that, if the person is holding down the fire button, they'll shoot one bullet every half second (2 bullets per second).
If you lower that number to 0.25, then the gun will shoot 1 bullet every quarter of a second (4 bullets per second).
So a lower sleep = more bullets per second = a higher fire rate.
So if you put the two together, back to the example:
this.player_freezefire = {0.25,0.50};
Let's say you had a gun had these stats, and you were holding down the fire button.
Upon firing, you would be frozen for 0.25 seconds.
You couldn't shoot again for 0.50 seconds though.
So 0.25 seconds after you're able to move again(0.50-0.25=0.25), you'll fire the next bullet, be frozen, and repeat the process.