I've painted a few things, helmets, guns. All the above advice is good. I've used both rustoleum and krylon, I prefer the krylon. Covers better, doesn't come out of the nozzle so heavy, which I find works better when trying to apply an even coat.
I just did my m4 yesterday, netting works well. I don't get to fancy, just do enough to break it up a bit.