This is a MESS example package that replaces all weapon_* entities with a respawning game_player_equip -based setup.
weaponspawn.rmf - A template map with a trigger_multiple that triggers a game_player_equip, along with weapon-specific decorative sprites.
weaponspawns.fgd - An .fgd file that contains MESS rewrite rules, telling it to replace all weapon_* entities with macro_insert entities that use the above weaponspawn.rmf template map (this file contains rewrite rules for existing entities, so it should not be added to your editor).
weapons_test.rmf - A test map that, when compiled normally, contains all HL weapons. When compiled with MESS and the above .fgd and template map however, all weapon pickups will be replaced with colored sprites and game_player_equips that equip the player with the original weapons.
Download MESS 1.1 and extract it somewhere (for example, to C:\HL\tools\MESS\). For an introduction and more information, see the readme.
Extract this example package somewhere (for example, to C:\HL\maps\templates\).
Open weapons_test.rmf in your editor.
Open the compile/run window, and switch to advanced mode.
Add a new compile/run command, and move it all the way to the top, to ensure that it will be executed first.
In the 'Command' box, enter C:\HL\tools\MESS\MESS.exe (depending on where you extracted MESS).
In the 'Parameters' box, enter -log verbose -dir "C:\HL\maps\templates" -fgd "C:\HL\maps\templates\weaponspawns.fgd" "$path/$file.$ext" (depending on where you put the .fgd and template map from this example).
Tick the 'Wait for termination' (if you're using J.A.C.K.) and 'Use process window' checkboxes.
Compile the map. If all goes well, you'll see a map full of colored sprites instead of weapons. Touching a sprite will give you a weapon, and the sprite will disappear for 20 seconds before 'respawning'.