One of the first things I attempted with HL2 was firing modes and i wrote a dope tutorial about how to add it. Would you believe that the implementation of something equivalent only requires a few lines of code (far less than the hundreds i used for hl2)? Its fucking true and you can take part in the journey. I spent the better part of 3 hours working on the weapons this morning and enjoyed every moment.
check it out folks =)
iDefaultFiringMode = FM_SingleFire aValidFiringModes(0) = FM_SingleFire aValidFiringModes(1) = FM_BurstFire aValidFiringModes(2) = FM_Automatic