A VERY basic skin editing tutorial
Some programs which will help:
Lets start with a brief discussion of how halflife models work.
Halflife models are stored in 'mdl' format - but it's pretty heavily modified since the quake model format it was based upon.
Models consist of a number of 'meshes' - triangles which make up the surface of the model.
These meshes are connected to a skeleton, which is made up of bones. It is this skeleton which is animated.
The model also contains hitboxes (which are simple boxes around each bone, to make it easier for the gamee to quickly throw away shots which have no chance of hitting) and a number of hooks (named farmes of animation which the engine can trigger)
The final thing a model contains is one or more 'skins' - which are bitmaps that are painted on top of the mesh when it is rendered.
The compilation of all of this is controlled by a 'qc' file - which gives the engine a whole heap of information (names to framenumber mappings, which bit of mesh maps to which bit of skin, which bones control which mesh, where the origin of the model is, and any special properties)
Halflife supports multitexturing of skins. A single model can have as many skins making it up as it wants - and they are allowed to overlap.
Overlapped skins can give particularly flashy effects when one is an environment map - which means it looks reflective. This can be used to give highlights, and to make surfaces look shiny.
You can also change which skin a model has on mid-game. Halflife doesn't use this much, but it's noticeable that flags have five different textures, rather than being five seperate models.
Now - onto the skinning. A step by step tutorial.
That should allow you to create a basic altered skin.
Ok - now, you CAN do more than this. Halflife supports multiteturing, including environment mapped effects (look closely at the apparent reflections on shiny metal things in game)
To alter these effects, you want to export one of the other skins - and edit that. You will also need to edit its properties (shininess, ambeint colour etc.) which I don't THINK you can do inside of the model viewer. You will need to export the .c file and edit that, or use a more powerful tool (such as milkshape - this also has options to decompile mdl's and recompile them)
Some other web sites worth looking at: