what i did was make those smaller cylinder so they won't intersect with eachother.. and made two combines.. so no cylinder surface would intersect with each other.. i deleted history of the gun and the cylinders.. then selected the gun and i combined cylinder thingy.. boolean > difference.. then deleted history again.. and went on to the second difference the same way.. here's a *.ma with the gun ready for difference.. and one already done..