Texture paint without affecting other object with same texture/material i edit my post maybe will better understand it now :)

Edit: so i create a gun created from many mesh,
so i want to paint lets say CUBE A but result is show in CUBE B,C,etc
i use same material(i named it BLACK METAL) for each mesh

so i want to know how to paint only CUBE A without making new image file or new material 

so i dont want to create new material (black steel barrel,black steel gun body,etc) for every mesh i think i'ts unproductive



GIF info:look i select CUBE A then i select CUBE C then B then i try texture paint on CUBE A but it show on CUBE B too then i try again to paint CUBE A then CUBE C and B get painted too

if still not clear sorry not good explainer :(
Select 'Face Selection Masking' from the icon on the view header just to the left of the layer dialogue and that will limit by selection in the Texture Paint mode. You can make use of Vertex Groups here to go back and forth with selections, or you can use the 'L' key to select linked mesh while still in texture paint mode.

edit: If the image area falls under the same as another part, then the shared pixels will show no matter what. Your uv map has to give separate space for all mesh parts similar to Smart Unwrap in order to keep from painting two areas at once in the mapping.