This FPS Template is made from 100% logic bricks. It has 2 swapped weapons with an ammo counter for both weapons, a random bullet spread that gets smaller when aiming. a reload, cartridge eject, muzzle flash, cartridge sounds, gunfire sounds, reload sounds and a grenade explosion sound. I added a grenade damage sphere that is invisible located on layer 10. I switched the bullet from my last .blend with a tracer(easier to see). This is meant to be used as a learning tool in order to make your game closer to what you'd like.
The ammo counter isn't a smart counter, All it does is -30/+30 or -12/+12 depending on current weapon. I couldn't figure out how exactly to get that right without scripting. If someone figures out how to pull it off, please share it with me. lol
All credit is in the file
I hope someone finds this helpful in some way. Happy Blending :)