Firstly, I gently scuffed all the parts with 0000 Steel Wool to promote better adhesion of paint. All parts were then washed in soapy water.
Before paint, all parts were handled exclusively with gloves and given a brief acetone bath.
For the crossbar and knobs, I used an acrylic paint that when cured, held nicely but still able to weather using a scotchbrite pad.
The scope and scope mount were painted using Cerakote, which is the main reason for the gloves, extra cleaning and acetone bath; the product is exceptionally smooth and durable but won't stick to a surface that has any kind of contamination.
The bull barrel was painted with a lacquer paint.
The flash hider went through a multi stage process; scuffing helped the paint stick and I used transparent blue-gray and some weathering paste for the look I achieved.
I don't believe there is any one way to paint these; it's your blaster and will be unique to you in many ways.
The point is to have fun and enjoy the finished product.