The only problem that i see with the script is that the ammunition, if a new clip is not used, stays the same, so that unlimited ammunition is possible. I know its impossible to change the ammount of ammunition in the clip, but maybe, you could check to see the number of times a bullet is fired, and then when the counter reaches 30, or something, remove 1 clip from the weapon holder.
Thanks,
Bluelikeu