Anzeige:
Anzeige:
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Schleifen im mIRC

Es gibt zwei Möglichkeiten im mIRC eine Schleife zu scipten. Die Erste ist mit einem Sprungbefehle "/goto", den Einige vielleicht noch aus Basic Zeiten kennen. Diese Möglichkeit wird hier jedoch nicht näher erläutert. Der Grund dafür ist das ich die Scripte damit für unübersichtlich halte. Wenden wir uns also der zweiten Möglichkeit zu eine Schleife zu implementieren. Dazu benutzen wir den Befehl "/while", wozu ich auch gleich mal ein Beispiel anführe.

 

Alias myrooms { var %zähler 1 var %rooms while (%zähler <= $chan(0)) { %rooms = %rooms $chan(%zähler) inc %zähler } return %rooms }

Dieser Code stellt einen Identifer dar, der einen String mit allen aktuellen Räumen in denen man ist zurückliefert. Schreiben wir als noch ein kleines Script das diesen neuen Identifer benutzt.

Alias rauminfo { msg $active Ich bin in den Räumen: $myrooms }

Jetzt könnt ihr in jedem Query oder Channel den Befehl "/rauminfo" benutzen. Daraufhin wird in das jeweilige Fenster die Meldung ausgegeben in welchen Räumen ihr seit. Doch schauen wir uns jetzt die Schleife noch einmal genauer an. Sie besteht als erstes aus dem Befehl "/while". Diesem Befehl folgt eine Bedingung wie ihr sie von den Abfragen her kennt. Die Schleife wird so lange ausgeführt wie diese Bedingung TRUE ergibt. Das heisst also das die Bedingung innerhalb der Schleife verändert werden muss. Würde man eine feste Bedingung definieren hätte man eine sogenannte Endlosschleife, die zum Absturz des mIRC führt. Bei unserem Beispiel haben wir eine Variable die bei jedem Schleifendurchlauf um 1 erhöht wird. Sobald der Wert der Variablen grösser ist als die Anzahl aller aktuellen Räume wird die Schleife verlassen. Dann fährt das Script hinter dem Schleifenkörper mit der Ausführung fort. Der Schleifenkörper wird durch die geschweiften Klammern begrenzt, in Ihm sind die Befehle die bei jedem Schleifendurchlauf ausgeführt werden. Wichtig ist eben das in diesem Schleifenkörper auch die Bedingung verändert wird damit keine Endlosschleifen entstehen.

Viel mehr gibt es über die Schleifen auch nicht zu berichten. Ausser das vielleicht noch angemerkt werden sollte, dass wenn ihr Ausgaben im Schleifenkörper durchführt, ihr mit dem Floodschutz aufpassen müsst. Sonst kann es passieren das ihr aus dem Raum wo ihr die Ausgaben durchführt gekickt werdet.