Func_water is kinda an easy entity to use and its pretty damn cool. What it does is creates a water brush(lava, slime, etc) that can move. Like a pool of water slowly bobbing up and down. You can also use it to make some other cool effects like a trap that when triggered an area fills up with lava. IF you really want to get fancy you can make a func_water brush without a solid non-water brush to make some kick ass effects that i have included in the examples zip file at the bottom of the page.
First thing you need to do is create the brush you want to be the moving water and make it a func_water entity. One thing to remember is that the water must not be translucent. For some reason only non-translucent water will work with a func_water. A func_water entity must be triggered to work so therefore it must have a targetname. So lets give it a targetname of water1.
Next you need to specify the angle of the water movement. For most purposes you will only need the water to move up and down but if you can find a purpose to make the water move left or right then go for it. So lets set the angle of the movement to be down. angle=-2.
Now you need to set the sound of the water brush. You can either have 0)no sound, 1)water, 2)lava. lets make it have a water sound. sounds=1
You can also specify the speed of the movement, the wait before returning, and the lip remaining at end of the move.
Okay, the final thing to do to get your func_water to work is to make the trigger that will start the movement of the water. Any kind of trigger will work. If you want the water to bob up and down continuously you will need to use a func_timer. If you want to make a lava trap you will need to use a trigger_once, trigger_multiple, or a func_button.
so all that is left to do is choose what you are going to use
the func_water for and pick the trigger entity that you
wish to use and set the target of the
trigger entity to the name of the func_water. target=water1