Rutschige Böden (func_friction)

In diesem Tutorial geht es um rutschige Böden in Counter-Strike, wie man sie für Eisflächen oder Kühlräume einsetzten kann.

Als erstes baut ihr euer Level fertig. Dann solltet ihr euch überlegen, an welchen Stellen ihr den Boden rutschig machen wollt. Aber seit nicht zu großzügig damit, weil diese Flächen das Gameplay stark beeinflussen können. Ihr hab euch beispielsweise für einen zugefrorenen Fluss entschieden. Jetzt baut ihr über den Fluss einen Brush mit 1-4 Units Höhe. Er sollte nicht höher sein, sonst hätte er auch Einfluss auf den Spieler, wenn dieser zum Beispiel über den Fluss springen würde, also das Eis gar nicht berührt. Welche Textur ihr diesem Brush gebt ist nebensächlich, da man ihn am ende eh nicht sieht. Jetzt markiert ihr den Brush und drückt Strg+T um ihn zu einem Entity zu machen. In dem erscheinenden Fenster wählt ihr als Class func_friction aus. Die Parameter stellt ihr auf folgende Werte:

  • Render FX: Normal (ist eh schon drin)
  • Render Mode: Texture
  • FX Amount: 0 (ist normal auch schon so)
  • FX Color: 0 0 0 (ist eigentlich egal, laßt's einfach so)

Jetzt kommt der wichtigste Wert bei der ganzen Sache: Percentage of standard. Er gibt an, wie gut eure „Bodenhaftung“ nachher im Spiel ist. Diesen Wert könnt ihr auf alles zwischen 0 und 100 einstellen.

100 bedeutet normales Laufen, 0 gar keine Kontrolle mehr über die Laufrichtung oder -geschwindigkeit. Nehmt am Anfang irgendwas zwischen 10 und 40. Am besten probiert ihr ein bißchen rum, bis ihr einen geeigneten Wert gefunden habt. Es gehen auch Werte unter 0, aber dann verhält sich der Spieler wie ein unkontrollierbarer Ping-Pong-Ball und HL bringt auch irgend eine komische Fehlermeldung in der Console, die das Spiel zwar nicht abstürzen läßt, aber sicher nicht so optimal ist.


Jetzt kommt das wichtigste. HL setzt eure „Bodenhaftung“ auf den Wert, den ihr bei Percentage of standard eingestellt habt, sobald ihr in das Entity reinlauft. Allerdings wird der Wert nicht zurückgestellt, wenn ihr wieder rauslauft. Vielleicht soll damit verhindert werden, das man sich einen Vorteil durch Springen holt oder die Engine packt es einfach nicht richtig. Ist ja eigentlich auch egal. Wichtig ist jedenfalls, dass ihr den Wert also wieder von „Hand“ zurückstellen müsst. Wenn ihr das nicht macht fangt ihr an im ganzen Level herumzurutschen, wenn ihr einmal eine rutschige Fläche betreten habt. Das Zurückstellen macht ihr folgendermaßen:

Bleiben wir bei unserem zugefrorenen Fluss. Ihr müsst jetzt an jede Stelle, an der man den Fluss verlassen kann (z.B. Böschung, Steg, etc.) ein weiteres Entity func_friction erstellen. Einfach die Arbeitsschritte von oben wiederholen, mit zwei Ausnahmen: Der Entity muss so gebaut sein, das der Spieler AUF JEDEN FALL durchläuft, wenn er vom Fluss runtergeht. Macht ihn am besten 128 Units hoch, dann kann man auch nicht darüberspringen. Für Percentage of standard müsst ihr noch 100 einstellen. Auf diese Weiße wird eure „Bodenhaftung“ wieder auf normal gestellt, wenn ihr von dem Fluss runter geht.


Als letztes noch eine Warnung: Achtet immer darauf, dass unter eurem func_friction noch ein normaler Brush ist. Entitys, die als func_friction definiert sind, sind nämlich nicht solid. Dass heißt, man kann durchgehen, beziehungsweise durchfallen, wenn darunter nichts mehr ist. Außerdem würde es wohl ein Leak erzeugen, wenn ihr so ein Ding an den Levelrand baut. Dann sollte der func_friction auch immer durchsichtig sein (macht man mit der Render Mode-Einstellung siehe oben), weil es schon ein wenig komisch aussieht, wenn ein Spieler bis zum den Knien in einem gefrorenen Fluss versinkt. Aber das bleibt Geschmackssache und kommt auf das Level an. Bei einer Schneelawine wäre es wiederum ganz passend.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life/tutorials/rutschiger_boden.txt · Zuletzt geändert: 2004/12/19 11:30 von Dr.Zenz