Um in diesem Tutorial auf so wenig Schwierigkeiten wie möglich zu stoßen, solltet ihr euch dieses Tutorial vorher durchgelesen haben: Erstellen von Wasser
Zuallererst wird in dem zu flutenden Raum ein Brush erstellt. Dieser muss dabei so hoch sein, wie der Raum nach der Flutung voll Wasser sein soll. Sollte der Raum z. B. 512 Units hoch und halb gefüllt am Ende sein, so müsste der Brush 256 Units hoch sein. Wie auch sonst bekommen alle Seiten, außer der Oberen die Nodraw Textur. Bei der Auswahl des Materials für die Oberseite ist es wichtig, dass ihr eine Textur wählt, welche _movingplane in ihrem Namen hat. Solltet ihr eine Textur mit Dx9 Spiegeleffekten nehmen, wird es zu Darstellungsfehlern kommen, weil wir diesen Brush zu einem func_water_analog nun machen müssen. Wenn sich der Raum von unten nach oben füllen soll, könnt ihr folgende Einstellungen vornehmen:
Anschließend wird der Brush um so viele Units nach unten verschoben, wie er hoch ist. Wenn sich jedoch schon zu Beginn ein wenig Wasser in dem Raum befinden soll, könnt ihr entweder die Start Position in den Einstellungen verändern oder ihn schon im Hammer ein Stückchen in dem Raum lassen. Dabei müsst ihr dann aber beachten, dass die Anzahl der Units die er in den Raum ragt von der Move Distance abgezogen werden muss. Sollte er im Beispiel also schon 32 Units in den Raum rein ragen, so wäre der Wert 256-32=224. Danach wird um das func_water_analog Brush-Entity, das nun wahrscheinlich unten aus der Map ragt noch ein Kasten gebaut, damit dieser kein Leak erzeugt.
Wichtig beim Button ist lediglich, dass er folgenden Output erhält:
| Output | Target Entity | Target Input |
|---|---|---|
| OnPressed | Names des func_water_analog | Open |
Und das wars auch schon. Sobald nun der Button gedrückt wird (OnPressed), bewegt sich das Wasser um die angegebene Distanz (Move Distance) mit der angegebenen Geschwindigkeit (Speed) in die angegebene Richtung (Move Direction).