Guten Morgen, liebe Mappingfreunde.
Vorab möchte ich sagen, dass dies mein erstes Tutorial ist, also würde ich gerne und viel Kritik hören, damit ich diese und folgende Tutorials umfangreicher und verständlicher formulieren kann.
Auf Wunsch einiger Mitglieder habe ich mich dazu aufgerappelt, meinen kleinen Post für Ice als richtiges Tutorial zu schreiben. Damit auch Anfänger im Input/Output-System hier mitkommen, (wer das nicht kennt, sollte sich das hier vorher durchlesen) werde ich nicht nur nach dem Schema mache dies, mache das, gehen, sondern auch immer genau erklären, was bei den Prozzesen passiert. Ich möchte euch zeigen, wie ihr ein Schiff baut, welches untergeht, sobald eine bestimmte Menge an Brushes des Schiffes weggeschossen wurden. Die Musterlösung, welche auch mein Ideengeber für dieses Tutorial war, sollte die Map mg_piratwars sein. Für alle, über dessen Kopf ein großes HÄ??? steht, schaut euch dieses Video an:
Wie man sieht, ist es egal, welche Teile des Schiffes man zerschießt, wenn man eine bestimmte Anzahl an Teilen zerschossen hat, sinkt das Schiff. Damit es übersichtlich bleibt, ist mein Schiff sehr einfach konstruiert (Und vielleicht auch, weil mein Brushwork nicht wirklich gut ist:ugly:).
Das Schiff besteht aus 10 Brushes.
Die 2 Bodenbrushes und das Segel mit Mast habe ich zusammengezogen, nun sind es noch 8.
Wir brauchen:
8x func_breakable
1x math_counter
1x func_tracktrain
2x path_track
So nun gehts aber los:
Jeden deiner Brushs machst du zu einem eigenständigen func_breakable (außer du ziehst, wie ich, 2 Brushes zusammen).
Zu den Values (jedes func_breakable bekommt die gleichen Einstellungen):
Name: Break1, Break2, Break3, ...Break8 (jedes func_breakable bekommt einen anderen Namen)
Parent: func_tracktrain
Strength: 100 (je nachdem, wie stabil das Schiff sein soll)
Gut, nun zur Erklärung:
Wenn eines der func_breakables bricht (OnBreak) dann wird dem math_counter ein Wert von 1 hinzugefügt (Add). Das passiert ohne Verzögerung (0.00).
Weiter im Text:
Nun wird das eben genannte math_counter Entity erstellt.
Zu den Values:
Name: math_counter (variabel)
InitialValue: 0 (Standarteinstellung)
MinimumLegalValue: 0 (Standarteinstellung)
MaximumLegalValue: 4 (auch variabel:D)
Nun zur Erklärung:
InitialValue ist der Wert, den dass math_counter bei jeder neuen Rune zugewiesen bekommt.
MinimumLegalValue ist der minimale Wert, den das math_counter haben darf.
MaximumLegalValue ist dann logischer Weise der maximale Wert.
OnHitMax bedeutet, wenn das math_counter seinen maximalen Wert erreicht hat, (4) wird dieser (dieses?:haeh:) Output ausgelöst. Bei diesem Wert könnt ihr selbst entscheiden, wie viele func_breakable zerschossen werden müssen, damit das Schiff sinkt. Es sollten aber nicht mehr sein, als das Schiff hat;).
Func_tracktrain wird unser "Sinker" für das Schiff sein, der wie ein Aufzug nach unten fährt.
StartForward bedeutet einfach, dass es abwärts geht:p.
So, nun fehlt nur noch die Fahrt nach unten:
Ihr erstellt 2 path_track-Entities und plaziert sie ungefähr so, dass eins in der Mitte des Bootes und eins irgendwo unten, wo man das Schiff dann nicht mehr sehen kann.

Das Obere bekommt diese Values:
Name: path_oben
NextStopTarget: path_unten
NewTrainSpeed: 5
Das Untere bekommt diese Values:
Name: path_unten
NextStopTarget: path_oben (eigentlich unnötig)
Das (der) Output ist dasselbe wie beim path_oben.
Jetzt fehlt nur noch das func_tracktrain, welches du am Besten aus einer NoDraw-Textur erstellst. Der Mittelpunkt des func_tracktrain sollte genau auf dem des oberen path_track liegen und es sollte sich auf jeden Fall an einer Stelle befinden, wo man nicht hinläuft, weil ich nicht weiß, ob man das func_tracktrain NotSolid machen kann.
Zu den Values:
Name: func_tracktrain
FirstStopTarget: path_oben
Hier auch noch die Flags bearbeiten:

So und nun wieder die Erklärung:
Beim Rundenstart landet der Aufzug zuerst beim path_oben (FirstStopTarget: path_oben) und er stoppt sofort. (OnPass = Beim Passieren, vorbeifahren; Stop = stoppen, was auch sonst:D)
Wenn nun der (das) Output vom math_counter ausgelöst wird, fährt er vorwärts, also nach unten, da ja der nächste Stop des path_oben das path_unten ist. Dort stoppt er wieder, also das Schiff ist untergegangen.
So, das wars eigentlich, seit kreativ.
Ich werde dieses Tutorial jederzeit nach euren Wünschen anpassen.
Zu guter Letzt noch die Beispielmap und dann bin ich auch schon fertig:D
Mit freundlichen Grüßen Subway


