Stapel-Kette
Manche Auslöser werden nur aktiviert, wenn vorher ein passender Effekt ausgeführt wurde. Das erlaubt eine Kette von Ereignissen, weil üblicherweise der Auslöser zuerst aktiviert wird. Im vorherigen Artikel hatten wir gelernt, dass der Auslöser der 1. Dominostein ist. Das bleibt auch weiterhin Tatsache. Dieser Artikel zeigt nun, welche Auslöser welche Effekte brauchen und wie eine Dauerschleife gebaut werden kann.
Weiterleitungen und Stapelketten
Wir wissen nun bereits, dass Effekte, die einen Habbo benötigen, den Habbo auswählen, der den Stapel ausgelöst hat. Man könnte auch sagen, der Auslöser hat den Habbo an den Effekt weitergeleitet (informationstechnisch gesehen). Bei manchen Stapelketten erfolgt diese Weiterleitung sogar über mehrere Stapel hinweg, sodass der auslösende Habbo auch dem letzten Stapel noch bekannt ist. Aber zuerst... warum sollte man sich damit beschäftigen? Hat das irgendeinen Mehrwert? Ja! Hier einige Gründe:
Sehen wir uns nun an, welche Auslöser konkret welchen Effekt benötigen. Übrigens, leiten nicht alle den auslösenden Typ zum nächsten Stapel weiter. (Die Ausnahmen bedeuten, dass einige Auslöser noch anders aktiviert werden können).
- Manche Auslöser lassen sich ausschließlich durch einen vorherigen ausgelösten Stapel aktivieren.
- Trägt zum Gesamtverständnis der Wireds bei.
- Erlaubt mehrere Möglichkeiten für neue Methoden.
- Leichtere Fehlererkennung bei Stapelketten.
- Damit können While/For-Schleifen gebaut werden (besonders für Programmierer interessant - dazu später mehr).
Sehen wir uns nun an, welche Auslöser konkret welchen Effekt benötigen. Übrigens, leiten nicht alle den auslösenden Typ zum nächsten Stapel weiter. (Die Ausnahmen bedeuten, dass einige Auslöser noch anders aktiviert werden können).
Sekundäre Auslöser
Kollision - Eine Kollision findet nur statt, wenn einer der folgenden Effekte ausgeführt wird und das Möbel einen Habbo trifft: Angriff, Flucht oder Möbelrichtung ändern. Hierbei wird zwar der auslösende Habbo nicht von Stapel 1 zu Stapel 2 weitergeleitet, aber es benötigt dennoch eine Stapelkette aus 2 Stapeln, um Kollision nutzen zu können. Ausnahmen: Keine.
|
Zum programmierten Zeitpunkt - Löst zum eingestellten Zeitpunkt aus. Damit er das tun kann, braucht es aber einen Effekt, der die Zeit auf 0 setzt, nämlich Timer zurücksetzen. Sonst würde der Auslöser ja nicht wissen, wie viel Zeit vergangen ist von welchem Zeitpunkt aus gesehen. Ausnahmen: Wird der Raum userleer neu geladen, wird die Zeit des Auslösers ebenfalls resettet und es löst nach x Sekunden des Neuladens aus.
|
Erreichter Punktwert - Punkte geben und Punkte übertragen sind die Effekte, die gebraucht werden, um Teampunkte zu erhalten. Dabei muss ein Spiel-Timer am Laufen sein, und idealerweise sollte jemand in einem Team sein. Ausnahmen: Blobs und auch ByeBye Böden vergeben ebenfalls Teampunkte, wodurch natürlich auch bestimmte Punkte erreicht werden können.
|
"Tertiäre" Auslöser
Wenn man es so sehen will, sind folgende Auslöser auch nur durch bestimmte Effekte (eher indirekt) aktivierbar:
Spiel beginnt - Die Effekte Möbelzustände umschalten und Zähler kontrollieren starten den Spiel-Timer. Durch den Start des Timers wird immer auch ein Spiel gestartet (z. B. Freeze oder Banzai). Und wird ein Spiel gestartet, löst dieser Auslöser dann letztendlich aus. Ausnahmen: Jemand mit Rechten verwendet einen Spiel-Timer, der natürlich auch das Spiel startet.
|
Spiel zuende - Der Effekt Zähler kontrollieren kann den Spiel-Timer stoppen. Stoppt (nicht pausiert) ein Timer, dann wird das Spiel (z. B. Freeze oder Banzai) beendet und der Auslöser aktiviert. Ausnahmen: 1. Countdown-Timer laufen zu Ende, 2. jemand mit Rechten beendet den Spiel-Timer manuell. 3. wird auch ausgelöst, wenn bei Freeze oder Banzai ein Sieger feststeht und dadurch der Spiel-Timer automatisch beendet wird.
|
Primär und Sekundär
Manche Auslöser müssen nicht, können aber mit Effekten aktiviert werden, was interessant werden kann. Um den Rahmen nicht zu sprengen, hier nur ein Beispiel:
Zur Info
Ihr solltet nicht alles auswendig lernen! Diese Liste soll nur verdeutlichen, wie und wo Mehrstapelsysteme konkret auftreten oder auftreten können. Mit der Zeit wird vieles selbstständig erkennbar. Wenn ihr auf das eine oder andere trefft, wisst ihr nun, dass es diesen Artikel gibt, wo ihr nachschauen könnt, wenn etwas unklar ist. Das Einzige, was ihr von der Liste auswendig kennen solltet, ist Kollision. Das ist eine wichtige Grundlage. Möchtet ihr tiefer ins Wired einsteigen, sind die Signal-Wireds am besten dafür geeignet.
Praktische Nutzanwendung für Wired-Schleifen
Mit dem Wired-Verhalten, dass Stapeln sich gegenseitig auslösen/ausführen können (oder manchmal sogar müssen), ergibt sich die Möglichkeit, eine Reihe von Stapeln zu nutzen und sogar einen Stapel als Schleife zu verwenden. Um zu verstehen, wie das genau gemeint ist, gibt es nun eine praktische Anwendung dazu. Das Ziel besteht darin, ein Würfelsystem einzustellen und eine Kugel entsprechend der gewürfelten Augenzahl zu bewegen. Eine Lösung davon kann wie folgt aussehen (es gibt natürlich mehrere Varianten, dies zu lösen):
Kurzbeschreibung: Ein User verwendet einen Schalter, und eine Zahl wird zufällig (1-6) bestimmt. Jede Zahl wird verknüpft mit derselben Anzahl an bestimmten Möbeln, die in eine Fläche landen. Ein weiterer Stapel wird beim Verwenden desselben Schalters ausgelöst und sendet ein Signal zu einem 3. Stapel. Dieser 3. Stapel sorgt für die Bewegung und wird so oft ausgelöst, wie es Möbel innerhalb der Fläche gibt. Pro Ausführung wird ein Möbelstück zurückgeschickt, und wenn sich keines mehr innerhalb der Fläche befindet, stoppt der Stapel und somit auch die Kugelbewegung.
Zugegebenermaßen ist das eine ziemlich fortgeschrittene Technik, aber es lohnt sich zu wissen, dass es Anwendungsfälle gibt, wenn man sich irgendwann besser mit Wireds auskennt. Nun zu den Details:
1. Stapel - Wird ausgelöst, sobald jemand den Schalter (rot markiert) verwendet. Mit dem Extra Zufälliger Effekt wird nur einer der 6 Posi-Wireds (= Möbelstück nimmt Zustand und Position ein) ausgeführt. Das andere Extra Ausführungslimit ist auf eine Ausführung pro 3,5 Sekunden gesetzt, damit keiner den Schalter spammen kann. Wieso 3,5 Sekunden? Ganz einfach, würfelt man im höchsten Fall eine 6, sind das 6 Bewegungen. Jede Bewegung dauert 0,5 Sekunden, was zusammen 3 Sekunden sind, und erst nach den 3 Sekunden - also 3,5 s - soll das nächste Würfeln erlaubt werden. Die Posi-Effekte haben nicht nur alle eine andere Zahl vom Nummernbauklotz gespeichert, sondern auch die in blau markierten Farbwürfeln. Dieses GIF zeigt es besser:
Im 1. Posi-Effekt sind Zustand 1 + 1 Farbwürfel gespeichert, Posi 2 hat Zustand 2 + 2 Farbwürfel gespeichert... bis 6. Posi mit 6. Zustand und 6 Farbwürfeln. Die richtige Anzahl an Farbwürfeln bewegen sich ein Feld vor, wenn Posi-Effekt ausgeführt wird.
2. Stapel - Nun brauchen wir ein System, das die richtige Anzahl an Bewegungen ermittelt und ausführt. Der 2. Stapel eignet sich ideal dafür, dieses System zu starten, weil wir erneut Möbel wird verwendet nutzen. Denn wenn jemand den Schalter verwendet, soll ja nicht nur die zufällige Zahl ermittelt werden, sondern dann auch die Bewegung stattfinden, daher der gleiche Auslöser. Auch hier bauen wir mit Ausführungslimit den Spamschutz ein. Und ganz wichtig ist das Signal, das den 3. Stapel auslöst.
Vielleicht entsteht die Frage, warum wir nicht alles mit dem 2. Stapel einstellen und einen 3. brauchen. Der 2. Stapel dient als Übergang bzw. Zeitüberbrückung. Zum Zeitpunkt des Hebelns (Schalter) befinden sich noch keine Farbwürfel im Feld, sondern erst, wenn dies ausgeführt wurde. Aber der 2. Stapel löst ja zeitgleich aus, wenn gehebelt wird. Somit kann der Stapel nicht detektieren, wie viele Farbwürfel ausgesucht werden. Nach der Ausführung des 2. Stapels beginnt der 3. Stapel auszuführen, und jetzt zu diesem Zeitpunkt sind die ausgesuchten Farbwürfel an richtiger Stelle, um sie zu manipulieren. Damit hätten wir unsere erste Nutzanwendung zum Thema Weiterleitungen - Zeitüberbrückung.
3. Stapel - Dieser Stapel ist eine While-Schleife. Das bedeutet, er wiederholt seine Ausführungen, solange die Bedingung gültig ist. Im Signal-Auslöser sind beide Antennen ausgewählt. Die 1. Antenne ist für den Start (siehe 2. Stapel). Die 2. Antenne für die While-Schleife. Das hätte auch mit einer gehen können, ist aber übersichtlicher mit zwei. Signal-Effekt sendet nach 0,5 s ein Signal an Antenne 2. Dadurch wird die Wiederholung bewirkt, weil jetzt der Signal-Auslöser wieder auslöst und der Effekt wieder ein Signal sendet (theoretisch unendlich oft). Wir haben quasi ein Effekt wiederholen gebaut.
Die Kugelbewegung kann jetzt alle 0,5 s mit Möbelrichtung ändern stattfinden. In unserem Beispiel muss die Kugel bei Hindernis um 90 Grad nach rechts ausweichen. Möbel bewegen und drehen nutzen wir für die Farbwürfel. Wir wählen darin keine festen Möbel aus, sondern erweitern das, indem wir "Möbel vom Selektor nehmen" auswählen. Wir möchten nämlich, je nach Situation, nur die richtigen Farbwürfel bewegen lassen. Damit Möbel bewegen und drehen weiß, welche er bewegen soll, nutzen wir Selektoren. Möbel im Bereich wählt die Böden, wo sich die Farbwürfeln befinden, wenn sie durch den 1. Stapel bewegt werden. Wenn also Farbwürfel in diesem Bereich hinkommen, werden sie vom Selektor aufgenommen und an Möbel bewegen und drehen geschickt. So weiß der Effekt, welche Farbwürfel zu bewegen sind.
Wir filtern das Ganze mit Filter auf X Möbel, weil der Selektor nicht alle als Bündel gleichzeitig wählen soll, sondern immer nur einen der Würfel im Bereich. Der Grund dafür ist, dass sonst nach einmal Auslösen alle auf einmal bewegt werden und es keine Schleife gibt. Der Stapel soll aber so oft auslösen, wie es Farbwürfel gibt. Die Anzahl der Farbwürfel entspricht ja der Augenzahl des eigentlichen Würfels. Das bedeutet schlussendlich, wenn jeder Farbwürfel einzeln zurückbewegt wird, wird so oft die Kugelbewegung ausgelöst, wie die Augenzahl anzeigt. Am Ende benötigen wir noch einen Stapel-Stopp, was immer durch Bedingungen gemacht wird. Sonst hört die Schleife nicht auf auszulösen. Wir nutzen Ausgewählte Menge und stellen ihn auf "Höher als 0" ein. Beachte: Die Quelle muss auf "Möbel vom Selektor nehmen" ausgewählt sein! Die Schleife geht also so lang, bis es keine Farbwürfel mehr im ausgewählten Bereich gibt.
Das Gesamtergebnis sieht so aus:
Auch wenn dieser Artikel nicht leicht war, hilft es einem Anfänger, jeden Auslöser schneller zu erlernen, allein wenn ihm bekannt ist, dass manchmal mehr als ein Stapel gebraucht wird, um einen Auslöser testen zu können. Wenn das das einzige war, dass Du hiervon verstanden hast, ist das ein Riesenerfolg! Hier findest du einen Artikel, der ähnlich ist (etwa 50 % ist gleich), aber aus einer anderen Perspektive geschrieben ist, in einem anderen Kontext. Es kann dir helfen, das Thema besser zu verstehen, wenn Du denkst, dass Du es definitiv besser verstehen musst/willst.