Wouldn’t suggest adding 9000 guns ;).
In all seriousness, believe it or not, this is a huge subject. If you get this wrong, you could screw up the entire gameplay. As far as actually setting the values and all, it is thankfully quite easy.
Start by making a few guns, and playing around with values, like shotguns, and pistols. You need to have the ‘checks and balances’, if you will: damage, range, and fire rate. For damage, just choose what seems right, for instance, a pistol shoots with low damage relative to the shotgun. But then you have an issue: then why even have a pistol if the shotgun is clearly better? That is where range comes in. The pistol will still do damage quite a distance away, but the shotgun will not shoot enemies to far away. The fire rate also helps. The fire rate will determine how much time is between shots at maximum. For example, if you are being approached by a zombie, who is far away, you will think. The shotgun will give much damage, but only when it is close. But the zombie will take a few shots, meaning you need to fire faster. The zombie is getting closer, so you think to the pistol. It will do the same damage far away. So you bring out your pistol, blam, blam, blam, and its head is gone.
Also, there is a formula to use, if you want:
a + b = c
A could mean damage, range, or rate, as would b and c. This, in my experience, has balanced the gun’s, so no 1 gun is better than the others in all aspects, and so that each gun will have a specialty, aka. c.
This is not limited to pistols and shotguns. Think about, say an ak47. It will do little damage, but at a fast fire rate. Think to a sniper rifle. It will go a long way and give tons of damage, but will fire extremely slow. This is my system, it has worked, with fun results, but you don’t need to use this system.
lmgtfy