You need:
the .vtf and .vmt with the SAME NAME in the (yoursteamnamefolder)
half-life2/hl2/materials(whateveryouwannacallitfolder)
AND
the .vtf and .vmt with the SAME NAME in the (yoursteamnamefolder)
sourceSDK_content/hl2/materialsrc(whateveryouwannacallitfolder)
The directory in the Half-Life2 directory is necessary to see the textures in-game, and the directory in the SourceSDK_Content directory is necessary to have it avalible in hammer.
You'll notice that the last folder in both directories is called "whateveryouwannacallitfolder". This folder name can be used for easy filter searches in Hammer. For instance, if I created 7 textures in the folder called "train_map", I could put "train_map" into the filter settings and all 7 of those textures would be visible in the texture browser.
Also make sure you have the .vmt filled with the proper information. for a basic texture, you need:
"LightmappedGeneric"
{ "$basetexture" "foldernamehere/texturenamehere"
"$surfaceprop" "surfaceproptypehere"
}
foldername refers to the folder you put the texture in, IE train_map. texturename is the name of the texture the peoperties are applied to, the file extension is not necessary. the surfaceproptype is what kind of properties the object will have, IE "metal" or "wood"
If you follow through with that, it will work.