what cpt P says is absolutely true for nice equal reflections, which most weapons have (barrel etc).
however, for sake of completeness, here's how to implement "dirty" / unequal reflections (i.e. some parts dont reflect, or reflect to a lesser extent):
{
"$basetexture" "customtex/panel11"
"$envmap" "env_cubemap"
"$envmapmask" "customtex/specmask"
"$envmapcontrast" "1"
"$surfaceprop" "metal"
}
where you draw the "specmask" with black/white variations (more white =more reflective) according to your basetexture. you could also search the .gcf files for a close-matching one. it all takes a lot of time and trial/error, but the result is nice.
if you want to combine this with normalmaps (e.g. for small 3d weapon parts that you dont want to model), you have to use
{
"$basetexture" "customtex/panel12"
"$envmap" "env_cubemap"
"$bumpmap" "customtex/panel12_normal"
"$normalmapalphaenvmapmask" 1
"$envmapcontrast" "1"
"$surfaceprop" "metal"
}
instead, where you put the specmask in the alpha channel of panel12_normal (where the other 3 channels make up the normalmap)
as i said, this is just for the sake of completeness, you probably wont need it - just in case