Im doing this completly from memory and im also not a weapon maker, but anyway...
You set one state as your ammo state, and if you call a function, ammo state gets called. Not sure what more there is to explain really.
edit: may have misinterpreted the op, but idk if what you are asking would be possible