Community-Tutorials (Source)

Jumppads ala Quake3

Tut zu Jumppads:

1.Einleitung
2.Jumppads nach Vorne
3.Jumppads nach Oben
4.Jumppads nach schräg oben/vorne (Folgt demnächst)

5.Gravi-Tunnel (Folgt demnächst)

1.Kleine Einleitung:

Also ich will so ähnliche Jumpads machen wie in Quake3, aber es ist in der Source-Engine etwas komplizierter und es kann vorkommen, dass Source meckern wird, wenn der Player mit trigger_push - Speed 5000-10000 hoch oder nach vorne katapultiert wird. :D
Aber man kann diese Fehlermeldung einfach ignorieren.

Das wichtigeste ist, dass man, wenn man zB. bei einem Jumppad das nach oben geht wieder runter will, keinen Schaden bekommt; d.h. man muss einen Brems- und Powerpusher machen, die perfekt aufeinander per Outputs abgestimmt werden.

Die ganzen Jumpteile hab ich selbst erfunden und hab auch lange herumexperimentiert um sie zu perfektionieren. Und jetzt stelle ich sie jedem zum selber bauen zur Verfügung.

So jetzt fangen wir endlich mal an ;)

Also noch als kleines 2. Vorwort:

Die Source-Engine akzeptiert bei trigger_push nur immer eine Koordinate, d.h. wir müssen, falls wir zB 40° hoch
(z-achse) und 180°(x-achse) springen möchten, die Engine austricksen und das mit 2 trigger_push machen.
Ich werde auf das später im Tut noch eingehen.


2.Jetzt erkläre ich wie man nach vorne jumpen kann:

Wir bauen ein Plattform, die je nach Sprungläge ein wenig schräg sein soll.
Dann setzen wir direkt auf die Plattform ein Trigger_push, aber man muss darauf achten, dass es nicht zu klein wird
und dass er auch diese schräge Bauweise der Plattform hat.
Ich empfehle, dass es 40-80Units groß ist.
Wir geben dem Trigger_push den Namen Push001
Dann müssen noch die Richtung (push direction) eingestellt werden und der Speed; der Speed isr bei jedem individuell,
d.h. ich kann euch da keine genauen Angaben geben.
Aber bei einer Sprungweite von 256Units muss man an die 1000-1200 einstellen.

Falls man von der anderen Seite auch zurückspringen möchte:
Setzen wir etwa 16-24 Units vor dem Trigger_push einen Tigger_multiple, der ein bisschen größer als der Trigger_push ist. (siehe bild)
Dieser soll dann den Trigger_push (push001) deaktivieren, wenn wir von der anderen Seite kommen.(vom push002)
Dafür stellen wir in den Outputs folgende Werte ein:
Ontrigger, Push001, Disable, Delay 0
und:
Ontrigger, Push001, enable, Delay 1-2sek (also zB 1.5)

Dann machen wir gegenüber genau das selbe, nur dass der Trigger_push Push002 heißt und sich die Outputs vom
Trigger_multiple auf den Push002 beziehen.
Am schnellsten geht es, wenn man das erste Jumppad kopiert, um 180° (z-achse) dreht und alle namen und outpust angleicht

bild18od.th.jpg

Dann sollte man die Werte, wie Speed, Plattformschräge und Richtung solange testen, bis man die richtige
Sprungreichweite erreicht.
Falls man noch nicht auf den ersten Test die richtige Reichweite hat, kann man den Speed oder andere Werte
erhöhen oder senken.

Schlusswort zu Punkt 2:
Wie weit man tatsächlich springt, also die Sprungreichweite, hängt von der Länge und Neigung der Plattform und von dem Speed des Trigger_push ab.

Es kann auch vorkommen: zB wenn ich Delay 1-2 schreibe, und der Tut-Leser ein delay von 2 nimmt, dass dann das Jumppad nicht richtig geht.
Aber wenn man dann ein Delay von 1,5 einsetzt geht es schon.

Also man kann dafür keine genau Formel entwickeln.
D.h. Die Präzisionsarbeit muss der Tut-Leser selber machen.
Man sollte einfach ein bisschen mit den vorgegebenen Werten experimentieren bis man die richtigen Einstellungen bekommt.
Ich erbitte dafür um Verständnis

3. Der Sprung nach oben:

Zuerst bauen wir wieder ein Plattform (bei mir: 96x*96y*4z)
Dann setzen wir über der Plattform ein etwas kleineres Trigger_push (92x*92y*48z), das mind. (!!!) 80Untis über dem Boden ist,
damit man erst auf der Plattform springen muss bevor man hochjumpt.
Dem trigger_push geben wir den Namen UpPush001

Dann stellen wir die Richtung ein (up) und den Speed
Bei einer höhe von 640-650 sollte der Speed etwa auf 3500-3600 sein.

bild21kq.th.jpg

So jetzt kommen wir zwar hoch, aber nicht auf den Steg/Plattform die 640 über Boden ist, da der Pusher uns
bloß nach oben pushed.
Damit wir auch dort hinkommen, wo wir wollen, müssen wir 620-630 Units über dem Jumper, direkt anschließen zum Steg einen
Trigger_push machen.
Der sollte viel größer sein als der UpPush001. Bei mir (160x*192y*128z)

Dann geben wir ihm den Namen UpPush002, die richtige Richtung (bei mir in der Top-Ansicht = links)
und den Speed um die 100-300.
Dann stellen wir ihn noch auf disable. (Start_disabled auf "yes" stellen)

bild33rk.th.jpg

Damit der UpPush002 nur enable ist, wenn wir ihn benötigen, bauen wir einen Trigger_multiple 32units unter dem
UpPush002, aber mit der selben x-,y-Größe des UpPush002 und einer z-Dicke von mind. 64!
In dessen Outputs geben wir dann folgendes ein:

OnTrigger, UpPusher002, Enable, Delay 0
OnTrigger, UpPusher002, Disable, Delay 1 (max2)

Damit werden wir sobald, wir den Trigger erreichen auf den Steg gedrückt.

bild49zc.th.jpg

Falls man wieder von oben runter will ohne Schaden zu bekommen:

Da der Uppusher001 den Player etwas höher als 640Units (700-750) pushed, und man beim runterspringen genau von 640 Units springt,
kann es beim runterspringen vorkommen, dass man nicht genügend Fallkraft hat um durch den UpPush001 zu kommen und dann vom Pusher
wieder nach oben gedrückt wird.

Um dies zu verhindern macht folgendes:

Setze:
1. einen Trigger_multiple etwa 80 Units über den UpPush001; mit den selben x-,y-Größen des UpPusher001 und einer z-Dicke von
mind. 64Units.
2. einen Trigger_push direkt mit der unteren Hälfte in den UpPush001; mit den selben x-,y-Größen des UpPusher001 und
einer z-Dicke von max. 32Units. Gib ihm den Namen DownPush001
Stell folgende Werte ein:

Richtung: (down)
Speed: ein 5tel des UpPush001 Speeds -->(noch im test!!!!!)
Start disabled: yes

Beim dem neuem Trigger_multiple stelle ihr unter den Outputs dies ein:

OnTrigger, DownPush, enable, delay 0
OnTrigger, DownPush, disable, delay 1-2 (ich habe 1.5)

So jetzt sollte man genügen Kraft haben um durch den UpPush001 zu kommen.

bild56hf.th.jpg


4.Schräg Springen :D (noch in entwicklungs- und testphase)

-x-x-x-x-x-
-x-x-x-x-x-
-x-x-x-x-x-

5.Jumptunnel (In arbeit---habt bitte verständnis)

-x-x-x-x-x-
-x-x-x-x-x-
-x-x-x-x-x-

Beispielmap:
(Kommt, wenn tut fertig)

Ende:
Falls noch irgenwelche Fehler im text sind (schreibfehler, sinnlose Sätze) dann sagt es mir!!!
Und entschuldigt für die Mieße jpg-Quali der Bilder

Ich mache auch, falls manchen das Tut zu kompliziert ist, auf bestellung Jumppads
in jedlicher Form, aber dazu muss mir die vmf geschickt werden.