This tutorial will teach you how to create buttons for HL:A based mods.
Create a test room. Insert a prop_dynamic. For this tutorial, set its model to models/props/button_1_pusher.vmdl
Insert a func_physical_button mesh entity. Match its volume to the model you chose for the prop_dynamic and, for this tutorial, set the following properties:
|Move direction||<align it with the push direction>|
|Delay Before Reset||0|
In the outputs, add the following output:
|My Output||Target Entity||Target Input||Parameter||Delay|
Select the prop_dynamic again and set its Parent Name to button_pusher.
Compile and run your map, and you should have a working button.