You do this by first laying our your models UV’s all on the same UV channel, and then you paint the various areas the different colors. Here is an example of a character UV layout I pull from the web.
If you look at her arm on the UV layout, for example, you could paint that section to look like skin and then paint her legs to look like cloth. This way you could have one Texture with multiple objects and colors in it. To get different levels of reflection or even to add metal objects you should look into RGB masking. You can read more about how to do this from the following doc.
Please let me know if that helps or if you have any more questions.
Cheers-
Sam Deiter