In this tutorial, I will show you how to create a spawn icon either Sents, Sweps and NPCs. Firstly, you'll need something to modify Valve Picture Files (or VTFs for short.) I myself would recommend VTFedit.
LINKS HAAX Swep http://www.garrysmod.org/downloads/?a=view&id=67919 VTF Edit http://nemesis.thewavelength.net/index.php?c=178
Step 1 - Find the item you want to make a icon for. In this case I'm going to use THE NECROSSIN's HAAX swep, then find the picture you want to use, either in game or from some random site on the internet. I'm going to use a picture he used from the upload page on garrysmod.org. Now open up your image editing software with a canvas size of 256 x 256; then open up the image for the icon. So I'm using a image from the upload page as stated earlier.
Step 2 - Find the folder containing the weapon your icon is for. Once you've found it, go into materials, then look for another folder in it titled 'VGUI.' (If it dosen't exist, then just make it.) Then inside this folder, should be another one titled 'entities (Like before, just make it.) and inside this folder is where the icon's image file goes. Now open up VTFedit and click file and then click import (or just click the little paper icon near the top.) and select your image for the icon.
Step 3 - VTFedit will then open up your image and automatically convert it to vtf, but you still need to save it. You need to name it the same as the folder that contains the mod's lua files. (With this weapon, the folder you'll need to find is titled 'Weaponhaxgun' so I need to call the vtf needs to be titled exactly the same.) Then you need to add a vmt file, which also needs to be titled the same as the folder containing the lua. (So I need to name it 'weaponhaxgun' as well.)
Step 4 - Once you've added the vmt file (You can just copy another vmt file and rename it correctly.) You need to open it up and make a small edit. (You can use notepad or VTF edit.) and make a small change. Once you open it, look for the line with "$basetexture" (It's normally the second line.) Then replace this line with the image's name, which is also the name of the folder with the data. (So for me it should be "$basetexture" "vgui/entities/weapon_haxgun")
Step 5 - If everything has been done right and your icon should appear as in images.