Häufig gestellte Fragen (FAQ) über mIRC Die mIRC FAQ bearbeitet Tjerk Vonck mIRC FAQ Version 37 Überarbeitung 0 Letztes Update der FAQ: 23. Juni 1998 Neueste mIRC-Version: 5.4 erschienen am 23. Juni 1998 Übersetzung aus dem Englischen: Sebastian Morawietz Diese FAQ versuchen die am häufigsten gestellten Fragen zu dem von Khaled Mardam-Bey entwickelten Winsock-IRC-Client mIRC zu beantworten. Sie beschäftigen sich nur oberflächlich mit den allgemeinen Fragen zum IRC, da hierzu schon eine große Menge an Informationen anderorts zu finden ist. Diese FAQ - genauso wie mIRC selbst - unterliegen einer ständig fortschreitenden Entwicklung! Die meisten Themen in dieser Datei stammen von Fragen gestellt in den Usenet Newsgroups (Nachrichtenund Diskussionsforen) alt.irc.mirc und alt.irc.questions. Bitte schickt auch weiterhin Fragen wie Antworten, da diese Newsgroups auch mein Wissen ständig vergrößern. ;-) Diese FAQ sind vielleicht nicht ganz vollständig, aber die enthaltenen Informationen sind meines Wissens nach korrekt. Zögert aber bitte nicht, weitere Fragen, Korrekturen oder sonstige Informationen beizusteuern. Die ersten Teile (Abschnitte 1-6) dieser Datei sind die eigentlichen FAQ. Die folgenden Teile bestehen aus einem Lehrbuch bzw. einer Bedienungsanleitung für mIRCs "Programmieroberfläche". Wenn ihr Euch mit dem konfigurieren von Aliases, PopUps (Kontextmenüs)
und Remote Commands/Events befassen wollt, dann seht Euch diese Abschnitte an. Ich kann es allen empfehlen. Danksagungen - Ich danke all den Leuten, die aus freien Stücken zu den FAQ beigetragen haben. Mein spezieller Dank geht an Mookies, Bryan und LiOnheart für ergänzende HTML-Arbeit. Shorty und Quasimtoep: danke für das Aufspüren vieler Grammatik- und Rechtschreibfehler. Alle auf die FAQ bezogenen Anmerkungen könnt Ihr an
[email protected] emailen (Übersetzer:
[email protected]). Fragen über mIRC stellt ihr am besten in der Newsgroup alt.irc.mirc. Sendet alle Berichte über Fehler im mIRC-Programm direkt an:
[email protected] Wenn Ihr weitere Fragen über mIRC habt, dann besucht den Channel #mIRC in einem der Haupt-IRC-Netzwerke. Solltet Ihr Fragen stellen, die in diesen oder anderen FAQs gut behandelt werden, akzeptiert, wenn ihr darauf verwiesen werdet. Diese FAQ sind auch im World Wide Web auf den mIRC-Homepages erhältlich: http://www.mirc.co.uk/
England
http://www.mirc.com/
USA
http://www.nip.nl/mirc/
Niederlande
http://mirc.kems.net/
Kuwait
http://www.mirc.com.ar/
Argentinen
http://www.conesul.com.br/mirc/ Brasilien http://www.mirc.co.za/
Südafrika
http://www.mirc.queen.it/
Italien
http://mirc.eon.net.au/ Australien Neue Versionen der FAQ sind auch im Channel #mIRC auf dem IRC oder per FTP erhältlich. Einige Adressen sind auf der mIRC download Homepage angegeben. Copyrights - Es ist erlaubt, diese FAQ zu veröffentlichen oder zu verteilen, solange es kostenlos geschieht. Es ist nicht erlaubt, in der Datei etwas zu verändern, oder eine Gebühr für ihre Bereitstellung zu erheben. Bei der Verwendung einzelner Passagen muss jedesmal mein Name und die Quelle der Informationen ersichtlich sein. Copyright © 1995 - 1997 Tjerk Vonck
[email protected]
Was ist mIRC? mIRC ist ein Shareware-IRC-Client für Windows. Es ist von Khaled Mardam-Bey entwickelt und rechtlich geschützt. Für die Internetneulinge unter Euch: IRC ist die Abkürzung für Internet Relay Chat (Internetbasiertes Geplauder). Das IRC-Netz ist ein virtueller Treffpunkt, auf dem sich Leute aus der ganzen Welt treffen und unterhalten können (okay, tippen...). Man trifft sich auf dem IRC in Channels (virtuellen Räumen, meistens mit einem speziellen Gesprächsthema (Topic)) um sich öffentlich oder auch privat zu unterhalten. Es gibt keine Einschränkung, die die Teilnahme an einer Diskussion auf eine bestimmte Anzahl an Leuten begrenzt. Genauso können uneingeschränkt viele Channels gegründet werden. Als Teilnehmer benutzt man ein sogenanntes ClientProgramm wie mIRC, welches sich mit einem Server
verbindet. Alle Server sind untereinander verbunden, und leiten Nachrichten von einem Teilnehmer an andere weiter. Ein IRC-Server kann mit mehreren anderen Servern und tausenden Clients verbunden sein. Wenn ihr mehr Informationen zum Thema IRC einsehen möchtet, findet Ihr diese auf den mIRC-Homepages im WWW. mIRC versteht sich als benutzerfreundliche Schnittstelle zwischen dem User und dem IRC-Netzwerk. Es bietet eine große Menge an Funktionen wie: • • • • • • • • • • • •
•
einen umfassenden, dynamischen /help-Befehl Netscape-, Mosaic- und MS-Internet-ExplorerUnterstützung... surft auf den Wellen des WWW eine praktische Toolleiste.... sogar mit Tooltips eine sehr handliche Schaltleiste zum Wechseln zwischen den Fenstern eine durch den Benutzer programmierbare Menüleiste einfache aber clevere Fernsteuerung durch CTCPBefehle und Ereignisse (Events) Unterstützung für *.wav und *.midi SoundDateien änderbare Farben einfach zu erstellende Aliases und programmierbare Funktionstasten durch den Benutzer programmierbare Kontextmenüs (PopUps) volle DCC Send/Get/Chat Unterstüzung frei einstellbare Schriftarten und Unterstützung von farbigem, fetten, unterstrichenem und invertiertem Text eingebauter Ident- und Finger-Server
Die vielen verschiedenen Teile des Programms sind konzipiert, um IRC-Sitzungen zu vereinfachen und zu beschleunigen. mIRC ist sehr flexibel gehalten. Es gibt eine Menge einfacher Einstellungen, mit denen man mIRC auf die eigenen persönlichen Bedürfnisse einstellen kann. Und im Unterschied zu anderen IRC Programmen wird mIRC mit jeder neuen Version ausgereifter. Ihr könnt eigene Befehle festlegen und mIRC nach persönlichem Belieben auf bestimmte Ereignisse (Events) reagieren lassen. Das alles macht mIRC jedoch nicht zu einem reinen BotProgramm, es unterstützt auch keine IRCii-Scripts. Aber die Funktionalität ist dank der Remote Commands, Events und vieler anderer Features sehr ähnlich. Und mal ehrlich - wozu braucht man denn War-Scripts? Ich denke, mIRC wird Euch helfen, euch auf die Hauptsache zu konzentrieren: IRC ist zum Chatten da...
2. Neueste Nachrichten über mIRC... (Was gibt's neues in Version 5.4) mIRCs neue Version hat viel zuviele neue Funktionen, um sie alle an dieser Stelle im Detail abzuhandeln. Die besten stelle ich hier kurz vor. Vergeßt nicht, die versions.txt durchzulesen, wenn Ihr Euch über alle Änderungen informieren wollt. Die User, die mIRC jeden Tag verwenden, werden die Option lieben, mit der man Hintergrundbilder in praktisch jedes denkbare Fenster von mIRC laden kann. Kombiniert mit Klängen könnt Ihr Eure eigenen mIRC-
Desktopmotive erschaffen! Die beliebte Umschaltleiste kann jetzt an jeder Fensterseite von mIRC angezeigt werden. Zieht sie mit der Maus einfach dahin, wo Ihr sie haben wollt. Übrigens behebt eine neue Anzeigemethode für die Tool- und Umschaltleiste das Problem der verschwindenden Toolleiste, daß einige von Euch entdeckt haben. Neben verschiedenen kosmetischen Veränderungen haben wir viel Zeit damit verbracht, Befehle und Funktionen zu verbessern, die Ihr jeden Tag verwendet. Mit dem verbesserten /ignore-Befeh könnt Ihr z.B. leicht bestimmte Personen davor bewahren auf Eurer IgnoreListe zu landen, indem Ihr einen gesamten Provider ignoriert, bis auf Eure Freunde. Eine neue Option schaltet den Ident-Server nur ein, wenn Ihr gerade an einen Server connectet. Dies verhindert, daß er von anderen mißbraucht wird. mIRC unterstützt ab jetzt servergestütztes Filtern des Channelliste auf dem DALNet, so wie es schon immer auf dem Undernet funktioniert hat. Auch für die TS4Funktionen des Efnet ist eine Unterstützung hinzugefügt worden. Und wenn Ihr unbeabsichtigt von einem IRCServer disconnected werdet, dann reconnectet mIRC automatisch an den selben - oder einen anderen Server aus dem selben Netzwerk. Mit etwas Glück verpaßt Ihr nichts von der laufenden Konversation. Was wollt Ihr noch? Das Installationsprogramm ist verbessert worden, der /whois-Befehl zeigt sein Ergebnis jetzt dort an, wo Ihr es gerne möchtet und ist etwas cleverer in das Adressbuch integriert worden, die DDE-
Funktionen sind ausgebaut worden, die Vervollständigung von Nicknames durch den Tabulator ist ausgeweitet worden,... Wie ich schon sagte, zuuuuuviel um es alles hier aufzuführen! Haben wir die fortgeschrittenen User und Scripter vergessen? NEIN, keine Sorge =) Durch viele öffentliche Anfragen haben wir viele neue Befehle, Funktionen und Parameter hinzugefügt. Die meisten Features aus Euren Anfragen haben wir implementiert und viele mehr haben sich auch die Betatester ausgedacht. Viel Spaß beim Durchsuchen der versions.txt und Austesten der neuen Möglichkeiten. Vergeßt nicht, die Hilfedatei zu lesen um Euch vollständig zu informieren, Beispiele und lustige Ideen zu bekommen. Viel, viel Spaß auf dem IRC mit dem neuen mIRC!
Was gabs neues in Version 5.31? (4. Januar 1998) • Wir haben den AltGr-Tastatur-Bug behoben. Dieser war ein echtes Ärgernis für alle skandinavischen, türkischen und belgischen User. Es blockierte alle @#$%^&... Sonderzeichen. • Ein Fehler in der zufälligen Portwahl ist behoben worden. Dieser war dafür verantwortlich, daß mIRC bei DCCVerbindungsversuchen einfrohr, wenn die eigene IP-Adresse inkorrekt war. • Ein Bug hatte das Starten der über DCC empfangenen Dateien von dritten Anwendungen
abhängig von der Dateierweiterung gestört (Win3.1x). Dieser ist behoben. • Die Aufführung von .txt- und .hlp-Dateien im dynamischen Hilfemenü hat sich etwas geändert: sie sind in eigene Untermenüs verschoben worden. • Kleinere Fehlerchen in den Identifiers $?="...", $readini, $count() und $address sind behoben worden. • Wenn ein User keine DCC-GetVerzeichniszuordnung für .wav- und .midDateien hat, dann setzt mIRC eine auf und entsprechende Dateien werden in das Soundverzeichnis downgeloaded, so daß sie direkt mit /sound oder /splay verwendet werden können. Was gabs neues in Version 5.3? (13. Dezember 1997)
Die Anzahl von neuen Funktionen, Optionen und Tricks in 5.3 ist praktisch endlos. Ich versuche, einige an dieser Stelle zu erklären. Für die komplette Liste an Neuerungen schaut Euch die Datei versions.txt an, die im Lieferumfang von mIRC enthalten ist. Für genauere Erklärungen schaut in die Help-Datei, oder in die detaillierteren Kapitel am Ende dieser FAQ. • Unter den vielen neuen Optionen finden sich z.B. automatisches arrangieren von Fenstern (Autotile), einen sich automatisch öffnenden Farbenindex, der aufspringt, wenn Strg-K
gedrückt wird (jederzeit abschaltbar), eine sehr einfach zu bedienende Textsuchfunktion, mIRC läßt sich ab jetzt in den Systray minimieren (minimize to tray),... und vieles mehr. • Die den Usern in der Notify-Liste zugeordneten Klänge werden jetzt nacheinander abgespielt. Dies stellt sicher, daß Ihr alle Euren Freunden zugeordneten Sounds zu hören bekommt, zum Beispiel wenn Ihr gerade connectet und mehrere anwesend sind. • Die eingebaute Floodprotection wurde dahingehend verbesser, daß sie jetzt auch vor internen Floods schützt. • In den Editboxen von Channelfenstern können Nicknames nun mit der Tabulatortaste vervollständigt werden. Probiert das mal aus! Beginnt mit den ersten Buchstaben eines Nicknames und drückt dann einige Male den Tabulator. Jetzt werden alle Nicks durchprobiert, die mit diesem Buchstaben beginnen. • Ein hübscher /flash-Befehl wurde hinzugefügt. Er läßt das mIRC-Fenster/Icon blinken, wenn mIRC nicht die gerade aktive Anwendung ist. Damit steht Euch eine neue Warnfunktion für die Events in Euren Scripts zur Verfügung. Man kann das Blinken sogar mit Sounds verknüpfen. • Die Syntax bei CTCP-Events hat sich verändert: ctcp level:auslösenderText:[*|#|?]:Befehle • Dies vereinfacht die Unterscheidung zwischen den entweder privat oder über den Channel gesendeten CTCPs.
• Ab jetzt kann im DCC-Options-Dialog die genaue Bandbreite an Ports definiert werden, die von DCC-Verbindungen benutzt werden. Nun sollte es möglich sein, mIRC so zu konfigurieren, daß Probleme mit Firewalls oder Proxy-Software behoben werden können. • Mit der erweiterten "!nick dateinamen"Funktion unterstützt mIRC jetzt auch autmatisches Senden und empfangen von .mp3Dateien. Zum Abspielen müssen natürlich weiterhin Programme wie WinAmp verwendet werden. • Für die erfahreneren Scripter: • Einige der hinzugefügten "Events" sind: WAVEEND, DCCSERVER, OPEN, CLOSE,... • Ein paar Dateimanagementbefehle ermöglichen einfacheres Umbenennen und Kopieren von Dateien, sowie erstellen von Verzeichnissen. Außerdem können Befehle und Identifiers wie /write, /writeini, /remini, $read und $readini jetzt mit langen Dateinamen arbeiten, sofern sie in Anführungszeichen gefaßt werden. • Unterstützung für benutzerdefinierte Socketverbindungen wurden hinzugefügt. Es können jetzt Scripts verfaßt werden, die den direkten Umgang mit anderen Netzcomputern zulassen, wie z.B. Mailservern. Man kann soger lustige Onlinespiele verfassen besonders in Verbindung mit dem • verbesserten /window-Befehl, mit dem sich jetzt alle Arten von Formen erstellen lassen. Sogar das Einbinden von Bitmaps ist möglich! Wer tritt in XXO gegen mich an? ;)
• • Behobene Bugs: • Der Fehler, der mIRC auf fremdsprachigen Windowsversionen beim Start wieder schloß (Hebräisch, Chinesisch...), sollte nun endgültig behoben sein. Es tut uns sehr leid! Es hat eine ganze Weile gedauert, bis dieses Problem im neuen mIRC behoben war. • Das Problem der Einstellungen, die es schädlichen Scripts erlaubte, sich wie ein Lauffeuer zu verbreiten ist behoben worden. Beim Updaten von mIRC werden solche Scripts soger aufgespürt und unschädlich gemacht. Wenn die Zielverzeichnisse für DCC-Empfang, Logs oder Klänge im mIRC-Hauptverzeichnis liegen, dann legt mIRC spezielle Ordner an, und verschiebt entsprechende Dateien dorthinein. Was war neu in Version 5.11? (11. September 1997) mIRC's neue Version 5.11 ist hauptsächlich aus Gründen des Bugfixing entstanden. Einige nervige Fehler sind behoben worden, wie z.B.: • mIRC schloß sich direkt beim Start auf einigen fremdsprachenspezifischen Windows-Versionen (Hebräisch, Chinesisch, etc...) • der Fehler, der den /map-Befehl einiger verschiedener Netzwerke unbrauchbar machte. Wir haben herausgefunden, daß die Unterstützung des B-Line-Features (IRCNet) mit diesem Befehl zu Konflikten führte. Wir hoffen auf eine bessere Implementierung in der nahen Zukunft, da das BLine-Feature eine wirklich sinnvolle Idee ist.
• die Probleme, die bei der Verarbeitung von mehrwörtigen Ausdrücken auftraten • einige andere Kleinigkeiten Was war neu in Version 5.1? (28. August 1998)
Der Sommer ist vorbei und wir dachten, es ist mal wieder Zeit für eine neue und überarbeitete Version von mIRC. Es hat etwas länger gedauert, weil wir es doch vorgezogen haben, die Sonne zu genießen, solange sie da war und Khaled außerdem noch umgezogen ist. (Sendet die mIRC-Fanpost bitte unbedingt an die neue Adresse)
Erwartet keine frappierenden -sichbaren- Änderungen. Es wurde aber ein Menge Arbeit in die Behebung kleiner Fehler, und die Überarbeitung und Verbesserung des Source Codes gesteckt, um mIRC schneller und intelligenter zu gestalten. Die neuen Funktionen, die Ihr Euch mal anschauen solltet, sind das Adressbuch, die automatische Anordnung der Fenster, Fließkommazahlen, mIRCs DCC-Server, Unterstützung der auf dem IRCNet verwendeten Bouncelines, den verbesserten /font-Befehl... und und und... Es gibt ungefähr 150 Änderungen die alle dazu beitragen eine tolle Zeit auf dem IRC zu verbringen.
Was war neu in Version 5.02? (21. April 97)
mIRCs Version 5.02 ist hauptsächlich aufgrund einiger kleiner Probleme in Version 5.0 erstellt worden. Wie üblich gibt es auch ein paar neue Features sowie die Verbesserung der alten. mIRCs Aussehen ist an den moderneren Windows95Look angepaßt worden. Die Alias-, PopUps- und Remote-Sektionen sind jetzt in einem Editor untergebracht. Dies bietet eine schnellere Plattform für die Erstellung der eigenen Scripts. Einige kleine ScriptBeispiele sind eingebaut, um den neuen Benutzern die Einfachheit der Benutzung zu demonstrieren.
Ein kleiner Fehler hatte die Funktion der !@#$%^... Tasten der skandinavischen Benutzer gestört. Dieser Fehler ist jetzt behoben, sorry Leute! Das Aussehen der Toolleiste ist verändert worden und erscheint jetzt immer korrekt - auch bei verschiedenen Farb-Setups. Zum Outfit der Umschaltleiste sind Mini-Icons hinzugefügt worden. Scripts können jetzt sogar Unterpunkte zu den Kontextmenüs (Popups) der Channel-, Privatfenster, Nicknamenliste und der Menüleiste hinzufügen.
Was war neu in Version 5.0? (2. April 97)
Ab Version 5.0 bietet mIRC volle Konfigurierbarkeit der Farben. Ebenfalls ist jetzt viel leichter, DCC Chat- und Send-Anfragen zu ignorieren, was die Reaktion auf eine DCC-Flood enorm beschleunigt. Wie üblich wurden eine Menge neue Identifiers und Ereignisse (Events) hinzugefügt. Leute, die gerne Scripts erstellen, werden die neuen Möglichkeiten lieben =) Ihr werdet schnell auf die Verbesserung der RemotePlattform stoßen, die Euch erlaubt, Ereignisse (Events), CTCP-Befehle und Aliases in einer Datei zusammenzufassen. Dies bietet tolle Möglichkeiten, Scripts, die sehr einfach zu laden sind, zu erstellen und zu verbreiten. Ihr werdet feststellen, daß sich die Syntax des ParameterStrings ein wenig geändert hat um den Umgang zu beschleunigen. Die Stringsyntax ist auf $N-M vereinheitlicht worden. Sie kann in allen Kontextmenüs (PopUps), Aliases und Remotes benutzt werden. Das alte Format wird zwar noch unterstützt, aber es ist besser, zur neuen Form zu wechseln. An Stelle von *1 benutzt ab jetzt $1-, statt *3-5 benutzt $3-5. Ändert $parms nach $1, $parm2 und ähnliches nach $2.
!nick Dateiname - Unterstützung für die bekannte "!nick Dateiname"-wave/midi-Get-Anfrage ist hinzugefügt worden. Dies ermöglicht eine einfache Anfrage nach einer Sounddatei, die Ihr noch nicht habt. Standardmäßig wird die Dateianfrage in einer privaten Botschaft und nicht durch dein Channel an die andere Partei übertragen.
Wenn mIRC eine Anfrage erhält, öffnet es automatisch einen DCC Send-Transfer zur betreffenden Partei.
Neue Remote Syntax - Der Remote Dialog und ScriptRoutinen sind verbessert und erweitert worden. Das Format der Definitionen hat sich wie folgt geändert: ctcp 1:PING:/befehl etc. on 1:Join:#:/befehl etc. raw 1:*:/befehl etc. Diese Änderung ermöglicht die Zusammenfassung von Befehlen und Ereignissen in einer einzigen Script-Datei. Es gibt nur noch drei verschiedene Dateitypen, nämlich User, Variablen und Scripts. Ihr könnte so viele Script Files laden wie benötigt. Auch Aliases können eingebaut werden, wenn ihr "alias" wie folgt voranstellt: alias test /echo dies ist ein Test-Alias
Ihr könnt Einführungsbefehle benutzen, die ansprechen, wenn ein Script zum ersten mal geladen wird: on 1:LOAD:/befehl etc. Das selbe gilt für den ersten Start von mIRC (mit automatischem Laden von Scripts): on 1:START:/befehl etc.
Die Startsektion läuft auch nach der Load-Sektion, wenn zuerst ein Script geladen wird. Dieses erlaubt ganze Scripts mit CTCP-Befehlen, Ereignissen und Raws zusammen mit den damit verbundenen Aliases einer einzigen Datei. Wenn ein Event ein Alias aufruft, wird zuerst das aktuelle Script durchsucht, wenn keine Übereinstimmung gefunden wird, werden auch alle anderen Scripts durchsucht.
Automatische Umwandlung - mIRC wird die aktuelle remote.ini in separate Dateien spalten und die CTCPBefehls-, Event-, und Raw-Sektion automatisch in das neue Format umwandeln. Um die alten Dateien von Hand zu übersetzen, benutzt bitte die Convert-Option im Remote-Editor und ladet die Datei als .ini, weil mIRC die Headers wie [Commands], [Events] und [Raw] braucht, um die Übersetzung vorzunehmen. Das Übersetzungsprogramm ändert auch die #group-Namen in Scripts, da diese jetzt "on" und "off" anstelle von "start" und "disabled" verwenden.
Man kann sich online per Kreditkarte registriren lassen.
Ihr könnt mIRC online registrieren. mIRC ist ein Sharewareprogramm und wenn ihr es gerne benutzt, dann solltet ihr es registrieren. mIRC Co. hat sich mit der
bekannten Firma C|net zusammengetan, die durch ihren Buy Direct Service sicheres Einkaufen garantiert. Schaut mal bei http://www.buydirect.com herein. Es ist alles sehr einfach. Legt nur Eure Kreditkarte bereit und folgt den Anweisungen. Ihr werdet ein Registrationspasswort per eMail erhalten, sobald die Zahlung erfolgt ist.
Behobene Fehler, Änderungen und Weiterentwicklungen in Version 4.72 (9. Januar 1997).
In Version 4.72 sind einige kleine aber nichts desto trotz störende Fehler der Version 4.7 behoben worden. Diese Bugs betrafen nur einige User in sehr speziellen Situationen und die meisten bemerkten sie gar nicht. Die "Windows-Color" Option wurde in Ordnung gebracht, ferner das Problem mit Kontrollcodes in Topics, einige Unstimmigkeiten im Umgang mit Channel-Modes, die Benutzung von langen Dateinamen mit Freizeichen im /run-Befehl und das Problem der Auflistung vom Invalid Ban Info. Auch wurde die Verwendung von benutzerdefinierten Variablen sicherer gemacht und Ihr werdet nicht mehr in irgendwelchen Endlosschleifen hängen bleiben =) Neben den Bugfixes gibt es auch ein paar neue Funktionen. Die Fensterumschaltleiste wurde durch die Option, DCC-Transfers einzuschließen flexibler gestaltet. Neue Routinen beschleunigen ihre
Geschwindigkeit und verbessern das Outfit. In den PopUps kann man nun Variablen als Menüpunkte verwenden. Einige neue Identifiers und Events wurden erstellt.
Behobene Fehler, Änderungen und Weiterentwicklungen in Version 4.7 (9. Dezember 1996).
Wie jedes gute Programm, bietet mIRC in der Version 4.7 einige neue Features, die die Benutzung ausweiten und verbessern. mIRC 4.7 verbessert die Möglichkeiten des Scriptings. Viele neue Identifiers und Events treffen die Wünsche der erfahreneren Benutzer. Auch neue mIRC-Benutzer werden von der Verbesserung des Umgangs mit Befehlen, dem vollautomatischen FloodSchutz und der Unterstützung von farbigem, fettem, unterstrichenem und invertiertem Text profitieren. • ON DNS und ON ERROR wurden hinzugefügt • Bei dem Gebrauch von /sound oder /wavplay werden jetzt alle Unterverzeichnisse mitdurchsucht. Dies erlaubt eine bessere Organisation, ohne daß man sich über den Dateipfad sorgen machen muß. • Im DCC-Options-Dialogfeld kann man ab jetzt von den Dateiendungen abhängige SaveDirectories einrichten. Die downgeloadeten Dateien werden jetzt nicht nur mit einem bestimmten Programm geöffnet (Editor,
Bildbetrachter, Virusscanner, etc.) sondern auch an korrekter Stelle gespeichtert. • Die Kopierroutine ist überarbeitet worden. Der Kopiervorgang wird ab jetzt nicht mehr von neu hereinkommendem Text gestört. mIRC hält ihn solange zurück. • Ihr könnt ab jetzt Eure eigenen benutzerdefinierten Identifiers erstellen • mIRC erlaubt eine neue Methode zur Suche von Local Host und IP-Adresse. Es kann so eingestellt werden, daß es nach der Adresse Eures PCs auf dem IRC-Server sucht. Dies kann einige Probleme beim DCC-Transfer beheben. • Unterstützung für unterstrichenen, fetten und invertierten Text wurde hinzugefügt. Verwendet Ctrl-B, -U und -R zum Einfügen von Kontrollzeichen. Ctrl-O schaltet alle Sonderformate wieder ab. • Unterstützung von farbigem Text und Hintergrund. Verwendet Ctrl-K um ein Farbkontrollzeichen einzufügen (1,5 wählt Farbe 1 für den Text und 5 für den Hintergrund). Im Moment stehen Farben von 1 bis 15 zur Verfügung. • Die neue Version verfügt über eine Umschaltleiste zum einfachen Wechseln zwischen den Fenstern. Wenn Ihr mir der linken Maustaste auf ein Fenster klickt, daß minimiert ist, so wird es wieder geöffnet. Wenn es offen ist, wird es minimiert. Bei der Verwendung der rechten Maustaste erscheint das WindowsSystemmenü. Mit der Umschalttaste schließt ihr das Fenster völlig.
• Ctcp PING antwortet nicht mehr auf nicht numerische Werte, die länger als 25 Zeichen sind. Dies wird eine Menge Flood.Probleme lösen. Autoren von Scripts sollte sich den versions.txt ansehen um sich über Änderungen und Erweiterungen zu informieren. Achtet besonders auf die neue ON MODESyntax und die neuen Möglichkeiten der Usererfassung z.B. für bans.
Behobene Fehler, Änderungen und Weiterentwicklungen in Version 4.6 (7. September 1996). • mIRC versteht nun verschiedene Kombinationen von : und { am Anfang eines Remote-Befehls. • Bugfixes bei den $dir und $hfile Identifiers. $read und $readini erwidern jetzt $null, wenn eine Zeile nicht gefunden wird. Mit dem neuen $exists(Dateiname) könnt ihr jetzt überprüfen, ob eine Datei existiert, oder nicht. Es wird $true oder $false erwidert. $maddress ist hinzugefügt worden. Es spezifiziert die momentane UserAdresse für ein ausgelöstes Event in der RemoteSektion. $maddress(Adresse) erwidert die passende Adresse aus der Remote-Userlist. $ulevel und $clevel enthalten das Remote-User und Command-Level der Person, die ein bestimmtes Ereignis auslöst. $bnick verweist auf den Nickname, der gerade gebant wird im ON
BAN-Ereignis. $mode(#) und $topic(#) zeigen den gegenwärtigen Modus, bzw. das Topic des aktuellen Channels an. • Benutzt ab jetzt den /remini-Befehl anstatt /writeini, um einen Eintrag aus einer .ini-Datei zu entfernen. • Die Interne Adressenliste (IAL) ist ein bißchen intelligenter gestaltet worden und erlaubt jetzt Remote-Definitionen um Zugang zu Nicknames zu bekommen, die gerade einen Channel betreten oder verlassen. /who bzw. /whois werden ab jetzt zum Update der Liste benutzt. • Es wurde die Option "fast screen update" im Extras-Dialogfeld hinzugefügt. Es beschleunigt den Bildschirmaufbau. Der Schirm wird dann in Textschüben aktualisiert, nicht mehr Zeile für Zeile. • Alle Commands können stumm ausgeführt werden, wenn ein Punkt vorangestellt wird. Dies verhindert, daß das Kommando seinen üblichen Text ausgibt (abgesehen von Fehlermeldungen). • Einige neue Ereignisse wurden hinzugefügt, wie ON WALLOPS und ON NOSOUND, ein Event, daß ausgelöst wird, wenn Euch ein /soundRequest geschickt wird, der Sound aber nicht existiert. (Anm. des Übersetzers: Wenn Ihr euch ab jetzt mit den FAQ beschäftigt, sind die Änderungen bis Version 4.52 nicht so wichtig. Ich habe sie daher nicht mit übersetzt. Wenn ihr Euch trotzdem dafür interessiert, dann lest sie bitte im englischen Original =)
3. Was brauche ich, um mIRC benutzen zu können? Wo bekomme ich es? Wie registriere ich es? Neben MS-Windows braucht Ihr einen Internetaccount und eine korrekt installierte Winsock. Wenn Ihr schon FTP-, eMail-, News- oder andere Internetprogramme unter Windows laufen habt, dann könnt ihr relativ sicher davon ausgehen, daß beides der Fall ist. Wenn Ihr noch keine Winsock laufen habt, dann müßt ihr erst eine installieren. Informationen über Winsocks bekommt ihr bei eurem Internet Provider oder in "The Windows Internet Guide" von Michael John Mezaros. Den bekommt Ihr bei http://twig.hypercon.com/master.htm oder http://www.windows95.com.
Obwohl mIRC nicht von den großen FTP-MirrorUnternehmen verbreitet wird, findet Ihr es doch auf hunderten von Servern. Einige der wichtigsten sind: USA:
ftp://papa.indstate.edu/winsock-l/winirc/
USA:
ftp://ftp.undernet.org/pub/irc/clients/windows/
USA:
ftp://oak.oakland.edu/pub/irc/clients/pc/windows/
USA:
ftp://ftp.winsite.com/pub/pc/win3/winsock/
USA:
ftp://www.windows95.org/pub/win95/mirc/
Finnland: ftp://ftp.funet.fi/pub/unix/irc/msdos/windows/
Aber die Seite, die immer die neueste Liste von mIRCAnbietern führt, ist die Downloading mIRC Seite. Besucht diese Seite oft und lest die neuesten Nachrichten über mIRC. Ich könnt auch in den Channel #mIRC in einem der großen IRC Netze gehen, um die neueste Version zu bekommen oder alle noch offenen Fragen zu stellen.
mIRC ist ein Shareware Programm. Dieses System der Softwareverbreitung zeigt den wahren Charakter des Internet. Ihr könnt mIRC gratis herunterladen und es testen. Wenn Ihr nach oder während der 30tägingen Testphase entscheidet, es weiterhin zu benutzen, bezahlt bitte eine kleine Registrierungsgebühr. Dies erlaubt Khaled, dem Autor von mIRC, es mit der selben Hingabe weiterzuentwickeln, wie er es in der Vergangenheit getan hat. Eure Registrierung ermöglicht ferner die Einrichtung von WWW-Seiten, auf denen Ihr Unterstützung findet und die Weiterentwicklung der Help-Dateien und FAQ. Wenn Ihr Euch einmal registriert, könnt ab dem Zeitpunkt alle weiteren Sharware Versionen gratis benutzen. Ihr könnt einen Check persönlich an Khaled schicken, oder Euch sogar online registrieren!
4. Eine kurze Einführung in den IRC
(Ihr bekommt mehr Informationen in der im Lieferumfang von mIRC eingeschlossenen IRC Intro Datei oder auf vielen WWW-Seiten) •
Was ist der IRC - IRC ist die Abkürzung für "Internet Relay Chat". Es wurde ursprünglich von Jarrko Oikarinen im Jahre 1988 entwickelt. Seit es in Finland begonnen wurde, findet man es mittlerweile in über 60 Ländern der Erde. IRC ist ein Multi-User-Chat-System, bei dem sich mehrere Leute in "Channels" treffen, um sich in Gruppen oder privat zu unterhalten. Die Zahl der Benutzer, die an einer Diskussion teilnehmen, oder die Anzahl der geformten Channels sind nicht beschränkt. Alle Server sind untereinander verbunden und leiten Nachrichten von User zu User über das IRC Netzwerk. Ein Server kann mit einigen anderen Servern und bis zu hunderten von Clients verbunden sein. Einge mehr oder weniger große IRC-Netzwerke gibt es zur Zeit.
•
Auf dem IRC können Leute in die selben Channels gehen um sich zu sehen. Abhängig von der Tageszeit und dem Topic kann ein Channel SEHR voll sein. Channels können ebenfalls ziemlich chaotisch oder eher ruhig sein. Manche sind für jedermann offen andere privat und nur für Freunde gedacht. Auf den großen IRC Netzwerken wie z.B. dem Efnet kann es bis zu 3000 Channels gleichzeitig geben. In kleineren Netzen sind es entsprechend weniger. Channels sind in dem Sinne dynamisch, daß jeder einen aufmachen kann bzw. der Channel wieder
verschwindet, wenn der letzte User ihn verlassen hat. •
Sprache - Die am meisten gesprochene und verstandene Sprache auf dem IRC ist Englisch. Wie auch immer, da der IRC in so vielen verschiedenen Ländern gesprochen wird, ist Englisch bei weitem nicht die einzige Sprache. Wenn Ihr gerne eine andere Sprache sprechen wollte, z.B. mit euren Freunden, dann geht in einen separaten Channel und setzt ein eindeutiges Topic. Ebenfalls solltet ihr das Topic checken, wenn ihr einen Channel betretet, um zu sehen, ob es Beschränkungen bezüglich der Sprache gibt. Wenn ihr in einen Channel ohne Beschränkungen geht, sprecht bitte die Sprache, die jedermann versteht.
•
Begrüßung - Es ist nicht nötig, jeden einzelnen im Channel zu grüßen. Üblicherweise genügt ein "Hallo!" oder ähnliches. Erwartet auch nicht, daß ihr von jedem zurückgegrüßt werdet. In einem Channel mit 20 Leuten würde das bedeuten, daß der gesamte Schirm mit Hallos zugeschmissen würde. Es ist sinnvoll, nicht jeden zu grüßen, um den anderen nicht auf die Nerven zu fallen. Wenn Ihr jemanden begrüßen möchtet, den Ihr kennt, macht Ihr das am besten mit einer privaten Botschaft. Das selbe gilt auch für Verabschiedungen. Bitte nehmt auch zur Kenntnis, daß es ein äußerst armes Verhalten ist, die Fähigkeiten Eures Clients dazu zu mißbrauchen, zu jedem automatisch Hallo zu sagen. Niemand will Autogrüße erhalten. Nicht
nur, daß sie offensichtlich automatisch sind, sondern während man denkt, man sei besonders höflich, ist man doch dabei unehrlich. •
Benehmen - Denkt immer daran, die Leute auf dem IRC beurteilen Euch nur aufgrund dessen, was Ihr schreibt, und welche Kommentare Ihr von Euch gebt, also denkt, bevor ihr Enter drückt! Wenn Ihr jemanden beleidigt, fällt es auf euch zurück. Scrollt (langes senden von unerwünschten Informationen) einen Channel nicht voll. Scrollen bewirkt eine Verlangsamung des Servers, da dieser die vielen Informationen nicht verarbeiten kann. Ebenfalls verboten ist: o das Nerven anderer User o in einem Channel ständig Beeps auslösen (Die meisten Clients beepen überhaupt nicht) o jedes Verhalten, daß die Funktionalität des IRC als Chatmedium einschränkt.
Wie man auf den IRC kommt - wenn ihr mIRC das erste mal startet, müßt ihr zuerst ein paar Informationsfelder ausfüllen (den richtigen Namen, die eMail-Adresse, IP-Adresse und Namen des Local Host, sowie den IRC-Server, mit dem Ihr euch verbinden wollt. Es ist normalerweise das beste, einen geographisch nahgelegenen Server zu wählen. Auf dem IRC erkennen euch andere User über Euren Nickname. Dieser kann bis zu 9 Zeichen lang sein. Verwendet keine Frei- oder Sonderzeichen. Es ist möglich, daß Ihr auf User trefft, die
den selben Nickname verwenden. Es empfiehlt sich, diesen dann zu ändern, um Verwirrung vorzubeugen.
Erste Schritte - Um an Unterhaltungen teilzunehmen, private Botschaften zu versenden und mIRC zu bedienen, sind zunächst ein paar einfache Befehle zu beherrschen. Alle Befehle beginnen mit "/" (Slash). Alles, daß nicht mit einem Slash beginnt, wird als Botschaft angesehen und an den Channel oder eine Person in einer privaten Unterhaltung gesendet (siehe unten). /help
zeigt die allgemeine Hilfe oder Hilfe zu einem speziellen Befehl
/list
listet alle gegenwärtig existierenden Channels auf
/join
um einen Channel zu betreten
/part
um einen Channel zu verlassen (genau wie /leave)
/quit
um eine IRC-Sitzung zu verlassen (genau wie /bye oder /exit)
/nick
wechselt den Nickname
/away
hinterläßt eine Nachricht, daß Ihr gerade nicht am Rechner seid und nicht aufpaßt
/whois
zeigt einige Informationen bestimmten User an
über
einen
/invite sendet eine Einladung zu einem anderen User /kick
entfernt einen unliebsamen Gast aus einem Channel
/topic
Ändert das Topic in einem Channel
/me
stellt eine Botschaft in Form einer Aktion dar
/msg
sendet eine private Botschaft
/query startet eine private Konversation /LIST [[Befehlsattribut] <Wert>] Listet alle momentan vorhandenen Channels auf. In der Liste findet Ihr - bis auf die geheimen - alle Channels, deren Topics und der Anzahl der sich darin aufhaltenden Leute. Die angezeigte Liste kann sehr lang werden, also könnt ihr die Größe begrenzen, in dem Ihr Befehlsattribute (Flags) setzt. "/list -min n" filtert alle Channels heraus, in denen sich weniger als 'n' User befinden. /JOIN <#channel> Hiermit betritt man einen Channel. Wenn Ihr einen Channel betretet, werden Euch gleichzeitig nützliche Informationen über diesen, wie eine Liste der sich in ihm befindenden User, Channel Modi und das Topic, angezeigt. Um einen Channel zu betreten, müßt ihr nicht den verlassen, in dem ich Euch gerade befindet. Ihr könnt euch in so vielen Channels gleichzeitig aufhalten, wie Eure Verbindung oder der aktuelle IRC-Server gestattet. /join #windows ***Now talking in #windows /PART [#channel] [Nachricht] Hiermit verlasst Ihr einen Channel (genau wie mit LEAVE) /PART #windows ***You have left #windows
/QUIT [Begründung] Hiermit beendet ihr Eure IRCSitzung (auch BYE und EXIT) Wenn ihr eine Begründung angebt, wird diese sichtbar für die anderen User. /QUIT Ich geh was essen! /NICK
ändert Euren Nickname. Jeder, der mit Euch sprechen möchte, sieht diesen Namen. Nicknames sind auf maximal 9 Zeichen beschränkt. Wenn der Nickname, den ihr gerne annehmen möchtet, schon von jemand anderem benutzt wird, so wird die Änderung nicht gelingen. Doppelte Nicks sind auf allen IRC-Servern verboten. Unter gewissen Umständen kann es geschehen, daß zwei Nicknames gleichzeitig existieren, aber sobald dies entdeckt wird, werden die Verbindungen BEIDER User gekappt. Dies nennt sich Nick collision Kill. /NICK Cenobyte ***Newbie is now known as Cenobyte /AWAY [Nachricht] Markiert Euch als mit der Nachricht als abwesend. Sobald jemand versucht, in einem privaten Fenster mit Euch zu reden, oder einen WHOIS auf Euch tätigt, bekommt er die Nachricht, die Ihr hinterlassen habt. AWAY ohne weitere Parameter hebt den AbwesendStatus wieder auf. /AWAY Ich hol mir mal eine Tasse Kaffee ***You have been marked as being away /AWAY ***You are no longer marked as being away
/WHOIS Zeigt Euch einige Informationen über jemanden /WHOIS Cenobyte *** Cenobyte is [email protected] (Nuclear free) *** on channels: @#Windows @#Windows95 #mIRC *** on via server irc.server.net (The best server) *** Cenobyte is away (making dinner) /WHOIS Newbie *** Newbie: No such nickname /INVITE <#channel> Lädt einen anderen User in einen Channel ein, in dem Ihr Euch befindet. Dieser wird dann eine Nachricht bekommen, die ungefähr so aussieht: ***Cenobyte invites you to #channel Dies ist ist z.B. erforderlich, wenn Ihr Euren Channels als "invite only" deklariert, daß heisst, daß man Euren Channel nur auf eine Einladung betreten kann. /INVITE Freund #windows ***Inviting Freund to #windows Wenn Ihr eine Invite-Nachricht bekommt, könnt Ihr einfach /JOIN #channel eingeben. /KICK <#channel> Wirft einen User aus einem Channel. Ihr habt es Euch sicher schon gedacht. Wenn es einen Weg gibt, jemanden in einen Channel einzuladen, dann gibt es natürlich auch einen, unliebsame Gäste wieder zu
entfernen. Wenn sich jemand also aggressiv verhält, andere User beleidigt, oder den Channel mit unliebsamen Informationen überflutet (flooding), dann kann man sich seiner entledigen. /KICK #windows Doofmann ***Doofmann has been kicked off #channel by Cenobyte /TOPIC <#channel> ändert das Topic. Wie schon gesagt haben alle Channels auf dem IRC Topics, die das Gesprächsthema widerspiegeln. Dieses Topic könnt Ihr wie folgt ändern: /TOPIC #windows Laßt uns mal über OS/2 unterhalten ***Cenobyte has changed the Topic to "Laßt uns mal über OS/2 unterhalten" /ME teilt anderen mit, was man gerade tut. Von Zeit zu Zeit möchtet Ihr anderen Usern vielleicht mitteilen, was Ihr gerade tut, oder wie Ihr Euch fühlt. /ME haut Newbie mit einer dicken Forelle!!! ***Cenobyte haut Newbie mit einer dicken Forelle /ME ist traurig ¦ (... ***Cenobyte ist traurig ¦ (... Den selben Effekt erzielt Ihr mit /DESCRIBE /MSG [Text] Sendet eine (private Nachricht an einen Nickname oder einen Channel.
Neben der Unterhaltung auf IRC-Channels könnt Ihr auch privat miteinander sprechen. Die meisten IRCProgramme verwenden für private Konversationen separate Fenster. Mit MSG könnt Ihr anderen Personen Nachrichten schicken, die nur von diesen Gelesen werden können. Wenn Ihr selber eine private Nachricht bekommt, oder jemand eine Eurer Nachrichten beantwortet, blinkt ein Icon auf, daß Euch darüber informiert, daß jemand mit Euch sprechen möchte. /MSG Kreet Diese Nachricht kann nur von Dir gelesen werden *Kreet* Diese Nachricht kann nur von Dir gelesen werden Bei Kreet wird nun ein Icon aufblinken.
Wenn Ihr nicht darauf warten möchtet, daß Eure Nachricht beantwortet wird, um ein Fenster zu öffnen, dann benutzt den QUERY-Befehl.
/QUERY [Text] Startet eine private Unterhaltung mit indem es ein separates Fenster öffnet. Dieser Befehl unterscheidet sich von MSG eigentlich nur durch die Tatsache, daß der Text, der der betreffenden Person gesendet wird nicht mehr im Channel-Fenster erscheint, sondern in dem privaten Fenster.
Der Weg auf den IRC - Um einen Channel zu betreten benutzt /join #channel. Versucht doch zunächst mal /join #irchelp oder /join #mIRC. Sobald Ihr einen Channel betretet, werdet Ihr Leute sehen, die sich unterhalten. Es wird wahrscheinlich etwas so aussehen (oder auch nicht):
Wieder reges Gespräch heute abend? Hehehehe kann man wohl sagen =) Und alle sind schon völlig breit Wundervoll, Bier? haha, schön wärs! ich nicht :) ich auch nicht
Bedenkt bitte, daß es oft passieren wird, daß andere User schon mitten in einem Gespräch sind, wenn ihr kommt. Wenn Ihr den Channel nicht genau kennt, könnt Ihr Euch erst mal eine oder zwei Minuten still verhalten, und beobachten, worum es geht. Oft hat auch der ChannelName nichts mit dem zu tun, über was dort geredet wird (z.B. geht es im Channel #Twighlight_Zone bei weitem
nicht immer um die Fernsehserie). Also wenn Ihr z.B. in #baseball vorbeischaut, seid nicht überrascht, wenn es gerade um Rock oder den Superbowl geht. Um eine Unterhaltung anzufangen, tippt einfach was das Zeug hält! Ihr könnt mir etwas einfachem wie "Hallo!" anfangen. Ihr braucht nicht jedesmal euren voranzustellen. Das macht IRC automatisch. In der Titelleiste des Channels werdet Ihr den Namen und meistens das Topic finden. Wenn Ihr einen Channel verlassen möchtet, gebt /part #channel ein.
Lest die Hilfe - Sobald Ihr in den ersten Channelsn gewesen seid und ein bißchen Zeit auf dem IRC verbracht habt, werdet Ihr sehen, daß es noch viele Befehle und Möglichkeiten zu erkunden gibt. Vielleicht wollte ihr auch die volle Version der Einführung in den IRC auf den WWW-Seiten lesen. Die gesamte Einführung ist in mIRC enthalten! Gebt einfach in irgendeinem Fenster /ircintro ein. Außerdem sind fast alle Fähigkeiten von mIRC in der mitgelieferten Hilfedatei enthalten. Ihr müßt sie nur lesen. =)
Bücher über den IRC und mIRC. Informationen auf den mIRC-WWW-Seiten)
Learn Internet Relay Chat - Kathryn Toyer © 1997 Wordware Publishing, Inc.
(nähere
ISBN 1-55622-519-9
Using Internet Relay Chat - Marianne Pyra © 1995 Que Corporation ISBN 0-7897-0020-4
5. Einige kleine Anmerkungen und Tips zu mIRC •
Das Channels List - Dialogfeld ist mit der Zeit enorm verbessert worden. Die Suche nach Channelnamen und Topics wird unterstützt und ist von der Funktionalität her leicht zu verstehen. Alle unerwünschten Channels können durch das Setzen von eindeutigen Schlüsselworten herausgefiltert werden. Eltern z.B. können durch eine gezielte Suche sämtliche jugendgefährdenden Channels aufspüren und ihr Suchergebnis durch ein Paßwort schützen lassen! Wenn allerdings eine bessere Kindersicherung benötigt wird, verläßt man sich besser nicht auf mIRC. Hier empfiehlt sich ein Besuch bei www.kidlink.org/IRC/ , Netnanny bei www.netnanny.com/netnanny/home.html oder Cyberpatrol bei www.cyberpatrol.com.
•
Das englischsprachige Original dieser Datei und einige andere Schriften, die eine Einführung in
die Belange des IRC bieten, findet Ihr im Write-, Text-, HTML-, und Windows-Hilfedatei-Format auf den mIRC-WWW-Seiten. (Anm. d. Übersetzers: Die deutsche Version wird es von mir aus Zeitgründen vorerst nur im .doc-Format geben.) •
Besonders die Version im Hilfe-Format (*.hlp) bietet einen schnellen Zugang, wenn ihr sie in das mIRC-Verzeichnis kopiert. Das dynamische Hilfe-Menü wird sie finden und durch einfache Mausklicks zur Verfügung stellen.
•
Im Falle das Verlustes aller PopUps, die mit der rechten Maustaste angesteuert werden, nachdem Ihr Eure Version auf den neuesten Stand gebracht habt, seht erst einmal in die Einstellungen der PopUps im Tools-Menü! Habt Ihr vielleicht vergessen diese mit zu erneuern? Zeigen diese eine gültige Datei mit PopUp-Informationen an? Zeigen sie die alte Datei im c:\windows oder die neue popup.ini im mIRC-Verzeichnis? Das selbe gilt für Aliases und Remotes.
•
Der /uwho Befehl bietet eine verbesserte Oberfläche, die Euch mit Informationen über Leute auf dem IRC versorgt. Ihr könnt Userinformationen wie Adressen und CTCP-Antworten speichern und sie gegebenenfalls wieder aufrufen
•
Das Helpmenu ist verbessert worden und zeigt nun nicht nur die .hlp-Dateien sondern auch die readme.txt, versions.txt und update.txt an um den
Zugriff zu beschleunigen. Gleichzeitig wurden interne Aliases hinzugefügt, die den HelpDateinamen gleichen. Wenn ihr also die Datei ircintro.txt in Eurem mIRC-Verzeichnis habt, reicht es einfach /ircintro einzugeben. Genauso könnt Ihr Eure eigenen Hilfedateien in das Hilfemenü hinzufügen. Neben den mIRC FAQ gibt es auf den WWW-Seiten auch das IRCIntro im Windows Hilfeformat. (Anm. d. Übersetzers: Aber leider auch dieses im Moment nur auf englisch. Wenn es Euch jedoch richtig interessiert, dann schreibt mir eine eMail) •
Ihr könnt Euch mit dem neuen automatischen Anti-Flood-System gegen die Leute wehren, die Euch vom Server spülen wollen. Seht mal unter File/Options/Flood nach. Ein Server disconnected normalerweise Personen, die ihm eine zu große Menge an Daten in einer gewissen Zeitspanne senden, oder er die schon gesendeten Daten noch nicht verarbeitet hat. Der neue Flood-Schutz macht es auf jeden Fall unmöglich, daß andere Euren Client dazu bringen, zuviel zu senden. Normalerweise hat ein Server einen Datenpuffer von 512 Bytes. mIRC wartet also, bis der Server wieder aufnahmebereit ist, bevor es weiter sendet. Gleichzeitig stellt es noch nicht gesendete Daten zurück. Dieses sollte Euch wirksam vor allen Arten von CTCP-Floods schützen. Ihr könnt den Höchstwert von sicher zu sendenden Daten (z.B. 450 Bytes), die Anzahl der zu speichernden Zeilen (z.B. 20), die Anzahl der zu speichernden Zeilen pro User (z.B. 3) und die Zeitspanne, in der der User ignoriert wird, auch selber festlegen.
Dieser Flood-Schutz reagiert allerdings nur auf die Aktionen anderer User, Ihr könnt Euch also immer noch selber vom Server flooden. (z.B. mit dem /list-Befehl)
6. Tips und Antworten auf Fragen 6.1 Wie benutze ich 32bit-mIRC unter Windows 3.1 oder Windows für Workgroups 3.11? Um 32bit-Programme auf Windows 3.1 oder Windows für Workgroups 3.11 laufen zu lassen, müsst Ihr die win32s 32bit-Erweiterung installieren. Bei weitem nicht alle Programme können auf dieser sehr kleinen 32bit-Plattform funktionieren, aber mIRC kann! Versichert Euch, daß ihr eine neue Version dieser Erweiterung besitzt. Ich unterstelle nicht, daß es besser ist, mIRC32 auf Windows 3.1x laufen zu lassen, aber wenn Ihr die Erweiterung eh schon installiert habt - dann schadet es auch nicht.
Ihr braucht keine 32bit Winsock, um mIRC32 auf Win3.1x laufen zu lassen. Ihr könnt also genauso eine 16bit Winsock verwenden. mIRC funktioniert wunderbar auf der Microsoft TCP/IP32 Winsock (Die allerdings für sich soweit ich weiß keine Modemunterstützung bietet) und
natürlich auf der bekannten Trumpet Winsock, sowie vielen anderen. (Nicht daß wir uns mißverstehen... Ich spreche jetzt nur für Windows 3.1x!)
Es können Probleme mit der win32s-Erweiterung von Windows für Workgroups 3.11 auftreten, wenn diese älter oder neuer ist, als die, auf der mIRC32 kompiliert wurde. Probleme mit der 32sErweiterung äußern sich in merkwürdigem Verhalten beim Starten von mIRC32 bis hin zum Absturz des Programms. Am besten verwendet ihr die Version 1.3.0 Bearbeitung 166 oder Neueres. http://www.microsoft.com/kb/softlib/mslfiles/pw 1118.exe oder ftp://ftp.ncsa.uiuc.edu/web/mosaic/windows/win3 1x/win32s/ole32s13.exe
6.2 Wie benutze ich 32bit-mIRC unter Windows 95? Wenn ihr mIRC32.exe unter Windows95 laufen laßt, sind eigentlich keine Fehler zu erwarten. Wenn Ihr es nicht ans laufen bekommt, dann liegt dieses vielleicht daran, daß ihr eine 16bit-
Winsock installiert habt. Im Gegensatz zu Win3.1x läuft mIRC32 unter Windows95 NICHT auf einer 16bit-Winsock! Der am häufigsten auftretende Fehler ist hierbei "Error: Can't resolve local host name". Wenn Ihr also Schwierigkeiten mit der 32bit-Version habt, die 16bit-Version aber einwandfrei läuft, dann versichert Euch erst, ob ihr wirklich eine 32bitWinsock fahrt! Die von Windows95 mitgelieferte Winsock (DFÜ-Netzwerk) ist eine 32bit-Datei, die häufig verwendete Trumpet-Winsock jedoch nicht. (Anm. d. Übersetzers: Mittlerweile gibt es eine 32bit-Winsock von Trumpet. Jedoch alles was älter ist als Version 3.0 ist sicherlich 16bit)
Wenn Ihr Windows95 verwendet und dazu eine 16bit-Winsock wie Trumpet, Spry, Chameleon, etc., gibt es ein wohlbekanntes Kommunikationsproblem zwischen dem 32bit geschützten System und dem 16bit-Subsystem mit der enthaltenden Winsock. Aufgrund dieses Problems muß unter Windows95 mit einer 16bitWinsock auch 16bit mIRC benutzt werden. (Anm. d. Übersetzers: Was allerdings relativ blödsinnig wäre, da Win95 wie schon gesagt eh einen eigenen Internetdialer mitliefert, der ziemlich stabil läuft und es mit 16bit-Winsocks auf Win95-Oberfläche immer Schwierigkeiten
gibt - auch bei anderen auf den TCP/IP-Transport zugreifenden 16bit-Applikationen wie z.B. Netscape16. Gruß an die Adressenschutzverletzung! ;) Die 16bit-Winsock - wie alle anderen 16bitApplikationen auch - laufen in einem 16bitSubsystem unter Windows95. Dieses hat jedoch keinen Zugriff auf die geschützten 32bit-Bereiche und umgekehrt. mIRC32 kann also nicht auf den TCP/IP-Transport der 16bit-Winsock zugreifen. Um dieses Problem zu lösen, müßt ihr eine 32bitWinsock installieren. Empfohlen wird der TCP/IP-Transport des DFÜ-Netzwerks.
Der zugehörige Dialer, der Teil der Windows95Installation ist, muß entsprechend den Anforderungen des verwendeten Internet Service Providers konfiguriert werden. Nähere Informationen über die Konfiguration des TCP/IP-Transports unter Win95 findet ihr bei http://www.windows95.com/tcp.html . Netcom vertreibt im übrigen eigene FAQ zu diesem Thema: http://www.netcom.com/faq/dial95.html.
6.3 Wie behebe ich den Fehler "Can't resolve Local Host Name"? Wenn Ihr Windows95 benutzt, stellt erst fest, ob Ihr versucht mIRC32.exe mit einer 16bitWinsock zu verwenden. Eine 32bit-Winsock ist erforderlich. Ist eine 16bit-Winsock installiert, dann benutzt vorerst mIRC16.exe. Seht aber auf jeden Fall im Punkt 6.2 nach!
In der File/Setup/Local_Info-Dialog Box, seht ihr, daß mIRC den Local-Host-Namen und die IPAdresse Eures PCs benötigt. Diese Informationen sind erforderlich, um DCC-Chat- und -SendVerbindungen mit anderen Usern herzustellen.
Normalerweise kann man beide Felder frei lassen, 'On connect always get Local Host and IPAddress' aktivieren, die 'Method' auf normal setzen und alles läuft fehlerfrei. Wenn Ihr aber keine aktuelle IP-Adresse (wie z.B. mit TIA, Twinsock, SLiRP, oder anderen SLIPEmulatoren), oder irgendwelche Unregelmäßigkeiten im Netzwerk habt, kann es passieren, daß mIRC nicht in der Lage ist, diese Felder korrekt zu füllen.
Die einfachste Lösung ist die Wahl der anderen Verbindungsmethode, so daß der IRC-Server, mit dem ihr Euch verbinden wollt, die Adresse ermittelt. Eventuell müßt Ihr dann aber vorher den Inhalt der beiden Felder löschen. Nun aktiviert Ihr 'On connect always get Local Host and IP-Adress' und wählt als Methode 'Server'. Danach versucht, eine Verbindung aufzubauen.
In den wenigen Fällen, in denen die oben beschriebene Verfahrensweise nicht funktioniert, deaktiviert Ihr 'On connect always get Local Host and IP-Adress' und tragt Local Host-Namen Eures PC's und IP-Adresse selbst ein. Wenn Ihr TIA, Twinsock, SLiRP o.ä. benutzt gebt einfach Local Host-Namen und IP-Adresse Eures Providers ein, nicht die eigene. (Die IP Eures Providers ist nicht 192.0.2.1 oder ähnliches. Das ist eine Standartadresse, die von den Emulatoren verwendet wird. Wenn Ihr die Adresse nicht wißt, dann fragt bei Eurem Internetprovider nach) Manchmal hilft es übrigens auch, wenn man den 'Ident Server' aktiviert. (Siehe auch Abschnitt 6.7) (Achtung: Ihr dürft nicht mit irgendeinem IRCServer verbunden sein, wenn ihr die 'Ident Server'- Einstellungen ändert.)
Wenn keiner der oben angegebenen Lösungsvorschläge helfen sollte, dann ist es
ebenfalls möglich, daß mIRC die den IP-Check nicht korrekt beenden kann, und eine 'Can't resolve Local Host Name'-Fehlermeldung gibt, weil Eure IP-Adresse im DNS (Domain Name Server) des Providers nicht korrekt eingerichtet ist. Dieses Problem kann man allerdings leider nicht selber lösen, sondern dann müßt Ihr bei Eurem Provider darum bitten, daß Eurer IPAdresse korrekt ein Hostname zugewiesen wird. Das ist nicht schwer und macht auch nicht viel Arbeit.
6.4 Wie behebe ich den Fehler "Unable to resolve IRC Server"? Wenn Euer mIRC zu einem speziellen Server keine Verbindung bekommt und diese Fehlermeldung ausgibt, dann solltet Ihr es erst einmal mit einem anderen IRC-Server probieren. Wenn es mit anderen Servern klappt, dann überprüft, ob Ihr bei der nicht funktionierenden Serveradresse nicht einen Tippfehler gemacht habt. (File/Setup/IRC Servers/Edit)
Wenn Ihr diese Fehlermeldung bei jeglichem IRC-Server bekommt, dann ist es sehr wahrscheinlich, daß der DNS Eures entweder außer Betrieb ist, fehlerhaft oder sehr langsam arbeitet (besonders, wenn mIRC sonst immer tadellos funktioniert hat). Außer Warten oder bei
der Hotline des Providers anzurufen, gibt es allerdings nichts, was ihr dagegen tun könnt.
mIRC braucht einen DNS um die von angegebene Adresse in die IP Nummer zu übersetzen (so wird z.B. irc.law.emory.edu in 170.140.50.195 übersetzt. Ihr könnt das überprüfen, in dem Ihr /dns irc.law.emory.edu eingebt). Man kann sich aber den Umweg über den DNS ersparen, indem man direkt die IP-Nummer anstatt der Adresse angibt.
Richtet die IRC-Server unter File/Setup/IRC Servers/Edit wie folgt ein:
Description: University)
irc.law.emory.edu
(Emory
IRC Server: 170.140.50.195 Port: 6667
Wenn dies alles nichts nützt, habt Ihr aber eventuell einfach nur eine beschädigte oder falsch konfigurierte Winsock?
6.5 Wie behebe ich den Fehler "Not enough User Parameters"? Der 'Not enough User Parameters'-Fehler tritt auf, wenn man versucht, die Verbindung zu einem IRC-Server aufzubauen, aber kein bzw. ein falscher Local Host eingetragen ist. Überprüft Euren Eintrag unter File/Setup/Local Info/Local Host. Seht auch mal nach, ob im Email-Feld eine gültige Email Adresse eingetragen ist (File/Setup/IRC SERVERS/E-Mail).
Anmerkung: Die E-Mail-Adresse wird intern von mIRC verwendet und ist nicht jene, die für andere User sichtbar wird, wenn sie einen /whois-Befehl ausführen. Einige von euch haben vielleicht die E-Mail-Adresse in dem User-Central-Dialogfeld bemerkt (/uwho-Befehl). Dieses Feld besteht aus Username@Local host.... in vielen Fällen stimmt diese Angabe aber nicht mit der tatsächlichen EMail-Adresse überein. Es hat nichts mir der im File/Setup/IRC SERVERS/E-Mail zu tun. Also gebt dort die korrekte Adresse ein.
6.6 Wie behebe ich den Fehler "You haven't registered"? Ach... und außerdem bekomme ich
Ping Time-Outs nach ungefähr 10 Sekunden Verbindung. Obwohl mIRC ein Shareware-Programm ist und man es registrieren lassen muß, wenn man es länger als 30 Tage benutzen möchte, ist dieses keine Nachricht von mIRC. mIRC wird auch nach Ablaufen der Versuchsphase keine Einschränkungen der Funktionalität aufweisen. Diese Fehlermeldung ist also eine des IRCServers den Ihr benutzen möchtet.
Wenn Ihr diese Nachricht erhaltet und/oder in so kurzer Zeit die Verbindung verliert, dann könnte Euer Local Host Name oder die IP-Adresse falsch oder gar nicht eingegeben sein. Seht mal in File/Setup im Feld Local Info nach ob der Local Host eingegeben, und wenn ja korrekt ist, ferner, ob die IP-Adresse bzw. -Nummer automatisch eingefügt wird. Die einfachste Lösung ist, 'On connect always get Local Host and IP-Adress' zu aktivieren und mIRC neu zu starten.
Wenn das nicht hilft, kann es sein, daß der Server, mit dem Ihr Euch zu verbinden versucht nicht öffentlich ist! Versuch es mal mit anderen, um das zu überprüfen.
6.7 Warum bin ich unidentifiziert und wie wirkt sich das aus? Um die Identifizierung des Servers kümmert sich üblicherweise die UNIX-Maschine Eures Internet-Providers. Es ist eine Art Name-Server, der Eure Identität garantiert. Da die meisten alleinstehenden Windows-Maschinen nicht durch einen 'Ident Server' unterstützt werden, hat mIRC einen solchen eingebaut. IRC-Server senden manchmal eine Identitätsanfrage an den verbindenden Client und erwarten dann ein standardisierte Antwort. Dieses Verfahren wird von mehr und mehr IRC-Servern vorausgesetzt und wenn keine oder eine falsche Antwort erfolgt, fliegt Ihr raus. Ihr könnt das leicht überprüfen, indem Ihr einen /whois auf auch selber durchführt. Die erste Zeile der Antwort sollte kein '-' (Minus) oder eine '~' (Tilde) enthalten. Wenn das jedoch der Fall sein sollte, dann versucht es mit der Aktivierung des 'Ident Server' mIRCs eingebauter 'Ident Server' kann unter File/Setup/Ident Server eingeschaltet werden. Richtet ihn wie folgt ein: User ID: (Normalerweise der Teil vor dem @ in Eurer EMail-Adresse) System: (Tragt UNIX IMMER UNIX ein! Nicht DOS, Win oder anderes!)
UNIX ein! Nicht DOS, Win oder anderes!) Listen (Standart on port: 'Indent'113 PortNummer)
6.8 Mein mIRC kann keine Dateien über DCC senden, oder eine DCC Chat-Verbindung aufbauen! Dateien zu empfangen ist allerdings kein Problem. In fast allen Fällen, in denen Probleme mit dem Senden oder empfangen per DCC auftreten, liegt das Problem bei der initialisierenden d.h. sendenden Partei. In allen Fällen in denen DCC Send aufhört zu funktionieren, oder nie funktioniert hat liegt dies an falschen Einstellungen des Local Hosts oder der IPAdresse auf der Seite des Senders. (Local Host und IP-Adresse findet Ihr unter File/Setup/Local Info). Typischerweise ist eine falsche IP-Adresse angegeben, die andere Partei bekommt eine DCCAnfrage, versucht diese zu bestätigen und eine Verbindung mit der falschen IP aufzubauen, was natürlich nicht funktioniert und beide sitzen und warten. Ihr werdet die Anzeige 'Waiting for acknowledgemet' sehen, obwohl der andere längst bestätigt hat. Dann habt Ihr ein falsches Setup. Nicht die andere Person. Dieses Problem ist aber
üblicherweise ziemlich einfach zu lösen. Wenn Ihr dieses Problem beim empfangen von Dateien habt, weist auch die andere Person an, mal Ihre IP-Adresse zu überprüfen. Eine gute Methode, dieses Problem zu lösen ist folgende: o o
o o o o
Trennt die Verbindung zum IRC-Server Löscht die Angaben über den Local Host und die IP-Adresse in File/Setup/Local Info Aktiviert 'On connect always get' Local Host und IP-Adresse Wählt als 'Method' Normal Verlaßt die Local Info-Dialogbox und File/Setup/ mit OK Verbindet Euch erneut
Wenn es dann immer noch nicht funktioniert, experimentiert mit den 'On connect'Einstellungen. Versucht zum Beispiel, den Local Host per Hand einzutragen und mIRC nur nach der IP-Adresse suchen zu lassen. Als weitere Möglichkeit bietet sich als 'Method' den Punkt 'Server' statt 'Normal' zu aktivieren. Was das bewirkt, könnt Ihr in Punkt 6.3 nachlesen.
*** Dies gilt für alle! Überprüft Eure Time-OutSettings!!!
Versichert Euch, daß die Werte im DCC/OptionsDialogfeld hoch genug angesetzt sind. 'Get/Chat time out after' und 'Send/Get transfer time out after' sollten mindestens auf 60 und 120 stehen.
Wenn DCC Get/Send/Chat noch nie funktioniert hat, auch nachdem Ihr diese Hinweise kennt, dann kann es sein, daß Euer Provider DCCVerbindungen generell durch die Art des Service abblockt, den er Euch bietet (meines Wissens nach z.B. Metronet). Es ist bekannt, daß TIA, Twinsock, Slipknot und SLiRP Probleme verursachen. Auch der Verwendung einer Firewall durch den Provider wird eine DCCVerbindung verhindern.
*** Wenn Ihr TIA, Twinsock oder Slipknot benutzt Wenn Ihr TIA (The Internet Adapter) oder Twinsock benutzt, dann könnt Ihr nach dem heutigen Stand keine DCC-Verbindung aufbauen (auch mit anderen IRC-Clients nicht). Aber vielleicht wollt Ihr ja mal SLiRP oder vTCP ausprobieren. SLiRP war der erste SLIPEmulator, der DCC unterstützt hat (normalerweise sollte DCC immer funktionieren, unabhängig von der verwendeten Verbindung, außer im Falle einer zwischengeschalteten Firewall). Virtual TCP ist ebenfalls bezüglich
DCC-Verbindungen erfolgreich getestet worden. Mehr Informationen findet Ihr bei http://blitzen.canberra.edu.au/slirp und http://www.infoexpress.com/vtcp.html.
*** Wenn Ihr eine dynamische IP-Adresse habt Wenn ihr jedes mal beim Einwählen eine andere IP-Adresse habt, dann versichert euch, daß die Felder 'On connect always get' Local Host und IP-Adresse aktiviert sind. Wenn dem schon so ist, dann versichert Euch, ab mIRC auch die richtige IP bzw. den richtigen Local Host-Namen erkannt hat - bei einigen Winsocks ist das etwas vertrackt und mIRC findet die Angaben nicht. Wenn Ihr dann eine dynamische IP-Adresse habt, seid Ihr in Schwierigkeiten. Aber habt Ihr es schon mit der 'Server' Methode versucht? Das sollte helfen. Um einen DCC-Chat oder einen DCC-Send (anders als eine Datei zu empfangen oder einen DCCChat-Request zu bestätigen) zu initiieren, braucht mIRC die korrekte IP-Adresse. mIRC sollte eigentlich auch ohne IP-Adresse funktionieren, nur ist dann halt der Aufbau von DCCVerbindungen nicht möglich.
*** Wenn Ihr eine statische IP-Adresse habt Wenn Ihr eine nicht völlig kompatible Winsock verwendet, dann kann mIRC Schwierigkeiten
haben, Euren Local Host und die IP-Adresse korrekt herauszufiltern. Deaktiviert im Dialogfeld File/Setup/Local_Info die Option On connect always get Local Host und IP-Address und fügt die entsprechenden Daten per Hand ein.
*** Es gibt einen bekannten Windows95 Bug, der dazu führt, daß mIRC (sowie andere Clients auch) nach dem Wechsel eines Providers immer noch den Local Host-Namen sowie IP-Adresse des alten Providers erfaßt. Wenn dem so ist, könnt Ihr zuerst versuchen, über die 'Server'-Methode zu verbinden, wenn das nicht hilft, müßt ihr mal mit Regedit in die Win95-Registries schauen: MyComputer\HKEY_LOCAL_MACHINE\Syste m\CurrentControlSet\Services\VxD\MSTCP. Da findet ihr dann sehr wahrscheinlich die Daten Eures alten Providers. Diese Felder bleiben bestehen, auch wenn Ihr das DFÜ-Netzwerk deinstalliert, und neu hinzufügt! Der beste Weg ist, nach Start/Einstellungen/Systemsteuerung/Netzwerk zu gehen, TCP/IP doppelzuklicken und die DNSKonfiguration auf die des neuen Providers umzustellen. (Anm. d. Übersetzers: In den meisten Fällen ist allerdings hier die DNSKonfiguration deaktiviert und individuell für jeden Netzwerkpartner im Arbeitsplatz/DFÜNetzwerk/ festgelegt)
*** Bei der Verwendung von mIRC unter Windows95 kann man Dateien mit langen Namen und Freizeichen darin senden. Allerdings haben viele andere IRC-Clients damit Schwierigkeiten. Das kann dazu führen, daß der DCC-Transfer fehlschlägt. Hierzu gibt es in den mIRC Optionen eine Funktion, die Freizeichen auffüllt.
*** Ein paar User hatten Probleme mit dem DCC-File-Send auf einem Windows-Rechner wenn gleichzeitig Norton Desktop installiert war. mIRC hat sich dann direkt - manchmal mit einer Fehlermeldung aufgehängt. Das Problem liegt daran, das die Funktion 'File Assist' von Norton mit dem File-Send Dialogfeld von mIRC in Konflikt tritt. Wenn Ihr die Funktion 'File Assist' schließt, dann sollte DCC wunderbar funktionieren. Oft hilft es schon, die Option '3D look and feel' in den Optionen des 'File assist' abzuschalten.
*** Ein anderes Softwarepaket, welches dafür bekannt ist, zusammen mit DCC zu Problemen zu führen, ist "Long File Names" von View Software. Es läuft im Hintergrund, und man kommt nicht darauf, daß es der Grund für Schwierigkeiten ist. Das Problem liegt darin, daß das aufspringende DCC-Send-Dialogfeld blockiert durch LFN - dann keine Dateiauswahl
mehr erlaubt. Das Abschlten dieser Software behebt das Problem sofort.
(Für die meisten dieser Änderungen müßt Ihr Euch vom IRC-Server disconnecten)
6.9 Mein mIRC kann keine Dateien über DCC empfangen! Oh, ich benutze übrigens Twinsock, Internet in a BOX oder Netcruiser oder... Wenn Ihr über DCC keine Dateien von jemandem empfangen könnt, dann liegt es sehr wahrscheinlich an einem der in Punkt 6.8 beschriebenen Probleme. Ein besonderer Hinweis darauf wäre die Tatsache, daß der DCC-Transfer mit anderen funktioniert. Bittet die andere Partei darum, ihre IP-Einstellungen zu kontrollieren.
Wenn Ihr Fehlermeldungen, wie "invalid directory" oder "cannot write to File" bekommt, dann müßt ihr mal im DCC/Options-Dialogfeld nachschauen, ob der Standartwert auf ein gültiges Verzeichnis verweist. Das klingt jetzt vielleicht doof, aber auch eine vollgeschriebene Festplatte verhindert einen
DCC-Transfer in erstaunlich effektiver Art und Weise. (Anm. d. Übersetzers: HAHAHAHAHAHAHAHAHA!!!!)
NetCruiser, Twinsock und Internet In a Box sind nicht 100%ig winsock-kompatibel und einige User beklagen sich über Probleme mit DCC unter mIRC und anderen IRC-Clients. Beschwert Euch dann bitte bei NetCom oder den anderen. Einige User erhalten auch die Fehlermeldung "unable to create socket" bei Verwendung von IBOX und anderen Winsocks. Wenn das passiert, dann versucht es mit reconnecten (File/Connect oder gebt /server ein). Das hilft manchmal.
6.10 Wie kann ich kopieren und einfügen? In den Channel-, Query und DCC-Fenstern können mIRC-User mit einem Handgriff auswählen und kopieren. Text wird automatisch in die Zwischenablage kopiert, wenn man mit der Maus markiert und dann die Maustaste losläßt. Ist das nicht ein tolles Feature? Strg-V (Ctrl-V) fügt den kopierten Text ein.
Die übliche Windows-Option "Ausschneiden" (Cut) ist nicht aus Ignoranzgründen weggelassen
worden, sondern weil Windows keinen farbigen Text in normalen Textfenstern unterstützt. Khaled mußte also alle box/windows-Routinen selber schreiben! =) Und da Ausschneiden und Einfügen in den Channel- oder Query-Fenstern eh sinnlos ist, war er in der Lage, eigene Features zu entwickeln.
Alle Texte außerhalb der Channel- oder QueryFenstern (in den Einstellungen, Menüs, Editboxen) können ganz regulär mit Strg-V, StrgX und Strg-V kopiert, ausgeschnitten und eingefügt werden.
6.11 Wie stelle ich die Farben meines mIRCs ein? mIRC verfügt über ein neues Feature, daß es erlaubt, die Standartfarben in vollem Umfang zu verändern. Schaut mal im Menüpunkt Tools/Colour nach. Im Prinzip könnt Ihr für jedes Element auf dem IRC die Farbe wählen, die Euch paßt. Und keine Angst vor Experimenten! Der Reset-Knopf setzt alles auf den Standart zurück.
Neben den auf Eurer mIRC beschränkten Möglickkeiten der Farbkonfiguration könnt Ihr auch die Nachrichten für andere User farblich gestalten. Strg-K fügt ein spezielles
Kontrollzeichen in Euren Text ein. Fügt dahinter eine Nummer zwischen 0 und 15 ein, um auf die 16 verfügbaren Farben zuzugreifen.
6.12 Wie ändere ich die in mIRC verwendeten Schriftarten? Die Einstellungen der Schriftarten findet Ihr im Systemmenü des jeweiligen Fensters ( das ist das kleine Icon oben links in jedem Fenster, egal ob bei mIRC oder anderen Windowsprogrammen. Ihr könnt es mit Alt und - (minus) ansteuern). Ihr könnt allerdings auch in jedem Fenster /font eingeben. Dann springt ein Dialogfeld auf, in dem Ihr alle installierten Schriftarten findet. Ihr könnt für jedes Fenster Eure Lieblingsschriftart auswählen, sei es Times New Roman, Arial, MS Sans Serif oder was auch immer. Außerdem ist die Schriftgröße veränderbar, und man kann die Schrift auf 'Fett' setzen (Kursiv ist im Moment für die meisten Schriftarten nicht verfügbar). Die gewählten Einstellungen werden für das jeweilige Fenster gespeichert. Wenn Ihr die gewählten Einstellungen für alle Fenster als Standart setzen wollt, dann aktiviert die 'Use as default'Checkbox.
6.13 Wie stelle ich mein mIRC auf 3DDialogboxen ein? mIRCs gegenwärtige Version verwendet automatisch die 3D-Sammeldialogboxen. Es wird allerdings die Datei ctl3d.dll benötigt. Diese Dialogboxen erscheinen in einem hübschen grau und erwecken einen hervorstehenden Eindruck. Die normalen Fenster und der darin enthaltene Text wird davon aber nicht beeinträchtigt.
Damit mIRC16 die 3D-Boxen anzeigt, muß die Datei CTL3DV2.DLL korrekt installiert sein. CTL3DV2.DLL gehört nicht zum Lieferumfang von Windows3.1 oder WFW3.11 es kann also passieren, daß die Datei nicht vorhanden ist. Überprüft Euer windows\system Verzeichnis. Versichert Euch, daß Ihr nur eine Version (die neueste) installiert habt (Die Installation mehrerer Versionen kann die Funktionalität dieser Bibliothek beeinträchtigen, überprüft also die gesamte Festplatte).
mIRC32 benötigt die Datei CTL3D32.DLL. Es muß sich im windows\system Verzeichnis befinden, und darf - wie bei der 16bit-Version nur einmal installiert sein. Win95 benötigt die Version 2.26 oder neuer. Diese ist auch auf WFW3.11 lauffähig. (Ihr findet die Versionsnummer heraus, in dem Ihr im Explorer
die Datei markiert und im Kontextmenü der rechten Maustaste unter 'Eigenschaften' in das Feld Version schaut)
6.14 Wie setze ich andere User korrekt in meine Auto-Op-, Protect-, und Ignore-List ein? (In der Auto-Op, Ignore und Protections Sektion unter File/Options/Control.) Diese 3 Listen ermöglichen Euch die einfachstmögliche Art der Channelverwaltung in mIRC. Wenn Ihr bessere, intelligentere, aber auch komplizierter zu verstehende Möglichkeiten sucht, dann schaut Euch den Punkt mIRC 'Remotes' an (Punkt 7 in diesen FAQ). Allerdings sind die an dieser Stelle beschriebenen Optionen für Anfänger schon ausreichend.
Das Format einer kompletten Adresse eines Users im IRC lautet Nickname!Account@Rechner. Nehmen wir mal an, User Bill antwortet auf einen '/whois Bill': Bill is [email protected] * Billy A Lot Of Names Gates Bill @#mIRC Bill irc.server.company.com (A superb company)
Bill 56 seconds idle Bill End of /WHOIS list.
Wenn Ihr euch nicht um Channeltakeovers (Erklärung des Übersetzers: Das unrechtmäßige 'Übernehmen' eines Channels. Man setzt sich selbst durch Tricks als Op ein und 'karpert' den Channel praktisch.) und anderes nerviges Zeug kümmert, dann reicht es, einfach den Nickname anzugeben. Wenn Ihr Euch aber versichern wollt, daß Ihr auch in Zukunft immer der richtigen Person automatisch Ops gebt, sie ignoriert, oder sie beschützt, dann spezifiziert sie wenn möglich anhand der Adresse. In diesem Fall verweist Ihr auf Bill am besten wie folgt: [email protected]
Wenn diese Person allerdings mit verschiedenen Nicks auf mehreren verschiedenen Rechnern arbeitet, kann man die Zeile auch nach *!gates@*.company.com abwandeln. Um einen User in einer der Listen zu erfassen, benutzt den /auto, /ignore oder /protect Befehl in der Editbox (z.B. /auto *!gates@*.company.com), oder tragt ihn direkt in
die entsprechende Liste ein. Es ist allerdings wichtig, daß Ihr die Liste unter File/Options/Control mit der ganz rechts gelegenen Checkbox aktiviert ('Active'). Hierzu kann auch in der Editbox /auto [on|off], /ignore [on|off] oder /protect [on|off] verwendet werden.
Ihr könnt die Auto-Op-, Ignore- und ProtectFunktion durch einige Parameter auch noch spezifischer reagieren lassen.
Auto-Op und Protect können so eingestellt werden, daß sie für ein und den selben User in verschiedenen Channels anders reagieren. In diesem Falle müssen nur die Namen der Channels in den Befehl integriert werden.
Die Auto-Op- und Protect-Funktion kann so eingestellt werden, daß sie auf ein und den selben User in verschiedenen Channels reagiert oder nicht. In diesem Falle müssen nur die Channelnamen in den Befehl integriert werden: /auto [#channel1,#channel2,...] und /protect [#channel1,#channel2,...] (/protect funktioniert nur mit Nicks!)
Wenn keine Channelnamen in den Befehl integriert werden, dann wird dem angegebenen User in allen Channels automatisch Ops gegeben bzw. beschützt, in dem Ihr auch Op-Status habt.
Der Ignore-Befehl kann so verfeinert werden, so daß er nur auf bestimmte Aktionen eines Users reagiert. mIRC unterscheidet zwischen privat gesendetem Text, Text in Channels, Nachrichtentext (Notices), CTCP-Befehlen und Einladungen (Invites). Die Befehlszeile kann dann so aussehen: /ignore [-pcntik] [Typ], wobei p = Private, c = Channel, n = Notice, t = CTCP, i = Invite (Einladung) und k = Color (Farbcodes) ist. (Mehr Parameter sind in den Help Dateien erklärt!) In der Ignore-Sektion wird dieser Befehl dann in folgendes Format umgewandelt: [email protected],private,channel,notice,c tcp,invite. Wenn keine weiteren Parameter angegeben wurden, dann wird mIRC den User komplett ignorieren.
6.15 Wie kann ich mein mIRC fernsteuern und auf Kommandos reagieren lassen? Durch die Funktionen in der Tools/Remote/Sektion...
mIRC kann auf durch andere User gesendete CTCP-Befehle reagieren. Ihr könnt die Antworten auf CTCP-Befehle frei gestalten und auch Dateien zum Download anbieten. Das alles sind Funktionen, die normalerweise das Verfassen eines Scripts erforderlich machen, aber hier von der Tools/Remotes/Commands/-Sektion geregelt werden. Diese Sektion kann ebenfalls OPME, KICK, MYLEVEL, oder automatische XDCCAnfragen für Euch regeln, wenn sie gut konfiguriert wird. mIRCs Remotes gut einzustellen ist keine einfache Angelegenheit, aber durch seine Arbeitsweise tut es auf jeden Fall genau das, was Ihr gerne möchtet.
Sobald mIRC einen CTCP-Befehl empfängt, überprüft es, ob dieser in der Liste vorhanden ist. Wenn ein entsprechender Eintrag vorliegt, vergleicht es das für den Befehl erforderliche Userlevel mit dem Level der Person, die den Befehl gesendet hat. Wenn das Level ausreichend ist, wird der Befehl ausgeführt. Alle an Euch gesendeten Befehle haben das Format /CTCP [euernickname] [Befehl] [Parameter]. Wenn ein
CTCP-Befehl auf mehreren verschiedenen Levels festgelegt ist, dann wird der höchstgestellte ausgeführt. In der im Lieferumfang von mIRC beigefügten Hilfedatei und in Punkt 7 der FAQ wird auf dieses Thema näher eingegangen.
6.16 Wie kann ich mein mIRC auf bestimmte Ereignisse ('Events') reagieren lassen? Durch die Funktionen in der Tools/Remote/Sektion...
Als 'Events' wird alles das bezeichnet, was in den Channels oder privaten Gesprächen auf dem IRC vor sich geht. Leute, die einen Channel "betreten", verlassen, Op-Status bekommen, OpStatus abschalten bzw. entzogen bekommen, grüßen, oder sonstigen Text von sich geben - alles das sind 'Events'.
Ihr könnt mIRC so programmieren, daß es auf fast alles was auf dem IRC passieren kann so reagiert, wie Ihr es Euch vorstellt. In der im Lieferumfang von mIRC beigefügten Hilfedatei und in Punkt 7 der FAQ wird auf dieses Thema näher eingegangen.
6.17 Wie setze ich meinen Freund Bill korrekt in die User-Liste auf Zugriffslevel 2? Durch die Funktionen in der Tools/Remote/Sektion... Ihr könnt Eure Freunde - z.B. Bill - auf zwei verschiedene Arten in der Userlist auf Level 2 setzen:
1. Indem 2:bill man den Nick angibt: 2. Indem 2:[email protected] man die Adresse angibt:
Natürlich ist es sicherer, die Adresse anzugeben. 'Wildcards' (*) werden unterstützt, wie z.B. in folgendem Beispiel: 2:*[email protected]
In diesem Fall würden alle Nicknames, die Bill mit seinem Account benutzt, berücksichtigt. Um allerdings die ON OP-, ON DEOP-, ON SERVEROP- und ON NOTIFY-Befehle zum
Laufen zu bringen, muß der Nickname angegeben sein! Hier reicht es nicht, nur die volle Adresse zu spezifizieren. Im Falle von Bill, könntet Ihr beide oben aufgeführten Zeilen verwenden.
Ihr könnt den Nick und/oder die Adresse in die Tools/Remote/-Sektion eingeben mIRC hat jedoch auch spezielle Befehle, um dieses aus der Editbox heraus zu tun. Informiert Euch in der Hilfedatei über die Befehle /guser, /auser und /ruser.
6.18 Nach dem /list Befehl verliere ich die Verbindung zum IRC-Server. Immer wenn ich versuche einen /list-Befehl auszuführen, dann fliege ich vom Server. Das selbe passiert, wenn ich nur einen Teil der Liste z.B. durch /list #love anfordere. Die Liste äuft dann für etwa 90 Sekunden, und dann verliere ich die Verbindung. Ich habe es mit Servern hier in Deutschland versucht aber auch einigen in den USA. Ich weiß nicht mehr weiter!!
In diesem Fall ist nichts falsch gemacht worden...
Es ist wichtig zu verstehen, was passiert, wenn man einen /list-Befehl ausführt. Der Server erzeugt dann eine Liste aller Channels (über 3000 auf dem EFNet), und sendet sie mit hoher Geschwindigkeit an den Client.
ABER, da unter Umständen der Datendurchsatz nicht immer flüssig läuft, legt der Server die gesamte Liste in einem Speicherpuffer ab. An einem bestimmten Punkt läuft dieser Speicher über und der Server, der dies realisiert ('reachedmaxsendq'), bricht die Verbindung ab. Dieser Mechanismus ist dazu gedacht, alle User herauszuschießen, die mehr Zeichen pro Sekunde erzeugen als "normale" User in einer Unterhaltung. Es ist eine Schutzfunktion und leider bekommt der Server in diesem Fall nicht mit, daß der Pufferüberlauf nur durch einen harmlosen List-Befehl zustande kommt, und schmeißt Euch raus.
Man kann mIRC so einstellen, daß es nur Channels mit einem Minimum oder Maximum an Usern anzeigt. Es ist auch möglich, eine #Bedingung festzusetzen, so daß nur Channels angezeigt werden, die den Text der Bedingung
erfüllen, aber das löst leider das Problem nicht im mindesten. Der IRC-Server generiert in jedem Fall die gesamte Channelliste und mIRC (so wie alle anderen IRC-Clients auch) übernimmt anschließend die Filterung.
Die ist also kein Fehler von mIRC. Es ist ärgerlich, aber leider gibt es nichts, was man in diesem Fall tun kann. Es ist einer von vielen kleinen Mängeln des IRC. Versucht es mit anderen Servern, die vielleicht nicht so empfindlich reagieren. Um User mit langsameren Modemverbindungen etwas zu entlasten, wird die Liste der Channels in der Datei channels.txt gespeichert. Im Channels-List-Dialogfeld gibt es u.a. zwei Köpfe: 'Get List' holt die aktuelle Liste vom Server, 'Apply' lädt die zuletzt downgeloadete Version, um darin nach Channels zu suchen. Wenn also einmal eine Liste erfolgreich heruntergeladen wurde, dann kann sie in späteren IRC-Sitzungen wiederverwendet oder an Freunde weitergegeben werden. Sie ist natürlich nicht ganz aktuell, aber das hat auf die großen Channels keinen Einfluß. Und außerdem fliegt man nicht mehr raus. :-)
Oh... schaut übrigens mal in des Channel-List-Fensters! Befehl beendet ist wird die behalten und kann mit
die Kontext-menüs Sobald der ListListe im Speicher Tastenoperationen,
min/max-Einstellungen und speziellen Filtern nachbearbeitet werden. Klickt mit der rechten Maustaste in das Fenster und spielt ein bißchen mit den möglichen Parametern herum.
6.19 Wie lasse ich mehrere Kopien von mIRC gleichzeitig laufen? mirc.exe 16bit: Man kann die 16bit mIRC.exe-Datei nicht einfach ein zweites Mal starten. Windows verhindert dies bei 16bit-Programmen. Außerdem könnten die .ini-Dateien beschädigt werden, wenn zwei Versionen gleichzeitig auf sie zugreifen. Wenn Ihr mIRC16 zweimal laufen lassen wollt (fragt mich nicht warum), dann installiert es am besten ein zweites Mal in ein anderes Verzeichnis auf Eurer Festplatte (z.B.: c:\mirc2\). Das beugt einer Menge Ärger vor =). Das Installationsprogramm von mIRC wird neue Icons erstellen, gebt ihm nur einen vernünftigen Namen, wie mIRCBot o.ä. Jetzt könnt ihr beide Dateien gleichzeitig starten und unabhängig voneinander konfigurieren! Schön, nicht...?
mirc32.exe 32-bit: Die 32bit-Version kann ohne Probleme ein zweites Mal gestartet werden. Allerdings empfiehlt es sich auch hier, mIRC in ein \mirc2\-
Verzeichnis zu installieren - das garantiert, daß die zweite Version völlig unabhängig läuft.
6.20 Wie mache ich mich für andere User unsichtbar? Was bewirkt dies, und was nicht? :o) Mit mIRC könnt Ihr Euch mit /mode <Euer Nickname> +i unsichtbar machen. In der Überschrift des Status-Fensters wird dann ein +i nach Eurem Nickname stehen. Auch wenn Ihr den Nickname ändert, bleibt Ihr unsichtbar. Erst /mode <Euer Nickname> -i macht Euch wieder sichtbar. Kein anderer User kann Euer Überwechseln vom sichtbaren in den unsichtbaren Modus - oder umgekehrt - erkennen. Im unsichtbaren Modus seid Ihr allerdings immer noch für alle User zu erkennen, die mit euch im selben Channel befinden. Wenn Ihr einen Channel betretet oder verlaßt, wird dies ebenfalls angezeigt. Wenn jemand einen /whois <Euer Nickname> ausführt, und der eingegebene Nick tatsächlich genau Eurem entspricht, wird er eine normale Anzeige bekommen.
Wo liegt also der Sinn der 'invisibility'-Option?
User, die nicht mit Euch im selben Channel sind, werden Euch nicht entdecken, indem sie einen /who ausführen, oder mit /names ein Liste aller User auf dem IRC-Netz anfordern. Auch /who *Teil.Eurer.Adresse.net wird nichts bringen. Der Sinn des Unsichtbarkeitsmodus liegt nicht darin, durch Channels zu strolchen, ohne daß man gesehen wird, sondern um sich (ein bißchen) vor anderen Usern zu verstecken, die mit /who Channels nach Euch scannen. Wenn sie den Channel betreten, um Euch zu finden, hilft 'invisible' nicht mehr.
Um sich nerviger Leute zu entledigen: Macht euch zuerst unsichtbar, dann ändert Euren Nick. Geht dann nur in Channels, bei denen Ihr sicher sein könnt, daß sie die andere Person nicht betreten kann. (Auch /ignore wirkt Wunder)
6.21 Wie funktioniert der neue sound-Befehl? Vorausgesetzt Ihr habt eine Soundkarte, bzw. einen Treiber, der das Abspielen von Sounds auf dem PC-Lautsprecher ermöglicht, erlaubt mIRC eine Reihe lustiger Funktionen mit Klängen auf dem IRC.
Schon vor mIRC-Version 3.7 stand der /wavplay [c:\pfad\sound.wav ]-Befehl zur Verfügung mit dem man .wav-Dateien lokal abspielen kann. Ab Version 4.7 können auch MIDI-Dateien wiedergegeben werden und der Befehl wurde in /splay umgenannt. Mit dieser Funktion könnt Ihr Euch auf Ereignisse aufmerksam machen lassen, wie z.B. das Erscheinen Eurer Freunde, das Kicken von Personen usw. Programmiert wird dies in der 'Remote'-Sektion.
Der /sound-Befehl ermöglicht es, die Anforderung, eine .wav- oder .midi-Datei zu spielen an eine beliebige Partei zu schicken. Dieser Sound muss lediglich bei euch und der anderen Partei vorhanden sein. mIRC muss allerdings erst so eingestellt werden, daß es Sound-Anforderungen nachkommt. Aktiviert unter 'File/Options/Sound Requests/' die Checkbox 'Accept Sound Requests'. Die Befehlssyntax lautet: /sound [nickname|#channel] [Dateiname.wav/.midi] [Nachricht] (Die Nachricht wird dann wie eine Aktion aussehen.)
Es kann nach dem Dateinamen ein Text hinzugefügt werden, der für die andere Partei
sichtbar wird. Hier muß noch einmal betont werden, daß die entsprechende Datei nicht an die andere Partei gesendet wird! Wir wollen das Netz nicht mit Daten vollstopfen. Der Befehl löst nur das Spielen einer Datei aus, also versichert Euch, daß Ihr und die andere Partei - beide den Sound besitzen. Ein /sound Freund tada.wav bläst einen Tusch ergibt ->*Freund* bläst einen Tusch und Euer Rechner spielt tada.wav (*Freund* bestätigt Euch die Zielperson) und die Aktion "Freund bläst einen Tusch" erscheint auf dem Schirm der Zielperson zusammen mit tada.wav, daß dann abgespielt wird.
Dieser Befehl funktioniert zur Zeit nur unter mIRC-Usern und Leuten, die kompatible Clients benutzen. mIRC sucht nach dem Sound in dem Verzeichnis, daß Ihr unter File/Options/Sound Requests/ eingestellt habt.
Wenn Ihr gerne mit Sounds arbeitet, dann probiert auch mal den /speak-Befehl aus. Dieser Befehl funktioniert in Zusammenarbeit von mIRC und dem Text-To-Speech-Programm 'Monologue' (über DDE) und kann alles, was nach dem Befehl hinzugefügt wird per Sprache ausgeben. Lest hierzu aber auch Punkt 6.25. (Anmerkung d. Übersetzers: Monologue ist leider auf die
englische Sprache festgelegt. Meiner Kenntnis nach kann man es gar nicht, oder nur mit sehr großem Aufwand für deutsche Sprachausgabe modifizieren. Wenn Ihr allerdings mehr wißt als ich, dann mailt mir! [email protected])
6.22 Wie funktioniert die WWW-Unterstützung in mIRC? mIRC unterstützt die WWW-Browser Netscape, Mosaic und den MS-Internetexplorer. Ihr könnt also mit Euren Freunden im World Wide Web herumsurfen und die Adressen der besten Seiten austauschen, die Ihr findet. mIRCs URLSuchmechanismus (Anmerkung des Übersetzers: URL ist die Abkürzung für Uniform Ressource Locator. Gemeint ist das Adressierungssystem für Web-Dokumente) speichert automatisch WWWAdressen, die in Channels, privaten Unterhaltungen und Topics auftauchen in einem Listenfenster. Ihr könnt auch eine oder mehrere URLs in Channels oder private Unterhaltungen senden, indem Ihr die 'Send To'-Option aus dem Kontextmenü (rechte Maustaste)des URLCatchers verwendet. Ihr könnt die URLs für spätere Verwendung speichern und sie durch Textmarken so ordnen, wie Ihr wollt. Neu gefundene Einträge werden am Ende der Liste angehängt und ihnen wird ein Fragezeichen vorangestellt. Erst wenn das Fragezeichen gegen ein anderes Zeichen ausgetauscht wird, gehen die
neuen Einträge in die endgültige Liste über. Im eigenen Dialogfenster kann der URL-Catcher so eingestellt werden, daß er die Einträge mit vorangestellten '?' löscht. Im Listenfenster können markierte Einträge per Löschtaste entfernt und neue Einträge mit der Einfügetaste hinzugefügt werden. Es gibt außerdem einen neuen Identifier, der die Adresse der aktuellen im Netscape dargestellten Seite enthält. Dieser lautet $url und kann in Remote- und PopUp-Definitionen verwendet werden.
Um den URL-Catcher zu verwenden, müßt Ihr erst unter File/Options/URL Catcher/ die Checkbox 'Enable URL-Catcher' aktivieren. Dann gebt an, in welchem Verzeichnis sich Euer Web-Browser befindet, wenn mIRC das nicht schon automatisch herausgefunden hat. Ab diesem Moment wird mIRC alle in Channels und privaten Konversationen auftauchenden URL finden und speichern. Dies kann man im Listenfenster beobachten, wenn man auf das URL-Icon klickt, oder den /url-Befehl verwendet. Wenn Ihr Euch die Seiten dann anschauen wollt, dann markiert einfach die URL und wählt 'View' im Kontextmenü (rechte Maustaste) des Listenfensters. Als Alternative dazu kann man mIRC auch so einstellen, daß es auf einen Doppelklick auf eine entsprechende Adresse reagiert. Wenn Ihr einmal angefangen habt, bekommt Ihr es schon raus. Viel Spaß!
Neuerdings bietet mIRC übrigens auch die Möglichkeit, einen Channel per Mausklick auf einen Link im WWW zu betreten. Dazu müßt Ihr allerdings die mIRCLink Helper Application (mlink32.exe) in Eurem Web-Browser konfigurieren. Um mehr zu diesem Thema zu erfahren, schaut auf die WWW-Seiten von mIRC.
6.23 Wozu dient der eingebaute Finger-Server? Zuerst muß erklärt werden, daß es auf dem IRC zwei Arten des "fingering" gibt. Zuerst gibt es das IRC-Fingering, daß nahezu alle Clients unterstützen. Hierbei handelt es sich um einen CTCP-Befehl mit der Syntax '/ctcp Nickname FINGER'. Die Antwort hierauf ist meistens ein Einzeiler, den der betreffende User selbst festgelegt hat. In mIRC könnt Ihr die Antwort unter File/Options/Perform im Eingabefeld CTCP Finger Reply festlegen. Einige andere Clients benutzen das Alias /finger Nickname, das ist aber nicht die offizielle Syntax.
Die andere Form des Fingering stammt von dem Finger-System ab, daß UNIX-User schon kennen. Auf UNIX-Systemen kann man so auf die Adresse eines anderen Users zugreifen, um ein bißchen mehr über ihn zu erfahren.
Normalerweise bekommt man so die Heimadresse, die Telefonnummer und andere nützliche Informationen über diese Person heraus. Bewerkstelligt wird dies durch einen zentralen Finger-Server und zum Abrufen der Informationen benötigt man einen speziellen Client. So ein Client ist in mIRC seit langem unter Tools/Finger enthalten. Wenn Ihr die Adresse einer Person angebt, versucht mIRC einige Informationen über sie zu finden. Der Befehl /finger [nickname|Adresse des Users] tut das selbe (wenn Ihr nur einen Nickname angebt, wird mIRC versuchen, die Adresse herauszufinden). Unterscheidet zwischen dieser Syntax und der des IRC-CTCP-FINGER-Befehls.
In den neueren mIRC-Versionen ist ein FingerServer eingebaut, um anderen Usern Informationen anzubieten, auch wenn Eure Schule oder Firma keinen zentralen Finger-Server besitzt. Ihr könnt den Server unter File/Options/Servers aktivieren. Es muß auch eine Textdatei erstellt werden, die die anzubietenden Informationen enthält. Diese Datei sollte einer bestimmten Syntax folgen, die in der Hilfedatei erklärt ist. Eine letzte Anmerkung: Seid nicht verwundert, daß das UNIX-Fingering auf dem IRC so gut wie
nicht verwendet wird... mIRC könnte das allerdings ändern =)
6.24 Wie kann ich mit Hilfe von mIRC meine Shareware-Sammlung anderen Usern zu Verfügung stellen? Viele Leute auf dem IRC tauschen die besten Programme, die sie finden, untereinander aus. mIRC bietet hierfür einen eingebauten, einzigartigen File-Server. Dieser File-Server ist eine Mischung aus DCC und FTP. Ihr öffnet für einen User ein Server-Fenster (es handelt sich hierbei um ein spezielles DCC-Chat-Fenster), legt ihn auf einen bestimmten Verzeichniszweig Eurer Platte fest und dann kann er sich dort die Dateilisten anschauen, Verzeichnisse wechseln, Texte lesen oder Dateien downloaden.
Die Syntax zum Aufbau einer DCC-ServerVerbindung ist: /fserve <maximale Anz. der simultanen Übertragungen> <Welcome Datei>
Das Maximum an simultanen Übertragungen hat den Sinn, daß nicht jemand Eure Verbindung mit zu vielen downloads überlastet. (Anmerkung des
Übersetzers: Meiner Erfahrung nach ist es für Leute mit 28.8er-Modems nicht ratsam, mehr als vier Übertragungen gleichzeitig zuzulassen. Für die Übertragung größerer Dateien empfiehlt sich eh die Verwendung eines Servers, der mit dem FTP-Protokoll arbeitet, wie z.B. ServU32, da das DCC-Protokoll von der Geschwindigkeit immer unterlegen ist. Das ist kein Fehler von mIRC sondern liegt in der Art und Weise von DCC, daß nicht für die Übertragung großer Dateien gedacht wurde.) Die Person wird Zugang zum Home- und allen Unterverzeichnissen haben. Die Welcome-Datei ist eine Textdatei, die bei Aufbau einer FileServer-Verbindung abgespielt wird um den Benutzer im File-Server zu begrüßen. Sie ist optional.
Beispiele: /fserve Krejt 3 c:\temp\serving\welcome.txt /fserve Mookies 2 c:\network\mirc\welcome.txt /fserve Friend 7 c:\
c:\temp\serve c:\outgoing
Wenn man im File-Server-Fenster 'Help' tippt, werden alle verfügbaren Befehle angezeigt. Die Befehlsstruktur ist wie in DOS oder UNIX angelegt. 'ls' oder 'dir' zeigen die Dateiliste eines Verzeichnisses an. Sogar mit Attributen versehene Befehle wie 'dir -k' (Sortieren nach Größe in Kilobytes) und 'dir /w' (zeigen einer großen Dateiliste) arbeiten. Der Server unterstützt alle gängigen FTP-Befehle wie cd , cd.., dir, ls, get, ..... aber nicht put, hash, etc. Das Sicherheitsrisiko ist durch die starke Einschränkung der verfügbaren Befehle absolut minimal.
Natürlich kann der '/fserve'-Befehl auch in der Remote-Sektion verwendet werden. Gebt eine einfache Zeile Tools/Remotes/commands ein, wie z.B.:
unter
1:server:/fserve $nick 3 c:\temp\serve Setzt die Commands auf 'active' (/remote on) und los geht's.
Andere User müssen dann nur noch /ctcp EuerNick server eingeben und der Server steht ihnen zur Verfügung. Ihr könnt den Server nicht für euch selbst aktivieren! Also müssen ihn andere User testen. Ihr kopiert z.B. alle Dateien in
das Verzeichnis c:\temp:\serve, auf das Ihr bestimmte Leute zugreifen lassen wollt. Die Leute, die Euren Server dann benutzen wollen, haben Zugriff auf c:\temp:\serve und ALLE Unterverzeichnisse, wie z.B. c:\temp\serve\games.
6.25 Wie funktioniert die im mIRC eingebaute Unterstützung von Text to Speech von Monologue mIRC benutzt die Softwarepakete 'Monologue' oder 'Text Assist, um geschriebenen Text in gesprochenen Text umwandeln zu lassen. Ihr könnt alles was auf dem IRC passiert laut aussprechen lassen - ob in Channels, in private Chats oder wo auch immer. (Anmerkung des Übersetzers: Aber wie gesagt nur auf englisch. Seht auch in meinen Kommentar in Punkt 6.21)
Monologue ist ein Programm, daß mit den alten Soundblaster-Karten ausgegeben wurde. Es ist weder Free- noch Shareware und stammt von der Firma First Byte (www.firstbyte.davd.com/html/fbinfo.htm). Die Software ist einige Jahre alt, aber die 16bitVersion läuft ziemlich gut - und viele Leute haben es - deshalb wird es auch von mIRC unterstützt.
Ich habe gehört, daß jetzt eine 32bit-Version veröffentlicht wurde, aber mIRC wurde NICHT damit getestet, und ich fürchte, es verwendet nicht mal mehr die benötigten DDE-Routinen. Zuerst müßt Ihr Euch natürlich versichern, daß Monologue auf Eurem PC korrekt installiert ist und fehlerfrei läuft. Es hat eine eingebaute Testfunktion. Wenn dieser Test erfolgreich verläuft und auch die Unterstützung der Zwischenablage funktioniert, erst dann solltet Ihr es zusammen mit mIRC verwenden. Ihr müßt allerdings erst den DDE-Support von mIRC aktivieren, da hierüber die Kommunikation der beiden Programme funktioniert. Sobald dies erledigt ist, könnt Ihr mIRC starten, und herumprobieren.
Text Assist ist die neuere Version von Text To Speech, die auch mit den Soundblaster-Karten herausgegeben wird. Um es zusammen mit mIRC zu benutzen, braucht Ihr die tassdde.exeHilfsanwendung. Ihr könnt diese von der Creative-Labs-Support-Seite downloaden (http://www.creaf.com/creative/devinfo/tasdde.ex e). Um jetzt Text Assist zu benutzen, startet zuerst die Hilfsanwendung (und laßt es gleichzeitig mit mIRC laufen) und benutzt in mIRC den /speak-Befehl.
mIRC benutzt den /speak [Text]-Befehl um Monologue bzw. Text Assist den Text zu senden. So wird er benutzt: /speak This is a Test /speak Can you hear me? /speak This is fun! Versucht es!
Es macht in der Tat Spaß! Wenn Ihr es erst einmal hinbekommt, mit dem /speak-Befehl Einzeiler in einem mIRC-Fenster zu sprechen, dann ist es auch kein großen Problem mehr, ganze Channels oder private Konversationen sprechen zu lassen - vorausgesetzt, Ihr kennt Euch mit dem Programmieren von mIRCs Remote-Sektion aus. (Lest und lernt mehr darüber in Punkt 7). Nicht alle Funktionen von mIRC sind als Plug-andPlay-Lösung gedacht ;o).
mIRCs Unterstützung für Monologue und Text Assist funktioniert über die eingebaute DDEFunktion. Um mehr über mehr über DDE und seine Funktionalität auf Eurem PC zu erfahren, lest in der Hilfedatei nach.
6.26 Was ist eine Firewall? Wie kann ich sie benutzen? Eine Firewall ist keine Funktion. Sie ist etwas, mit dem man sich herumschlagen - um das man sich herumschleichen muß. Ein Nachteil bei der Anbindung ans Internet ist die Gefahr, daß andere User Zugriff auf die Dateien erhalten, die auf Eurem PC liegen. Dies kann durch ein Sicherheitssystem, wie z.B. eine Firewall verhindert werden. Eine Firewall ist eine UNIXMaschine, die zwischen Euren PC und das Internet geschaltet wird, durch daß also jeglicher Datenverkehr hindurch muß. Eine Firewall ist also keine mIRC-Funktion oder etwas, daß auf Eurem PC aktiv ist. Das Problem ist, daß die meisten Firewalls damit auch den Zugang zum IRC blockieren. Allgemein gesprochen verhindert eine Firewall jegliche Interaktion zwischen dem PC und einem IRC-Server, außer es werden bestimmte Vorkehrungen getroffen, und es wird eine Socks-kompatible Firewall verwendet.
Wenn Euer Provider bzw. dessen Angestellten eine Socks-kompatible Firewall verwenden, dann könnt Ihr mIRC so einstellen, daß es sich mit der Firewall verbindet, um die Außenwelt zu erreichen. In diesem Fall - und nur in diesem Fall könnt Ihr Euer mIRC unter File/Setup/Firewall entsprechend konfigurieren. Die Techniker bei Eurem Provider können Euch mit den entsprechenden Informationen versorgen.
Wenn Ihr zuvor nie von einer Firewall gehört habt, dann ist es sehr unwahrscheinlich, daß Ihr hinter einer solchen sitzt. In diesem Fall laßt die Finger von den Firewall-Einstellungen und aktiviert sie nicht. Wenn mIRC zum chatten funktioniert aber Sachen wie DCC-Dateitransfer nicht funktionieren, dann wird herumspielen an den Firewall-Einstellungen nicht helfen. (Anm. des Übersetzers: Unter den vielen Providern, die ich schon verwendet habe, gab es einige, die ein etwas anderes System von Firewall installiert hatten - bzw. diese anders konfiguriert war. Der Standart-IRC-Port 6667 war freigeschaltet - man konnte sich mit IRC-Servern verbinden, ohne die Firewall-Einstellungen zu aktivieren, jedoch war DCC trotzdem unmöglich. Ein sicheres Zeichen für diese Art von Firewall ist z.B. das Versagen des Web-Browsers, wenn man ihn nicht über den Proxy-Server laufen läßt, oder die Unmöglichkeit des Dateitransfers über FTP-Clients. Erkundigt Euch bei Eurem Provider. Manchmal kann man den eigenen Zugang freischalten lassen, das ist aber meistens mit einem anderen Tarif - d.h. einer höheren Grundgebühr verbunden)
6.27 Wie benutze ich die in mIRC integrierte DDE-Unterstützung? Dieser Abschnitt über mIRCs eingebaute DDEUnterstützung wird von Prophets "Quick DDEReference" eingeleitet. Danke, daß ich Teile Deiner Arbeit in den mIRC FAQ verwenden durfte!
Was ist DDE? - DDE steht für Dynamic Data Exchange. DDE wird von unter Windows laufenden Programmen verwendet, um miteinander zu kommunizieren. Üblicherweise funktioniert in diesem Falle ein Programm als DDE-Server und andere als DDE-Clients. Der Server empfängt Anfragen und Befehle des Clients, und der Client empfängt seinerseits Informationen und Befehle. Gute Beispiele für die Verwendung von DDE sind mIRCs Unterstützung von Web-Browsern über den eingebauten URLCatcher und die Zusammenarbeit mit dem TextTo-Speech-Programm 'Monologue' über den /speak-Befehl. Lest mehr dazu in den Abschnitten 6.22 und 6.25.
mIRCs DDE-Server einstellen - Um mIRC von einem anderen Programm oder einer zweiten Version von mIRC kontrollieren zu können, müßt Ihr erst den DDE-Server aktivieren. Ihr findet die entsprechenden Einstellungen unter
File/Options/Servers. Ihr solltet immer einen einzigartigen Servicenamen festlegen, aber fürs erste reicht 'mirc'. Dieser Servicename wird von mIRC benötigt, um an es gerichtete DDE-Befehle zu identifizieren. Solange Ihr nur eine Kopie von mIRC laufen laßt, reicht dieser. Solltet Ihr aber mit einer zweiten Kopie arbeiten wollen, oder mit anderen externen DDE-Clients/Servern, dann solltet Ihr einen spezifischeren Namen wählen. Der Standardwert ist 'mirc' aber er läßt sich problemlos in etwas besseres ändern.
Wie wird DDE verwendet? - Um über DDE einen Befehl zu geben, wird ein POKE - und eine Information zu beziehen ein REQUEST verwendet. Hierzu sind nur zwei einfache Befehle zu verstehen.
Den Befehl /dde <Servicename>- [Daten]
[-r]
Der Befehl /dde sendet standardmäßig einen POKE, außer es wird das Attribut -r hinzugefügt, in diesem Fall wird ein REQUEST abgeschickt. Wenn ein POKE gesendet wird, dann müssen alle vier Parameter einschließlich des [Daten]-Feldes Werte enthalten im Falle eines Requests nur die ersten drei. Darum muß im 'item'-Feld unter Umständen ein "" verwendet werden. "" ist ein Füllzeichen und erfüllt selber keine bestimmte
Funktion. Dieses Füllzeichen ist wichtig, da /dde oder $dde häufig gemischt mit anderen Aliases oder Text in einem Alias verwendet wird und mIRC die exakte Anzahl an Parametern benötigt, um den Befehl korrekt zu erkennen und bearbeiten. Im Moment gibt es nur ein 'topic' für POKEs und das ist 'COMMAND'.
Um einen DDE-REQUEST zu senden ist es oft besser den $dde-Identifier Anstelle des '/dde -r'Befehls zu benutzen. $dde<Servicename>- sendet einen REQUEST und empfängt anschließend alle Informationen, die von dem angesprochenen Service bereitgestellt werden. Die gesamten drei Argumente (Servicename, topic, item) müssen Werte enthalten (wie schon im oberen Abschnitt erklärt wurde). Jegliche empfangenen Daten werden an die Stelle des $dde-Identifieres im Alias oder Befehl eingefügt. Bei den Requests existieren mehrere Topics: CHANNELS, CONNECTED, EXENAME, INIFILE, USERS, SERVER, NICKNAME, VERSION, PORT.
Die Topics:
COMMAND (Nur für POKEs):
Dieses Topic erlaubt mIRC ähnlich dem CTCP DO-Befehl einen anderen Client zu kontrollieren. Es wird in Verbindung mit dem /dde-Befehl verwendet. Die Syntax sieht folgendermaßen aus (In den Beispielen wird vom Servicenamen 'mirc' ausgegangen): /dde mirc command "" /join #test123 /dde mirc command ""/msg #test123 Hallo an alle! /dde mirc command "" /notice $me Test 1 2 3 Der /dde-Befehl kann in der Remote/Events- bzw. Remote/Commands-Sektion, in der Alias-Sektion und natürlich direkt aus der Editbox verwendet werden.
CHANNELS (Nur für REQUESTs): Die Antwort auf diesen REQUEST enthält eine Textzeile, die alle Channels enthält, auf dem sich das angesprochene mIRC gerade befindet. CHANNELS kann aus der Editbox, in den Remotes und den Aliases benutzt werden. Um die empfangenen Daten zu bearbeiten, verwendet mIRC den $dde-Identifier. Beachtet, daß mIRC den aktiven Channel (Das Channelfenster, daß gerade verwendet wird) mit einem Stern markiert. Beispiele:
/say $me ist gerade auf $dde mirc channels "" /echo 6 $active Ich bin gerade auf $dde mirc channels ""
CONNECTED (Nur für REQUESTs): Dieser REQUEST erwidert "connected", "connecting" oder "not connected". Beispiele: /echo 6 mIRCs Verbindungsstatus: $dde mirc connected "" /echo 6 mIRC ist $dde mirc connected "" mit $dde mirc connected server ""
Die anderen Topics für REQUESTs sind EXENAME, INIFILE, USERS, SERVER, NICKNAME, VERSION und PORT. Hier sind ein paar Beispiele:
/msg $active Der mIRC .exe-Name, Pfad und Dateiname lautet $dde mirc exename "" /echo 6 mIRC verwendet $dde mirc inifile "" gerade als .ini-Datei.
/say Die User im Channel #mIRC sind $dde mirc users #mIRC /echo Ich benutze $dde mirc server "" /echo 3 Mein Nickname ist gerade $dde mirc nickname "" /echo 4 Ich benutze mIRC-Version $dde mirc version "" /echo 5 mIRC ist mit Port Nummer $dde mirc port "" verbunden.
6.28 Ich habe zu einem neuen Provider gewechselt, aber mIRC benutzt weiterhin den alten! Es gibt einen bekannten Windows95-Bug, der dazu führt, daß mIRC (sowie andere Clients auch) nach dem Wechsel eines Providers immer noch den Local Host-Namen sowie IP-Adresse des alten Providers erfaßt auch wenn alle SetupEinträge gelöscht zu sein scheinen. mIRC kann dann keine Dateien über DCC senden oder empfangen, bzw. DCC-Chat-Verbindungen aufbauen. In diesem Fall müßt Ihr mal mit Regedit in die Win95-Registries schauen: MyComputer\HKEY_LOCAL_MACHINE\Syste m\CurrentControlSet\Services\VxD\MSTCP. Hier werdet Ihr dann wahrscheinlich die DNSEinträge Eures alten Providers finden - und
vielleicht sogar ein Verweis auf eine ältere Winsock. Diese Einträge bleiben bestehen, auch wenn Ihr das gesamte DFÜ-Netzwerk neu installiert und die TCP/IP-Einstellungen neu eintragt. Die beste Methode, um dieses Problem zu lösen ist unter Start/Einstellungen/Systemsteuerung/Netzwerk auf TCP/IP doppelzuklicken, die DNSEinstellungen aufzurufen und die Host-NameFelder zu aktualisieren. Wenn auch dieses Verfahren keinen Erfolg hat, dann ändert die Einträge in den Windows95-Registries per Hand, aber seid dabei vorsichtig!
7. Ein Kurs über "Programmieren" in mIRC mIRC bietet unter Tools drei Oberflächen, die auf bestimmte Weise "programmiert" werden können. Die Aliases, die PopUps und die Remotes. In den Remotes können User, Variablen und Scripts definiert werden. Scripts steuern mIRCs Reaktionen auf IRC-spezifische Ereignisse oder CTCP-Befehle.
Wichtig - Am besten lernt man die Funktionalität dieser Programmieroberflächen, wenn man die Kapitel in Reihenfolge durcharbeitet. Wirklich! Versucht nicht, einen Sprung zu den Remotes zu machen, wenn Ihr die PopUps und Aliases nicht wirklich verstanden habt. Die Lektionen bauen aufeinander auf.
(Für die, die schon mit ircii gearbeitet haben: Die Syntax der Aliases in mIRC ist der von ircii ähnlich allerdings nicht völlig gleich. Auch die Command- und Remote-Sektion erlauben ungefähr die selben Features, aber auch hier ist die Syntax ein bißchen anders.)
7.1 Die Aliases-Sektion Wählt den Menüpunkt Tools/Aliases. Der mIRC Editor wird dann mit der geöffneten Alias-Sektion starten. Bitte ignoriert erst mal die PopUps, User und Variablen.
Der mIRC Editor ist eine kompakte, einheitliche Schnittstelle zu fast allen programmierbaren Oberflächen. Mit dem eingebauten FileMenüpunkt können Alias-Dateien geladen und
gespeichert werden. Das Edit-Menü bietet copy/paste- (Kopieren und Einfüge-) Funktionen sowie Suchroutinen. 'View' bietet einen Überblick über alle vorhandenen Alias-Dateien und 'Alias' zeigt ein Inhaltsverzeichnis der geöffneten AliasDatei.
In der Alias-Sektion können unter anderem Abkürzungen für häufig verwendete Befehle wie JOIN, PART, QUIT, Ops geben und Ops entziehen definiert werden. Standartsätze müssen nicht mehr getippt werden, sondern können ebenfalls als Alias abgelegt werden. Im allgemeinen können sämtliche Befehle, die aus der Editbox heraus funktionieren auch in den Aliases verwendet werden. Aliase können auch dazu dienen, mehrere Befehle hintereinander auszuführen. Ihr könnt mit Hilfe der Aliases sogar Befehle auf die Funktionstasten F1-F12 legen...(endlich bekommen diese nutzlosen Tasten einen Sinn). Aliase können ebenfalls von innerhalb der PopUps, der Remotes und sogar in anderen Aliases aufgerufen werden. In der neuen mIRC-Version können mehrere Alias-Dateien verwendet werden. Eine ist im Lieferumfang (alias.ini) enthalten - man kann sie beliebig erweitern oder eine eigene einsetzen. Es ist alles sehr einfach!
7.1.1 Aliases erstellen
Okay, wir beginnen einfach mit einem simplen Beispiel. Um einen Channel zu betreten, muß man normalerweise /join #name
tippen... wobei #name der Channelname ist. Da dieser Befehl sehr häufig verwendet wird, wäre es schön, wenn man so wenig tippen muß wie möglich, oder? Also machen wir das ganze etwas kürzer und machen ein Alias.
Anstatt '/join #{name}' zu tippen, richten wir es so ein, daß /j #{name} den selben Effekt erzielt. In diesem Fall würde der entsprechende Eintrag so aussehen: /j /join $1
(Was dies exakt für mIRC bedeutet, braucht Ihr an dieser Stelle noch nicht zu verstehen. Zu der
genauen Definition der Syntax kommen wir in Kürze.)
Versucht es einfach, in dem Ihr diese Zeile in die Liste in die Liste unter Tools/Aliases/ setzt (wenn sie nicht sogar schon vorhanden ist). Dann versucht es aus der Editbox heraus (die Eingabezeile, in der Ihr normalerweise tippt) mit einem einfachen Befehl wie /j #test
Ihr werdet feststellen, daß dies das selbe bewirkt wie '/join #test' - es bringt Euch in den Channel #test. Diese Konstruktion einer Abkürzung ist nun ein Alias.
Die Syntax von Aliasen.
Aliases verwenden das Format:"/{Aliasname} /{Befehl}"
folgende
Es wird also zuerst der Name der Abkürzung festgelegt (wie z.B. '/j' im obenstehenden Beispiel), dann ein Freizeichen und dann der eigentliche Befehl, auf den die Abkürzung verweisen soll (im oberen Beispiel '/join $1').
Aliases verwenden eine Reihe von speziellen Strings (Strings sind Standartvariablen, die veränderbare Werte enthalten können - hier aber nicht mit den mIRC-internen Variablen zu verwechseln) und Identifiers (ebenfalls Variablen, die aber mIRC-intern bestimmte Werte enthalten - wie z.B. IP-Adressen, die aktuelle Seite des Webbrowsers, usw. Später mehr dazu). Es gibt mehrere Strings wie z.B. $1, $1-3, $$1, $?, $!, #$1, #$$1 und #$?. Strings können jeglichen denkbaren Wert enthalten, der angegeben wird, wenn das Alias aufgerufen wird. Sie sind sehr flexibel einzusetzen. Identifiers funktionieren ähnlich, enthalten aber immer einen bestimmten Wert. Die wichtigsten Identifiers sind #, $me, $url, $fulldate, $time und $day. Keine Sorge, wir gehen später auf dieses Thema noch sehr viel genauer ein.
Laßt uns jetzt erst mal auf $1, den oben verwendeten String konzentrieren. /j /join $1
$1 bezeichnet das erste Wort, daß nach dem Alias - wie immer es auch aussieht - eingegeben wurde. Wenn ihr also /j #test eingebt, dann erkennt mIRC, daß es eine Abkürzung für "/join #test" ist.
Mehrere Befehle in einem Alias
Nehmen wir nun an, man möchte mehrere Channels gleichzeitig betreten. Auch hierfür kann man ein Alias erstellen. Trennt nur die verschiedenen Befehle mit dem | Zeichen (auf den meisten deutschen Tastaturen ist das die AltGr+Größer als/Kleiner als-Taste neben dem Y) Das | Zeichen wird Pipe genannt.
Gehen wir von einem Alias aus, bei dem man nur "/j3" tippen muß, danach die Namen von drei Channels und man würde sie zugleich betreten. Das entsprechende Alias würde so aussehen: /j3 /join $1 | /join $2 | /join $3
Nachdem man diese Zeile in die Liste unter Tools/Aliases eingegeben hat, braucht man nur noch /j3 #test1 #test2 #test3 einzugeben
und mIRC betritt einen Channel nach dem anderen. $2 und $3 sind das zweite und dritte Worte nach dem Aliasnamen.
Nun erwartet mIRC allerdings logischerweise drei Worte - die Channelnamen. Was würde also passieren, wenn man nur "/j3 #test" eingibt? mIRC würde über die fehlenden Parameter stolpern, da es drei Eingaben erwartet. Für dieses Problem gibt es eine Lösung: den $$1 String (den behandeln wir etwas später).
Beispiel: /say
Angenommen, es gibt einen Satz oder einen Kommentar, den Ihr in Channels immer wieder gebraucht, wie z.B. Eure Homepage-Adresse, eine Begrüßung oder was auch immer. Schaut Euch mal diese Beispiele für Aliase an, die den /say-Befehl verwenden. /say schreibt einfach nur Text in das aktuelle Channel- oder Privatfenster. /hallo /say Hallo Ihr! /www /say Die mIRC-Page befindet sich auf http://metro.turnpike.net/mookies/mirc.html /Zeilen /say Erste Zeile | /say Zweite Zeile | /say Dritte und letzte Zeile
Das letzte Beispiel zeigt, wie man mehrere Textzeilen in einem Alias zusammenfaßt. Die Befehle müssen lediglich mit | voneinander abgegrenzt werden. Man sieht hier, daß nicht zwangsläufig in jedem Alias ein String vorkommen muß.
Beispiel: /me
Tätigkeiten beschrieben in einem Alias: /lustig /me findet das lustig /umarm /me umarmt $1 feste!!
Das zweite Beispiel verwendet einen String - $1. Wenn man nun "/umarm alle" eingibt, ist das Ergebnis das selbe wie bei "/me umarmt alle feste!!".
Von mehreren Befehlen verwendete Strings:
Verschiedene Befehle können innerhalb eines Alias ein und den selben String verwenden. /jtest /join $1 | /topic $1 Nur zum testen
In diesem Alias wird das Parameter $1 zweimal verwendet. Die Eingabe von "/jtest #test" würde darin resultieren, daß mIRC erst #test betritt und dann das Topic in "Nur zum testen" ändert. Ein ähnlicher Fall wäre: /mag /say Ich mag $1 ! | Ich mag $1 wirklich gerne!!
Bei "/mag alle" wäre das Ergebnis "/say Ich mag alle !" und dann "/say Ich mag alle wirklich gerne!!"
Channel-Modus-Änderungen etc.):
(Ops
geben,
Um oft gebrauchte Channel-Modus-Änderungen in die Aliases zu setzen, muß man zuerst die übliche Struktur der Modus-Befehle kennen. Jemanden auf dem IRC Ops zu geben funktioniert normalerweise so:
/mode {Channelname} +ooo {Nick1} {Nick2} {Nick3}
Bis zu 3 Nicks können aufgeführt werden. Das entsprechende Alias sieht folgendermaßen aus: /op /mode # +ooo $1 $2 $3
Um nun Hinz, Kunz und Otto Ops zu geben gibt man einfach "/op Hinz Kunz Otto" ein. # ist ein Identifier und und bezeichnet den #Channelnamen des Channels, auf dem das Alias ausgelöst wurde. Auf die selbe Art und Weise kann man andere Aliase zur Änderungen der Channel-Modi entwickeln: /deop /mode # -ooo $1 $2 $3 /ban /mode # +b $1 /kick /kick # $1 /dbk /mode # -ooo $1 | /kick # $1 | /mode # +b $1
WICHTIG: Freizeichen!
Das
korrekte
Setzen
von
Dies ist sehr wichtig! Man muß zwischen Strings und dem restlichen Text Freizeichen lassen! Zum Beispiel: /mag /say Ich mag $1!!!
...wird nicht funktionieren! Es muß zwischen "$1" und "!!!" ein Freizeichen gelassen werden. (Das kann den Text manchmal komisch aussehen lassen, also achtet darauf, wie Ihr die Sätze aufbaut) /mag /say ich mag $1 !!!
...wird funktionieren. Dies gilt für alle Strings. Um eine Funktion zu vereinfachen wurden ein paar Strings erstellt, die den erfaßten Parametern automatisch ein # voranstellen. Dies gilt für #$1, #$$1, und #$?. Details hierzu werden später behandelt.
In einigen Fällen funktioniert: /gut /say Mir gefällt $1's Topic Aber wie gesagt - nur in einigen. Ihr müßt das für jeden Fall testen.
Wo kann man Aliase benutzen?
Aliase können von der Editbox (die Zeile in die man normalerweise Text und Befehle eingibt) aus, aber auch aus den PopUps und Remotes aus aufgerufen werden. Darauf wird in den folgenden Abschnitten noch eingegangen. Die von der durch die Funktionstasten aufgerufenen Aliase können auch auf in der Nicknamenliste ausgewählte Nicks bzw. den Namen des Privatfensters (QueryFensters) bezogen werden... abhängig von der Aliasdefinition. Es ist sogar möglich, ein Alias durch ein anderes aufzurufen - mit einer Ausname: Aliase dürfen sich nicht selbst aufrufen! Ein Alias, daß ein anderes aufruft braucht allerdings eine Menge Speicher. Es kann also Probleme geben, wenn wenig Arbeitsspeicher zur Verfügung steht. Wenn eine solche Operation in einer Endlosschleife endet, kann man jedoch immer noch die Tastenkombination Strg+Pause verwenden, um den Prozeß abzubrechen.
Spezielle Alias-Definitionen: Funktionstasten.
Die
Spezielle Alias-Bezeichnungen machen es möglich, Aliase über die Funktionstasten aufzurufen. Nennt die sie einfach wie folgt: /f1 /say Hallihallo!! /f2 /topic # Dies ist ein neues Topic
Man kann nun "/f1" eingeben, um auf einem Channel "Hallihallo" zu sagen, aber es reicht auch, die F1-Taste zu drücken. Andere Beispiele: /f5 /me sendet Dir gerne das neue mIRC /f6 /join #mIRC /f9 /dcc send $1 c:\serve\mircfq31.zip /f10 /dcc send $1 c:\serve\mirc50s.exe /f11 /dcc send $1
Die F9-Taste wird die mIRC-Datei der in der Nicknamen-List ausgewählten Person senden. Nicht vergessen, vorher einen Nick auszuwählen, oder es werden merkwürdige aber logische Dinge passieren. Die F9-Taste kann auch in einem Privat- oder DCC Chat-Fenster verwendet werden. Bei Betätigung der F11-Taste wird zuerst
nach einem Nick gefragt, dem die Datei gesendet werden soll.
Es gibt viele Möglichkeiten, die eigenen F-Tasten so zu gestalten wie man möchte - viel Spaß dabei! Ebenfalls ist es möglich, die Umschalttaste mit einzubeziehen:
Strg-
und
/f1 /say Dies ist die F1-Taste /sf1 /say Dies ist Umschalttaste-F1 /cf1 /say Dies ist Strg-F1
Die Verwendung von Klammern:
Man kann in Aliases auch [ und ] Klammern verwenden um die Reihenfolge der Bearbeitung von Identifiers festzulegen - wie auch in PopUps und Remotes. Identifiers, die in Klammern stehen werden zuerst bearbeitet, und zwar von links nach rechts. Man kann Klammern auch einbetten um bestimmte Bearbeitungsreihenfolgen festzulegen. Die Klammern erscheinen nicht im resultierenden Text. Beispiele: /note /notice $1 " $+ [ $read [ -s + [ $2 ] ] c:\text\note.txt ] $+ "
/sayvar /say % [ $+ [ $1 ] ]
Definitionen ohne Klammern werden wie üblich behandelt.
Aliase in Scripts
Man kann zu den existierenden Alias-Dateien ohne Probleme erweiternde hinzufügen indem man im Alias-Editor (Tools/Aliases) File/Load wählt. Man kann nun auf einfache Art und Weise eine Datei auswählen. Mit View kann man sich alle geladenen Dateien anschauen. So kann man auf einfache Weise Aliase von Freunden ausprobieren oder die eigenen zur Verfügung stellen. Aliases können sogar mit Remote Commands und Events in eine Datei zusammengefaßt werden und als komplette Script-Datei in Umlauf gebracht werden. Wir gehen später darauf ein.
7.1.2 String Definitionen
Mittlerweile solltet Ihr einen Eindruck gewonnen haben, wie Aliase funktionieren. Hier kommt nun eine Liste aller Strings und Identifiers, die Ihr in den Aliases - und später auch in den PopUps und Remotes - verwenden könnt. Die nächsten zwei Abschnitte erläutern sie alle. Von dieser Stelle aus probiert die Beispiele bitte aus, bis Ihr sie verstanden habt. $N
Der einfachste String. Er enthält ein Wort. $1 z.B. enthält das erste Wort nach dem Aliasnamen. $2 enthält also das zweite, $3 das dritte u.s.w. /op /mode $1 +o $2 $3 Wenn man hier "/op #mirc Hinz Kunz" eingibt, dann wird Hinz und Kunz auf #mIRC Ops gegeben. /slap /me haut $1 eins mit $2- über die Rübe Gebt "/slap Doofmann Sardellen" ein, um Doofmann ein bißchen nach Fisch stinken zu lassen ;o)
$N-M
Dieser String enthält eine Wortauswahl. Versucht mal dies: /drei /say Die ersten drei Worte waren $1-3 "/drei eins zwei drei vier" ergibt "Die ersten drei Worte waren eins zwei drei". "vier" wird ignoriert. $N-M ersetzt die alte Form *N-M.
ersetzt die alte Form *N-M. $N-
Dieser String kann eine Menge Worte enthalten. $1- enthält das erst Wort und alle nachfolgenden. Beispiel: /allen /say Ich möchte Euch allen etwas sagen - $1- "/allen mIRC ist echt ein gutes Programm" ergibt dann "Ich möchte Euch allen etwas sagen mIRC ist echt ein gutes Programm". $2- enthält das zweite Wort und alles nachfolgende, $3- das dritte und... etc. Versucht auch mal: /note /notice $1 $2und gebt /note {Nickname} {Nachrichtentext} ein. Oder:
$?="Text" Dies ist eine spezielle Version des $?Strings. mIRC öffnet wieder die Parameterabfragebox, fragt aber diesmal nach einer speziellen Eingabe, wie z.B. hier: /j /join $?="Welchen Channel betreten?" /umarm /me umarmt $?="Wen umarmen?" mal kräftig $!
Dieser String wird nur in Zusammenhang mit $? verwendet. Wenn Ihr vorher in einem Alias den $?-String gesetzt habt, dann könnt Ihr $! dazu benutzen, um das bei $? eingegebene Parameter später noch mal zu verwenden: /j /join $?="Welchen Channel betreten?" | /say $! ist wirklich ein schöner Channel.
betreten?" | /say $! ist wirklich ein schöner Channel.
Versucht auch: /freund /say $? ist mein Freund | /say ich mag $! wirklich sehr! #$$1, Dies sind spezielle Versionen der Strings #$? $1, $$1 und $?. Sie werden nur in Verbindung mit Channelnamen verwendet. Sie stellen jedem eingegebenen Parameter das #-Zeichen voran: /j /join #$1 Hiermit kann man /j test anstatt /j #test eingeben. Versucht auch: /j /join #$?="Channelnamen eingeben (Ohne #)"
7.1.3 Identifiers
Eine spezielle Form des Strings ist der sogenannte Identifier. Der Inhalt eines gewöhnlichen Strings ergibt sich immer daraus, auf welche Weise er in den Aliases, PopUps oder Remotes aufgerufen
wird. Ein Identifier hingegen enthält immer fest definierte Werte.
# Dieser enorm wichtige Identifier enthält immer den Namen des Channels, in dem das Alias ausgeführt wird. Das ist daher wesentlich, da viele Befehle, wie z.B. der /mode-Befehl immer den Channelnamen erfordern. Beispiel: /op /mode # +o $1
Bei der Eingabe von "/op Cindy" wird die Person mit dem Nicknamen Cindy in dem Channel geopt, in dem Ihr das Alias aufruft. Dieser Identifier enthält immer Euren aktuellen Nicknamen. Man kann ihn in den verschiedensten Situationen verwenden. Beispiele: /schön /me findet, $me ist ein schöner Nickname /mirc /me bietet allen die neue mIRC Version 5.02 an. Tippt "/CTCP $me xdcc send #1" um sie zu bekommen. /away /me ist jetzt mal eben weg ( $1- ) | /away $1- | /say Nachrichten an $me werden gespeichert.
Probiert auch mal folgendes aus: /nick /Ich finde $1 besser als $me | /nick $1
und dann ändert ihr Euren Nickname mit /nick
$readini [-n|#] Das hier ist ein praktischer Identifier. Es nimmt nach dem Zufallsprinzip eine Zeile aus einer spezifizierten Datei heraus, und setzt sie in das Alias. Diese Zeile kann normalen Text enthalten, aber auch Befehle! $!read funktioniert im Prinzip genauso, wie $read, außer daß es beim ersten Durchlauf der Alias-Routine nicht bearbeitet wird. Dies ermöglicht seine Verwendung in Zusammenhang mit /timer-Befehlen, in denen $read jedes mal neu bearbeitet werden soll. Das -n Parameter verhindert die Bewertung einer Zeile komplett. Sie wird dann als normaler Text behandelt. Beispiele: /spaß /say $read c:\mirc:\spass.txt /kick /kick # $1 $read c:\mirc\spasskicks.txt /dumm /say $read -|5 dumm.txt
$readini [-n]<Eintrag> Genau wie $read liest $readini Zeilen aus einer .ini-Datei. Es wurde im Zusammenhang mit dem /writeini-Befehl erstellt. Beide verwenden die Standartroutinen von Windows, um aus einer .iniDatei zu lesen, bzw. in ihr zu schreiben. Wir denken, $readini und writeini vereinfachen die Möglichkeit, automatische Abläufe in mIRC zu programmieren. Das -n Parameter verhindert, daß eine Zeile bearbeitet wird.
Dieser Identifier enthält immer die www-Seite, die Euer Webbrowser (z.B. Netscape) gerade zeigt. Beispiel: /page /say Hey Leute, ich habe eine tolle Webseite gefunden! Seht euch mal $url an! $ip
Eure IP-Adresse
$server
Der Server, den Ihr gerade verwendet
$active
Der Name des aktiven Fensters in mIRC
$time
Die Uhrzeit Eurem PC
$away
auf
Sagt euch, ob Ihr gerade als abwesend registriert seid, oder nicht
registriert seid, oder nicht $ticks
Die Anzahl der Ticks seit dem Start des Betriebssystems.
$idle
Erwidert die Zeitspanne, die Ihr schon untätig (idle) seid.
$online
Erwidert die Anzahl der Sekunden auf Eurem Online-Timer
$version
Erwiedert mIRCs Versionsnummer
$ctime
Die Anzahl der Sekunden seit 00:00:00 GMT, 1.1.1970
$asctime(N)
Erwidert den ctimeWert im TextDatumsformat
$day
Der Tag
$date
gegenwärtige
Das gegenwärtige Datum in europäischer Reihenfolge (JA!! mIRC ist kein amerikanisches Programm!! :o) Man kann alternativ auch $adate (amerikanisch), $fulldate oder $day verwenden.
kann alternativ auch $adate (amerikanisch), $fulldate oder $day verwenden. $duration
(Sekunden)Übersetzt Zahlen wie 123456 in 1Day 10hrs 17mins 36 secs.
Erwidert die $logdir, $getdir, $wavedir, $script, entsprechenden $mircdir, $mididir und $scriptdir Verzeichnisnamen
$mircini
Erwidert den Verzeichnisund Dateinamen der iniDatei, die verwendet wird
$nopath(Dateiname)
Erwidert nur den Dateinamen ohne Pfad
$nofile(Dateiname)
Erwidert nur den Pfadnamen ohne Datei
$exists(Dateiname)
Überprüft, ob die entsprechende Datei existiert (Erwidert $true oder $false)
Durchsucht das angegebene $findfile(Verzeichn.,Dateiname,N) Verzeichnis nach der Nten spezifizierten Datei
Datei $ddename
Der DDEServicename, den mIRC verwendet
$abs(N)
Erwidert den absoluten Wert der Zahl N
$chr(N)
Erwidert des Zeichen mit dem ASCII-Wert N
$asc(C)
Erwidert den ASCIIWert für das Zeichen C
$len(text)
Erwidert die Länge von "text"
$upper(text)
Erwidert "text" in Großbuchstaben
$lower(text)
Erwidert "text" in Kleinbuchstaben
$left(text,N)
Erwidert das Nte Zeichen von links aus "text"
$right(text,N)
Erwidert das Nte Zeichen von rechts aus "text"
$mid(text,S,N)
Erwidert N Zeichen aus "text" beginnend ab S
$pos(String, Unterstring)
Erwidert Position Unterstring String:
die von in
Position Unterstring String:
von in
/pos /say $pos(Cenobit,bit) "/pos" würde in diesem Falle 5 ergeben da "bit" ab fünfter Position beginnt $replace(String, Austauschtext)
Unterstring,
Ersetzt einen Unterstring in einem String:
/ersetz /say $replace(Cenobit,bit,byte) "/ersetz" ergibt hier Cenobyte, da bit durch byte ersetzt wird. (Nur zur Erklärung der Begriffe String und Unterstring in diesem Abschnitt)
$remove(String, Unterstring)
Entfernt Unterstring aus String
$strip(text)
Entfernt alle Kontrollzeichen für Fett, Unterstrichen und Farbe aus Text
$count(String1,String2)
Zählt, wie oft String2 in String1 vorkommt
$str(Text,N)
Erwidert Text N mal wiederholt
$rand(X,Y)
Erwidert eine Zufallszahl zwischen X und Y
$lines(Datei)
Erwidert die Anzahl der Zeilen in Datei
der Zeilen in Datei $usermode
Erwidert Euren gegenwärtigen Usermodus
$nick(#,N)
Erwidert den Nten Nicknamen auf Channel #
$snick(#,N)
Erwidert den Nten ausgewählten Nicknamen auf Channel #
$opnick(#,N)
Erwidert den Nten Op Nickname auf Channel #
$nopnick(#,N)
Erwidert den Nten nicht geopten Nickname auf Channel #
$vnick(#,N)
Erwidert den Nten Nickname mit Sprecherlaubnis (voiced) auf Channel #
$nvnick(#,N)
Erwidert den Nten nicht geopten Nickname ohne Sprecherlaubnis (non voiced) auf Channel #
$comchan(Nick,N)
Zeigt die Channels, auf denen Ihr und "Nick" gleichzeitig seid.
auf denen Ihr und "Nick" gleichzeitig seid. $query(N|Nick)
Erwidert den Namen des Nten offenen Privatchat-Fensters
$chat(N)
Erwidert den Namen des Nten offenen DCC-Chat-Fensters
$notify(N)
Erwidert den Namen des Nten Nick aus der Notify-Liste, der gerade online ist
$token(N,C,text)
Erwidert das Nte Zeichen in text getrennt durch C (C ist die AsciiNummer eines Zeichens)
$addtok(text,Zeichen,C)
Fügt ein Zeichen an das Ende des Textes an, sofern dieses im Text noch nicht vorhanden ist.
$findtok(text,Zeichen,C)
Erwidert die Nte Position eines Zeichens im Text
$gettok(textN,C)
Erwidert die Nte Zeichen im Text
$instok(text,Zeichen,N,C)
Fügt ein Zeichen in Nte Position im Text ein, wenn diesen im Text nicht schon vorhanden ist.
Nte Position im Text ein, wenn diesen im Text nicht schon vorhanden ist. $remtok(text,Zeichen,C)
Entfernt ein übereinstimmendes Zeichen im Text
$reptok(text,Zeichen,Neu,C)
Ersetzt ein übereinstimmendes Zeichen im Text
die obenstehenden Identifiers kann man N gleich Null setzen, um die gesamte Anzahl an Nicknamen/Channels/Zeichen zu bekommen.
$snotify
Erwidert den Nicknamen, der gegenwärtig in der Notify-Liste ausgewählt ist
$address
Erwidert die volle Adresse des Users, der einen RemoteEintrag auslöst
$address(Nickname,Typ)
Durchsucht die Interne Adressenliste und erwidert die volle Adresse eines Usern, sofern dieser gefunden wird.
$maddress
Erwidert die passende Adresse aus der Userliste, die das Event ausgelöst hat.
aus der Userliste, die das Event ausgelöst hat. $maddress(address)
Erwidert passende aus der Userliste.
eine Adresse Remote
$level(Adresse)
Sucht die passende Adresse in der Remote Users Liste und erwidert deren Level
$ulevel
Erwidert das passende RemoteUserlevel des ausgelösten Events
$clevel
Erwidert das passende RemoteCommandlevel für ein bestimmtes Event
$dlevel
Erwidert das Standart-Userlevel (Default-Userlevel)
$mask(Adresse,Typ)
Erwidert die Adresse anhand eines bestimmten "maskTyps"
Identifiers und Variablen können auch innerhalb von Klammern plaziert werden. Beispiel:
/echo $right(3,$left($len(goats), ToMooOrNotToMoo)) ergibt Moo.
Identifiers mit anhängenden Parametern
Einige Identifiers können mit bestimmten anhängenden Parametern verwendet werden. Dies vereinfacht die Syntax und hilft bei der Erstellung von Scripts. Die Syntax lautet: $identifier(N|#|nick).parameter $server(N|Nick)
Erlaubt den Zugriff auf die Server Liste unter File/Setup/IRC-Servers. $server(N) für die Adresse, .desc für die Beschreibung, .port für den Port, .group für die Gruppe (z.B. DALNet, EFNet, oder Undernet)
$ial(mask,N,N|Nick) Erlaubt den Zugriff auf die interne Adressenliste. $ial(mask,N) für die volle Adresse, .nick für den Nicknamen, .user für den User, .host für den Host,
$ial(mask,N) für die volle Adresse, .nick für den Nicknamen, .user für den User, .host für den Host, .addr für die Adresse. $url
Erlaubt den Zugriff auf die URL-Liste. $url(N) für die Adresse, .desc für die Beschreibung und .group für das Protokoll (z.B. http://).
$chan(N,#)
Erwidert einige ChannelModi. $chan(N,#) erwidert den Namen, ferner gibt es .topic, .mode, .key, .limit
$chat(N|Nick .status $fserv(N|Nick).ip, .status, .cd
.ip, (enthält active, oder inactive)
waiting
(aktuelles Verzeichnis)
$get(N|Nick).ip, .status, .file (Dateiname), .size (Größe), .rcvd (empfangen), .cps (Übertragungsrate), .pc $send(N|Nick).ip, .status, .file (Dateiname), .size (Größe), .sent (gesendet), .Ira, .cps (Übertragungsrate), .pc $timer(N)
Erwidert die Timer die aktiv sind. $timer(N) für die id, .com, .time, .reps, .delay, .type
$group(N).status
Erwidern, ob die Gruppe aktiv oder inaktiv ist.
aktiv oder inaktiv ist. $group(Name)
Benutzerdefinierte Identifiers. wurde ursprünglich von geschrieben)
(Abschnitt LiOnheart
Wie gerade gesehen gibt es in mIRC eine Vielzahl von eingebauten Identifiers, die man in den Remotes- und Alias-Sektionen verwenden kann. Man kann allerdings auch eigene Identifiers erstellen, und sie so konfigurieren, daß sie im Prinzip alles tun, was man will. Diese benutzerdefinierten Identifiers werden in den Aliases erstellt, und sehen fast gleich aus, mit dem einzigen Unterschied, daß das Ende aus einem /return X besteht. (Anm. d. Übersetzers: In diesem Text übersetze ich "returns" mit erwidert.) Der Identifier erwidert also, was man möchte. Zum Beispiel die Summe zweier Zahlen:
/summe {
%temp = $1 +$2 return %temp }
Jetzt kann der Identifier $sum überall in den Aliases, PopUps und Remotes verwendet werden. Beispiele: Als Menüpunkt in den PopUps: Summe:/say Die Summe von 45 und und 78 ist $sum(45,78) Oder in den Aliases: /summe /say Die Summe von $1 und $2 ist $sum($1,$2)
(eine Befehlseingabe wie /sum ... macht keinen Sinn. Es funktioniert nicht.)
Alle Parameter für einen Identifier werden durch Kommata getrennt. Man kann ebenfalls sämtliche gängigen If-Then-Else Strukturen in der Definition von Identifiers verwenden. Man kann zum Beispiel erst überprüfen, ob alle für den Identifier erforderlichen Parameter vorhanden sind, und sonst eine Fehlermeldung ausgeben lassen:
/prozent { if ($1 == $null) || ($2 == $null) { return Fehler: Nicht genügend Parameter } if ($2 != 1) { %half = $2 / 2 } | else { %half = 1 } %dummy = $1 * 100 %perc = %dummy / $2 %remainder = %dummy % $2 if (%perc == 0) { goto return } elseif (%remainder >= %half) { inc %perc } :return
return %perc }
Die erste Zeile stellt sicher, daß aller erforderlichen Parameter vorhanden sind. Der Rest ist die Berechnung der Prozentzahl, wobei ein Teil sicherstellt, daß das ganze auf 100% aufgeht. Man könnte diesen Identifier jetzt z.B. mit $prozent(56,100) aufrufen. Daraus würden sich dann 56% ergeben. Zahlen sind allerdings nicht das einzige, was Identifiers enthalten können. Man kann sie auch Text oder Kombinationen aus Text und Zahlen wiedergeben lassen, wie z.B. das amerikanische Zeitformat (7:52pm):
/atime { set %hr $token(1,58,$time) set %min $token(2,58,$time) if (%hr == 0) { set %hr 12 | set %sub am } elseif (%hr < 12) { set %sub am }
elseif (%hr == 12) { set %sub pm } else { %hr = %hr - 12 | set %sub pm } return %hr $+ : $+ %min $+ %sub }
Mit ein bißchen Kreativität könnt Ihr Praktisch für alles Identifiers entwickeln, wie z.B. rückwärts Sprechen oder jeden zweiten Buchstaben aufleuchten lassen.
7.2 Die PopUps-Sektion (Kontextmenüs)
Popups sind Kontextmenüs, die aufspringen, wenn man die rechte Maustaste klickt. Solltet Ihr diese praktische Funktion noch nicht gefunden habt, dann probiert sie jetzt mal aus. Einige Popups sind in der mitgelieferten Datei vorgegeben, aber man kann sie unter Tools/Popups völlig verändern und den persönlichen Bedürfnissen anpassen.
Der mIRC Editor wird mit geöffneten Popups starten. Bitte ignoriert im Moment noch die Remotes- und Variablensektion. Der mIRC Editor ist eine einfache und kompakte Schnittstelle zu fast allen programmierbaren Sektionen von mIRC. Der Menüpunkt 'File' in der PopupsSektion könnt Ihr Popups laden (load), entladen (unload) und speichern (Save). Das Menü 'Edit* beinhaltet ausschneiden, kopieren und einfügen (cut, copy, paste) und eine Suchfunktion. 'Popup' zeigt eine Übersicht über die gerade geöffnete Popup-Datei.
Im Menü 'View' kann man auswählen, welche Popups man gerade bearbeiten will. Es gibt verschiedene Kontextmenüs je nach Art des Fensters. In einem Channelfenster stehen einem andere Popus zur Verfügung als in einem Privatfenster (Query). Man kann individuelle Kontextmenüs für das Status-, die Channel- und Privat/DCC-Fenster sowie für die Nicknamenliste und ein speziellen Punkt in der Menüleiste erstellen. (Alles das wird später noch erklärt)
Wenn Euer mIRC über keine vorgegebenen Popups zu verfügen scheint (die Popups-Sektion ist dann leer) , dann liegt das vielleicht daran, daß die mitgelieferten .ini-Dateien von der
Installationsdatei nicht korrekt in das mIRCVerzeichnis kopiert worden sind oder der Verzeichnis, wo die Datei popups.ini ist in mIRC nicht korrekt angegeben. Dieses Problem läßt sich aber leicht durch den Menüpunkt File/Load im Popupseditor beheben.
Die Popups-Befehle arbeiten fast genauso wie die der Aliases. Alle Strings, die in Sektion 7.1 behandelt worden sind, können auch hier verwendet werden. Wenn Ihr die Sektion 7.1 noch nicht gelesen habt, dann tut das bitte jetzt. Ihr braucht die dort behandelten Informationen, bevor Ihr fortfahren könnt.
Lest auch unbedingt die Erklärung der Popups in der Hilfedatei und seht Euch die vorgegebenen Popups an. Je mehr Ihr herumprobiert, desto besser werdet Ihr es begreifen.
Beispiel: /join
Nehmen wir an, es gibt einen Channel, den Ihr häufig betretet - #test.
Anstatt nun immer /join #test zu tippen, wäre es doch besser, einfach auf die rechte Maustaste zu klicken, und dort mit Hilfe einer automatischen Funktion den Channel zu betreten.
Das folgende Popup wird genau das tun. Tragt es einfach in Tools/Popups ein. Achtet darauf, daß im Menü 'View' der Punkt 'Status Window' ausgewählt ist (nicht Query/Chat, Nicknames List oder Menubar!) Den Testchannel betreten:/join #test
Klickt jetzt einfach im Statusfenster auf die rechte Maustaste, und mIRC wird den Channel #test betreten.
Beispiel:/away
Dies ist ein Beispiel von Popups für "away" und "back". Man gibt den Grund für die Abwesenheit in eine Parameterabfragebox ein, und sendet Ihn an alle Channels, in denen Ihr gerade seit. (/ame führt ein /me in allen Channels aus, in denen man sich gerade befindet.) Abwesend....:/ame ist mal gerade weg ($?="Grund eingeben") | /away Bitte später versuchen ($1) !! Zurück:/ame ist zurück | /away
Untermenüs
Wenn man ein paar solcher Popups einfügen würde, dann wäre der Schirm allerdings bei jedem Klick auf die rechte Maustaste völlig überfüllt. Man kann die Popups also in Untermenü-Hierarchien organisieren. Fügt mal alle nachstehenden Popups ein: Kommentare .Hallo:/say Hallo Leute
.Tschüs:/say Tschüs Leute .Umarmen:/me umarmt $? feste!
Hier wird festgelegt, daß sich die letzten drei Befehle unter "Kommentare" befinden, in dem man sie 1) nach "Kommentare" in der gewünschten Reihenfolge einfügt, und 2) ein "." (Punkt) voranstellt. Wenn Ihr jetzt rechts klickt, dann sehr Ihr den Menüpunkt "Kommentare". Wenn Ihr diesen anwählt, dann tauchen "Hallo", "Tschüs" und "Umarmen" auf. Klickt nun auf einen der Unterpunkte, um die oben festgelegte Aktion auszuführen.
Wenn man es richtig kompliziert machen will, dann kann man diese die Untermenüs in sich auch nocheinmal abstufen. Versucht zum Beispiel mal: Kommentare über Leute .Komplimente ..Nett heute:/say Wow, $? -- du bist ja heute richtig nett!
..Hilfreich:/say Danke für deine Hilfe, $? ..Freund:/say Ich bin froh, daß $? mein Freund ist! .Beleidigungen ..Flasche:/say Hau ab, du Flasche! ..Idiot:/me fragt sich, warum sich $? manchmal wie ein Idiot benimmt! ..Feind:/say Ich bin froh, $? zu meinen Feinden zu zählen!!
...und so weiter! Man muß sie nur mit Hilfe der Punkte vernünftig sortieren. (Wenn durch die Darstellung oben der Groschen noch nicht so recht fällt, dann probiert es unbedingt aus. Fügt den oberen Abschnitt unter Tools/Popups. Es wird sofort klar, wenn man sieht, wie es arbeitet).
Alle Menüpunkte der Popups können übrigens auch auf eine Funktionstaste gelegt werden. Das ist ein handlicher Ersatz für häufig verwendete Popus... (überprüft die Korrektheit der Syntax und setzt die Belegung der Funktionstasten in die
Alias-Sektion. Lest mehr zu diesem Thema in Abschnitt 7.1)
In der Tools/Popups-Sektion findet Ihr unter "View" auch den Punkt Menubar, mit dem man einen Punkt in der Menüleiste frei gestalten kann. Probiert es auch und fügt die folgenden Zeilen hinzu: Abwesend .Abwesend...:/ame ist abwesend ($?="Grund eingeben") | /away abwesend seit $time ($+ $! $+) | /timer22 5 600 /describe # ist abwesend ($!) .Zurück:/ame ist zurück.... jetzt geht des Spaß los! | /away | /timer22 off Schläge .klatsch:/describe # klatsch $1 eine gefrorene Forelle durchs Gesicht .Baseball:/describe # zieht $1 Baseballschläger über den Schädel!
seinen
7.3 Die Remote Sektion Die Remote-Sektion befindet sich unter Tools/Remote... und ist zweifelsohne der am weitesten entwickelte Teil von mIRC. Mit den Fähigkeiten dieses Features, kann man mIRC auf eine Weise reagieren lassen, wie es sonst nur fortgeschrittenes Scripting oder spezielle BotSoftware fertig bringt. Dinge wie: Dateien zum Download anbieten (eine XDCC-Liste), reagieren auf bestimmten Text im Channel oder in privaten Gesprächen, benutzerdefinierte Antworten auf CTCP-Anfragen, bequem zu konfigurierende Benutzer-Level für Freunde und programmierbare Reaktionen auf fast alle Ereignisse die auf dem IRC auftreten können... ferner können für die Reaktionen fast alle mIRC-Befehle verwendet werden. Die Syntax der Remotes kann zum Teil etwas kompliziert aussehen, ist im Prinzip aber einfach eine Erweiterung der Befehle, die schon im Zuge der Aliases und Popups erklärt worden sind. Wenn diese Abschnitte und ganz wichtig, die Erläuterung der Strings und Identifiers - verstanden worden sind, dann ist auch dieses Kapitel leicht zu verstehen. Wenn nicht, dann kehrt noch einmal zu den Abschnitten 7.1 und 7.2 zurück. Die dort enthaltenden Informationen sind absolut wichtig, um Reaktionen auf IRC-Ereignisse zu programmieren. Ebenfalls ist es wichtig, was der Begriff "Remote" bedeutet (deutsch: Fernbedienung). Die Remote-Sektion wurde erstellt, um mIRC auf Aktionen von anderen Usern reagieren zu lassen - es reagiert auf bestimmte Ereignisse auf dem IRC und kann von anderen Usern praktisch ferngesteuert werden. Natürlich nur entsprechend der Parameter, die Ihr einbaut! Viele hier
beschriebene Funktionen kann man nicht einfach selber testen, indem man den erforderlichen Text einfach selber eingibt. Man braucht die Unterstützung von anderen Usern oder muß schlicht und ergreifend abwarten, bis gewisse IRC-Ereignisse eintreten. Die Remotes arbeiten Hand in Hand mit der UsersSektion. In der Remotes-Sektion werden Scripts, d.h. Programmabläufe für bestimmte User erstellt. Jedem User in der Users List können ein oder mehrere Levels zugeordnet werden. Diese Levels bestimmen, wie mIRC auf ein Ereignis eines bestimmten Users reagiert, bzw. auf welche Ereignisse ein User Zugriff nehmen kann. In der Remote (Scripts)-Sektion können die Programmabläufe programmiert werden, in denen festgelegt wird, wie mIRC auf bestimmte Ereignisse und CTCP-Befehle auf dem IRC reagiert. Der mIRCStandarteinstellung nach werden User List, Variablen und Remotes in der Datei remote.ini gespeichert. 7.3.1 Die Remote User-Liste Wählt den Punkt Tools/Remote um den mIRCEditor zu öffnen. Überprüft, ob "Users" als Box aktiv ist. Hier können nun unterschiedliche Userlevels festgelegt werden. Ihr könnt Levels für Eure Freunde und auch für Eure Feinde einstellen und eine sogenannte "Shitlist" erstellen (User, die in einer Shitlist erfaßt sind, werden gekickt, sobald sie einen Channel betreten). Wozu ist das alles notwendig? Nehmen wir an, Ihr habt ein Remotescript verfasst, daß jemanden für die Benutzung des Wortes "Nonsens" aus dem Channel kickt (denkt Euch einfach irgendein Schimpfwort stattdessen
=) Wir erklären später in Abschnitt 7.3.3 noch genauer, wie das funktioniert. Jetzt ist erst mal nur die Idee wichtig. Okay, vielleicht will man aber nur die üblichen User für die Benutzung von "Nonsens" kicken. Häufiger gesehene Leute sollen nur gewarnt werden und von den engen Freunden wird es ignoriert. Und völlig unbekannte User sollen direkt gekickt und gebant (ausgeschlossen) werden. Um unterschiedliche Antworten für verschiedene User zu ermöglichen, muß eine User List aufgesetzt werden. Jedem User wird ein Nickname und/oder eine Adresse, so wie das Userlevel zugeordnet, daß Ihr ihm geben möchtet. Hier ist ein Beispiel für eine gültige User List: 1:nick1 1:nick2 2:[email protected] 2:*[email protected] 3:*!*@machine.subnet.edu 4:*!*@*subnet.edu 5:*!account@*.subnet.edu 10:[email protected] Die Zahlen für das Userlevel sind völlig Euch überlassen. Wie Ihr in den nächsten zwei Abschnitten seht, könnt Ihr entscheiden, was ein bestimmter User mit einem speziellen Level tun kann oder nicht. Standardmäßig ordnet mIRC jedem, der in der User List noch nicht erfaßt ist, das Level 1 zu, Ihr könnt aber auch dieses unter Tools/Remote/Options/"Default User Level" ändern. Wenn Ihr verschiedenen User unterschiedliche Levels zugeordnet habt, dann sind natürlich auch darauf zugeschnittene Reaktionen erforderlich, die den
entsprechenden User erlauben, auf sein Level zuzugreifen. Das wird aber später noch erläutert. Wie Ihr sehen könnt, sind sowohl Nicknamen als auch Adressen in der User List zugelassen. Auch Wildcards (* Sternchen) sind erlaubt. In einigen Fällen möchtet Ihr User vielleicht per Nickname und Adresse spezifizieren. Diese Fälle (mit den OP, DEOP, SERVEROP,... und NOTIFY Events) werden in Abschnitt 7.3.3 erklärt. Man muß die User List nicht komplett per Hand erstellen... man kann auch mIRCs Editbox oder die Befehle /auser, /guser und /ruser verwenden. /auser /auser {Level} {Nickname oder Adresse} "Auser" (Add user) fügt den spezifizierten Nicknamen oder Adresse in die User List ein, und zwar mit dem festgelegten Level. Die Gültigkeit der Adresse wird nicht überprüft, d.h. so exakt aus den Befehlsparametern übernommen. /guser /guser {Level} {Nick} {Typ} "Guser" (Get User) fügt den spezifizierten Nicknamen mit Adresse in die User List ein. Um das zu bewerkstelligen, führt mIRC einen /whois auf den angegebenen Nicknamen aus und setzt die empfangene Adresse in die User List. Das bedeutet natürlich auch, daß der hinzuzufügende Nickname gerade auf dem IRC sein muß, damit der /guser-Befehl funktioniert. Wenn man einen speziellen Typ festlegt, dann verwendet mIRC besondere Wildcards (* Sternchen) in der Adresse (Anmerkung d. Übersetzers: Wilcards sparen bestimmte Abschnitte der Adresse aus. Dies ist zum Beispiel für User notwendig, deren Adresse sich jedesmal durch die zufällige IP-Adressenvergabe bei der Modemeinwahl
ergibt). Diese Typen sind dieselben, die auch beim /banBefehl verwendet werden. Die möglichen Parameter reichen von 0 bis 9 (siehe unten). /ruser /ruser {Nick oder Nick! oder Adresse oder Nick [Typ]} "Ruser" (Remove User) entfernt einen Nicknamen oder eine Adresse von der User List. Ihr müßt genau wissen, wie der Nick oder die Adresse in der User List verzeichnet sind, damit der Befehl arbeitet. Wenn jemand z.B. so eingetragen ist: [email protected] dann kann man ihn auch mit '/ruser nick!' entfernen. Denkt an das Ausrufezeichen, damit die gesamte Zeile gelöscht wird. Für mIRC wurde ein verbesserter /ruserBefehl erstellt, der so arbeiten kann, wie /ban oder /guser. '/ruser {nick} [Typ]': Wenn kein Typ festgelegt wird, dann entfernt mIRC ganz normal den Nicknamen von der User List. Wenn aber ein Typ angegeben wird, dann wird die Adresse des Nicks festgestellt, und diese dann von der User List gelöscht. Anmerkung: Die Verwendung von verschiedenen Adresstypen erlaubt die Spezifizierung eines Users, oder gleich einer gesamten Gruppe von Leuten, je nach Verwendung von mehr oder weniger Wildcards. Hier sind einige Resultate: Wenn kein Typ festgelegt wird, dann wird standartmäßig Typ 6 verwendet: Typ 0; *[email protected] Typ 1; *!*[email protected] Typ 2; *!*@Wit399402.student.utwente.nl Typ 3; *!*vonck@*.student.utwente.nl Typ 4; *!*@*.student.utwente.nl Typ 5; [email protected]
Typ 6; Kreet!*[email protected] Typ 7; Kreet!*@Wit399402.student.utwente.nl Typ 8; Kreet!*vonck@*.student.utwente.nl Typ 9; Kreet!*@*.student.utwente.nl !Eine letzte Anmerkung: Als Userlevel kann jetzt sogar ein Wort festgelegt werden, z.B. so: mircop:*!*@mardam.demon.co.uk Das kann man nun zum Beispiel so mit einem Event verknüpfen: on mircop:JOIN:#mirc:/mode $chan +o $nick mIRC besitzt eine interne Datenbank der Leute, die gerade mit Euch auf den selben Channels sind. Diese Datenbank wird verwendet, um die Befehle /ban, /guser und /ruser erheblich zu beschleunigen. Diese Befehle führen einen /whois auf die entsprechende Person aus. Die Interne Adressenliste (IAL) speichert diese Information im Format [email protected] für alle User, die mit Euch auf den selben Channels sind. Wenn nun ein /ban, /guser, /ruser, /ignore, /dns oder /finger ausgeführt wird, dann wird zuerst diese Liste durchsucht. Erst wenn hier keine Übereinstimmung gefunden wird, startet mIRC das übliche /whois-Zeug. Das wird Eure Bans erheblich beschleunigen, besonders, wenn Eure Verbindung gerade etwas schleppt (Im IRC-Slang: to be lagged). Die interne Adressenliste aktiviert Ihr unter Tools/Remote/Options. Schaltet sie EIN.
7.3.2 Remote Scripts - CTCP Befehle Wählt in mIRC den Menüpunkt Tools/Remote um den mIRC-Editor zu öffnen. Hier kann man
definieren, wie mIRC auf die "Umwelt" des IRC reagiert. Zwei getrennte Gruppen von Reaktionen sind möglich: Reaktionen auf CTCP-Befehle und auf Ereignisses (Events). In diesem Abschnitt besprechen wir die CTCP-Befehle. Einführung - Remote Commands reagieren auf eine sehr speziefische Befehlsform, den CTCP-Befehl. CTCP ist eine Abkürzung und steht für "Client To Client Protokoll". Die Remote-CTCP-Befehls-Sektion kann eine Sache - und nur eine. Sie kann auf CTCP-Befehle reagieren - in der Weise, wie Ihr es wünscht. Es gibt einige schon anhand der IRC RFC vordefinierte CTCPs. Die üblichen sind version, ping, time, userinfo, clientinfo und finger. Jeder IRC-Client wird einer standardisierten Art und Weise auf diese Befehle reagieren. Diese CTCP-Befehle werden einem in diesem Format gesendet: /ctcp {euernick} {Befehle mit Parametern, wenn welche existieren} Nehmen wir das Beispiel des Pings. Der andere User würde in diesem Fall folgendes tippen: /ctcp {euernick} ping Man kann sich auch selber einen Ping-Befehl schicken. Versucht es mal: /ctcp {euernick} ping Unter normalen Umständen sendet mIRC einen Standart Ping Reply (Antwort) [ctcp seinnick pong]. Aber mit den Remote-CTCPs könnt Ihr die Standartantwort des Programms auf einen Ping verändern. Es kann fast alles tun, was Ihr wollt, wenn es einen Ping erhält. Es kann standartmäßig reagieren, oder auch nicht. Es liegt an euch. Es gibt EINE aus Ausnahme: Ihr könnt NICHT euren mIRC-Version-Reply unterbinden... Wir lieben Werbung, wißt ihr...
Ihr könnt auch neue CTCP-Befehle und Antworten darauf entwerfen. So funktionieren zum Beispiel Features wie Dateien-Angebot (XDCC, LIST und SEND). Zunächst aber zurück zu unserem PING Bespiel. Beispiel: Benutzerdefinierte Ping-Antwort Öffnet Tools/Remote und schaut unter 'View', ob schon ein Script namens commands.ini oder ctcp.ini schon existiert. Wenn ja, wählt die Datei aus, und fügt die Zeilen hinzu und ändert sie. Wenn nicht, dann geht unter den Menüpunkt 'File' und wählt 'New' um eine neue Datei zu erstellen. Versichert Euch, daß unter 'Listening' der Punkt ctcp ausgewählt ist! (Wenn nicht, dann werden CTCP-Befehle ignoriert). Jetzt setzt die folgende Zeile in die existierende oder neue Script-Datei. ctcp 1:ping:/notice $nick ping? Hmmmm.... PANG PANG PANG!! Wenn Euch nun jemand pingt, dann bekommt er als Antwort " ping? Hmmmm.... PANG PANG PANG!!" in Form einer Notice (Benachrichtigung). Hinzu kommt noch die Standardantwort 'pong'. Ihr könnt das durch /ctcp {euernick} ping testen. Wenn es nicht funktioniert, dann überprüft, ob mIRC gerade auf CTCP-Befehle reagiert. Aktiviert die Funktion mit /remote on und/oder /ctcps on. Wenn Ihr wollt, daß mIRC die Standardantwort unterdrückt, dann könnt Ihr die weitere Bearbeitung mit dem Befehl /halt unterdrücken. Verwendet ihr wie folgt: ctcp 1:ping: /notice $nick ping? Hmmmm.... PANG PANG PANG!! | /halt Dies wird das selbe tun, wie vorher, nur daß es die Standardantwort nicht absetzt. Wie schon gesagt, testet es und seht den Unterschied.
Die Syntax der Remote CTCP-Befehle Remote-Befehle bestehen bis auf ein paar speziellen Fällen immer aus drei Abschnitten, die von einander mit Doppelpunkten abgegrenzt sind. Die generelle Syntax sieht so aus: ctcp {Befehls-Level}:{CTCP-Befehl}:{Ausgelöste(r) Befehl(e) mit Parameter(n)} Wir schauen uns die Anschnitte einmal einzeln an: ctcp
Dies sagt mIRC, daß die Definition für eine Reaktion auf einen CTCP-Befehl folgt.
{BefehlsLevel}
Dieser Befehl wird Usern antworten, deren Userlevel gleich hoch ist, wie das Befehlslevel oder größer, es sei denn für Ihr (größeres) Level ist ein anderer Befehl definiert.
{CTCPBefehl}
Der CTCP-Befehl kann heißen wie Ihr wollt. Es kann ein Standart-CTCP-Befehl wie Ping oder Version sein, aber auch eine Eigenkreation.
{Ausgelöste(r) Hier werden die auszulösenden Befehl(e) mit Befehle definiert. Das Format Parameter(n)} und die Verwendung von Mehrzeilenbefehlen funktioniert genauso wie in den Aliases und Popups. Die Strings werden in dieser Sektion automatisch von mIRC belegt. Ihr müßt nur sichergehen, daß die von Euch eingesetzten Strings auch alle definiert werden, d.h. in den Remote Commands Sinn machen. (z.B. $chan wird in den Remote Commands NICHT
eingesetzten Strings auch alle definiert werden, d.h. in den Remote Commands Sinn machen. (z.B. $chan wird in den Remote Commands NICHT definiert!!!) Schauen wir noch mal nach unserem Ping-Beispiel und nehmen wir es auseinander: ctcp 1:ping:/notice $nick Hmmmm.... PANG PANG PANG!! Die Voranstellung von ctcp teilt mIRC mit, daß die Definition eines Remote Befehls folgt. Im selben Script können auch noch Aliases, Events und Antworten auf numerische Server-Ereignisse (Raw Definitions) festgelegt werden. Aber dazu später. 1 ist das Befehlslevel. Alle User mit dem Userlevel 1 oder höher können diesen Befehl auslösen. Ping ist der CTCP-Befehl, auf den der Remote-Befehl reagieren wird. Der ausgelöste Befehl ist eine /notice, die an $nick übermittelt wird und die gesamte Zeile "Hmmmm.... PANG PANG PANG!!" enthält. $nick ist der Identifier, der den Nicknamen der Person enthält, die Euch den CTCP-Befehl übermittelt hat. Fassen wir zusammen: der Effekt des Befehls "/ctcp {euernick} {ping}" ist "/notice {nick} Hmmmm.... PANG PANG PANG!!. Er wird ausgeführt, sobald ein CTCP Ping empfangen wird. Unterschiedliche Reaktionen auf Leute mit verschiedenen Userlevels Ihr könnt die Reaktionen auf CTCP-Befehle sehr fein abstufen, indem Ihr ihnen verschiedene Levels zuordnet. mIRC antwortet immer mit dem passenden Befehl, der
am dichtesten an die Höhe des Userlevels der Person heranreicht, die den Befehl gegeben hat. Analysieren wir mal die folgenden Zeilen... ctcp 1:ping:/notice $nick ping? Hmmmm Dein Level ist zuuu niedrig!!... | /halt ctcp 2:ping:/notice $nick ping? Hmmm! ...pang pang .... Fast tot !! ctcp 3:ping:/notice $nick ping? ...pang !! Hmmm... daneben... ctcp 6:ping:/notice $nick ping? Hmmm! ...Na gut.. ich mag dich, du darfst mir einen Ping senden... Ein Level 1-User wird keinen Ping-Reply bekommen, dafür aber ein nettes " Hmmmm Dein Level ist zuuu niedrig!!..." Ein Level 2-User (2:[email protected]) wird es kaum überleben, wenn er Euch pingt :o) Er wird folgendes sehen:" Hmmm! ...pang pang .... Fast tot !!" Ein Level 3-User (3:*!*@machine.subnet.edu) bekommt:" ...pang !! Hmmm... daneben...". Level 4 und 5 ist keine spezifische Reaktion zugeordnet, sie bekommen also die Reaktion, die am höchsten an Ihr Userlevel heranreicht. Das ist in diesem Falle Level 3 also bekommen sie auch alle die Level 3-Antwort. Level 6-User und User mit höherem Level bekommen alle die Level 6-Antwort. Diese Einstufung funktioniert bei allen Remote Commands und Events (Befehlen und Ereignissen)... Überprüft, ob Ihr diesen Abschnitt verstanden habt. Sonst lest Ihn nocheinmal durch?? Spezielle Identifiers für Remote/Commands $nick, $address, $site, $level, etc. sind alles Identifiers, die speziell für die Verwendung in der Remote-Sektion
erstellt wurden. Alle üblichen Strings (Abs. 7.1.2) können aber auch verwendet werden. Ihr könnt sie überall in den Befehlszeilen einsetzen, die durch CTCPBefehle ausgelöst werden.
$nick
Der Nickname der Person, die den CTCP-Befehl gesendet, oder ein spezielles Ereignis (Event) ausgelöst hat.
Die volle Adresse der Person, die den CTCP-Befehl gesendet, oder ein $address spezielles Ereignis (Event) ausgelöst hat. $site
Erwidert die Adresse des Users, der das Event ausgelöst hat im Format adresse.de
$wildsite
Erwidert die Adresse des Auslösers im Format *!*@host.domain
$level
Das Userlevel der Person, die den CTCP-Befehl gesendet, oder ein spezielles Ereignis (Event) ausgelöst hat.
$chan
Der Channel, in ausgelöst wurde
dem
ein Event
$target Das Ziel des Events Anmerkung: Der Identifier $chan ist normalerweise in den Remote Commands nicht definiert... $chan enthält den Namen des Channels, auf dem ein bestimmtes Ereignis ausgelöst wurde. CTCP-Befehle werden nicht immer über Channels an euch gesendet, oder die Person, die den Befehl sendet, kann auf mehreren Channels sein.
Seht Ihr den Sinn?? Vielleicht hilft euch $active weiter? Oder $target? Beispiel: Hier ist ein Beispiel, daß den vordefinierten Identifier $address enthält: ctcp 1:adresse:/notice $nick Deine Adresse lautet: $address Wenn Euch ein User nun den Befehl '/ctcp {euernick} adresse' übermittelt, dann antwortet Ihr mit einer Notice welche "Deine Adresse lautet: {was immer seine oder ihre Adresse ist}" enthält. (Anmerkung d. Übersetzers: Vergeßt nicht, daß "address" im englischen mit zwei "d" geschrieben wird, im Deutschen aber mit einem! Das hat mir zu Anfang viel Kopfzerbrechen bereitet, da man es durch Flüchtigkeit leicht übersehen kann) Beispiel: Freunden auf Anfrage Operator Status geben Wenn Euch noch nicht klar ist, wie all dies prinzipiell funktioniert, dann macht Euch keine Gedanken. Folgt einfach den Beispielen bis der Groschen fällt. Wenn nötig, lest die vorhergehenden Passagen noch einmal. Versucht aber noch nicht, Eure eigenen Remote Commands zu schreiben oder zur nächsten Passage weiterzublättern, bis der Groschen gefallen ist. ctcp 1:opmich:/notice $nick Sorry, du wirst auf $2 kein Ops bekommen. Dein Level reicht nicht aus... ctcp 5:opmich:/mode $2 +o $nick Wenn ein Freund mit Userlevel 5 Euch nun einen '/ctcp opmich {#channelname} sendet, dann wird ihnen der Remote-Befehl Ops auf dem angegebenen Channel geben. Level 1 User werden keinen Ops bekommen, was immer sie auch versuchen.
Das Parameter $2 bezieht sich auf das zweite Wort im CTCP-Befehl. In diesem Fall ist es der Channelname. ($1 wäre das Wort 'opmich') Der String $2- kann verwendet werden, um lange Zeilen zu verarbeiten, die ein Remote-User in einem CTCPBefehl übermittelt. ctcp 5:return:/notice $nick $2Dieser Befehl wird jeden Satz, den ein Remote-User sendet, an Ihn zurückübermitteln. Die gesamte Zeile nach dem CTCP-Befehlsnamen befindet sich in dem String $2-. Ein an Euch gerichteter Befehl '/ctcp {euernick} Bla Fasel Schwätz Sabbel' läßt mIRC den folgenden Befehl ausführen: '/notice Freund Bla Fasel Schwätz Sabbel'. Mehrzeilenbefehle Ein empfangener CTCP-Befehl kann durchaus auch mehrere Befehle auslösen... ctcp 5:opmich:/mode $2 +o $nick | /notice Du hast jetzt Operator Status auf Channel $2 Wenn Euer Level 5-Freund den Befehl '/ctcp {euernick} opmich #Channelname' sendet. Was also passiert? In der Tat werden zwei Aktionen durch den CTCPOPMICH-Befehl ausgelöst. erstens: /mode #Channelname +o Freund zweitens: /notice Freund Du hast jetzt Operator Status auf Channel #Channelname Noch ein CTCP-Befehl, der einen Mehrzeilenbefehl auslöst: ctcp 10:part:/part $2 | /notice $nick Ich habe den Channel $2 verlassen Wenn nun von einem Level 10-User der Befehl '/ctcp {euernick} part #Channelname' eingeht, dann wird mIRC
erst den Channel verlassen, und dem Sender des Befehls dann eine Bestätigung senden. $2 enthält den zu verlassenden Channel ist der Nickname der Person, die angefragt hat Andere Beispiele ctcp 1:ping:/notice $nick Bitte sende mir keine Pings! ...würde mit '/notice {nick} Bitte sende mir keine Pings!' antworten. ctcp 5:time:/notice $nick Zeit sich eine Uhr zu kaufen! ...würde mit '/notice $nick Zeit sich eine Uhr zu kaufen!' antworten. ctcp 10:/notice $nick Ich bin der, der ich sage | /notice $nick Und ich sage, ich bin DU!! ...würde antworten: 1) "/notice $nick Ich bin der, der ich sage", 2) "/notice $nick Und ich sage, ich bin DU!!" $nick
7.3.3 Remote Scripts - Ereignisse (Events) Wählt den Punkt Tools/Remote um den mIRCEditor zu öffnen, dann aktiviert unter 'View' die Datei events.ini. Wenn kein Event-Script verfügbar ist, dann ladet die mitgelieferte ScriptDatei oder erstellt eine neue mit File/New. Eine neu angelegte Datei wird standardmäßig script1.ini genannt. Wie Ihr gesehen habt, befassen sich Remote-CTCPScripts nur mit CTCP-Befehlen. Die Remote Ereignisse (mIRC-intern Events genannt) befassen sich mit den anderen Dingen, die auf dem IRC passieren können. Das klingt vielleicht gewaltig, aber keine Sorge. Wie schon erklärt, bauen die Lektionen auf einander auf. Wenn Ihr die Remote Commands begriffen habt, dann werden die
Remote Events ein Kinderspiel. Die Schwierigen Dinge habt Ihr im letzten Teil schon gelernt. Warnung: üblicherweise reagiert mIRC ziemlich sensibel auf fehlerhafte Remote-Events-Syntax. Wenn in den Scripts Fehler gemacht werden, dann kann das durchaus in einem GPF enden. (GPF ist die Abkürzung für General Protection Fault. In der deutschen Windows-Version wohl bekannt als Adressenschutzverletzung). Wenn also plötzlich Stabilitätsprobleme auftreten wo vorher keine waren, dann schaut mal zuerst hier nach. Die Syntax für Remote Events Folgende Remote Events gibt es: TEXT, INPUT, JOIN, PART, KICK, OP, DEOP, BAN, UNBAN, INVITE, NICK, QUIT, TOPIC, SERVEROP, NOTIFY, UNOTIFY, MODE, USERMODE, SERVERMODE und SMODE. Neben dem TEXT Event sind die ähnlich arbeitenden ACTION, NOTICE, NOTICE, CHAT, SERV und WALLOPS verfügbar. Neu hinzugekommen sind FILESENT, FILERCVD und NOSOUND sowie CHATOPEN, CHATCLOSE, SERVOPEN und das SERVCLOSE Event. (ich hoffe, ich habe keine vergessen!) CONNECT, DISCONNECT, MIDIEND,.... Was genau sie tun und wie man sie benutzt, besprechen wir in Kürze. Erstmal schauen wir uns ein paar kurze Beispiele an, um die Syntax zu verstehen. Sie sieht im Prinzip genau wie die der Remote Commands aus. Hier ein Beispiel für ein Remote Event, daß auf Text reagiert: on 1:TEXT:hallo:#:/msg $nick Hallo auch! Schaut mal in Tools/Remote nach, ob da schon ein Script namens events.ini vorhanden ist. Wenn nicht, dann erstellt unter FileNew eine neue Datei. Schaut unter "Listening" nach, ob der Punkt "Events" aktiviert ist.
(Wenn diese Funktion nicht aktiviert ist, wird mIRC auf die definierten Ereignisse nicht reagieren). Übertragt nun die obenstehende Zeile in eine neue oder vorhandene Datei ein. Dieses Remote-Ereignis wird ausgelöst, wenn in einem aktiven Channel das Wort "hallo" gefunden wird. mIRCs Antwort besteht in einer privaten Nachricht mit dem Inhalt "Hallo auch!". Hier ist noch ein anderes Beispiel, diesmal mit JOIN: on 1:JOIN:#:/notice $nick Herzlich Willkommen auf Channel $chan Dieses Remote-Ereignis reagiert immer dann, wenn ein User einen Channel betritt, auf dem Ihr auch gerade seid. Es wird eine private Nachricht mit dem Inhalt "Herzlich Willkommen auf Channel {Channelname}" gesendet. Wenn Ihr es bis hier geschafft habt und die Remote Commands verstanden habt, dann sollte Euch der Rest sehr leicht fallen. Remote-Ereignisse bestehen normalerweise aus 4 Teilen, getrennt durch Doppelpunkte. Ausnahmen sind die Events TEXT, welches sich aus 6 Teilen zusammensetzt und NICK, welches aus 3 Teilen besteht. Alle Events bis auf TEXT, NOTICE, SNOTICE, ACTION, QUIT und NICK sehen von Ihrer Struktur so aus: on {Event-Level}:{Event}:{wo ausgelöst}:{Ausgelöste(r) Befehl(e) mit Parameter(n)} on {EventLevel}
Dieses Präfix signalisiert mIRC, daß ein Event folgen wird Dieses Event reagiert nur auf Ereignisse der User mit diesem Level oder höherem, wenn für Ihr Level nicht ein eigenes Event definiert wurde.
wurde. {Event}
Der Name des Events, auf das reagiert werden soll, wie z.B. JOIN, OP, etc...
{Wo #, #Name. Wo soll auf das Erscheinen dieses ausgelöst} Events geachtet werden? Entweder # für jeden Channel, oder #Name für einen bestimmten Channel (wie #test). Man kann das Event auch so definieren, daß es auf mehreren bestimmten Channels ausgelöst wird: on 1:TEXT:hallo*:#chat,#help,#mirc:/msg $nick Hallo auch! Ausnahme: Dies gilt nicht für NICK und QUIT! ...und die großen Ausnahmen sind die Events TEXT, ACTION, NOTICE, SNOTICE, CHAT und SERV, welche so funktionieren: on Dieses Präfix signalisiert mIRC, daß ein Event folgen wird {Event-Level}:{Event}:{Welcher Text}:{wo ausgelöst}:{Ausgelöste(r) Befehl(e) mit Parameter(n)} {Event-Level}siehe oben {Event-Level}
siehe oben
{Event}
eine der oben aufgeführten Ausnahmen
Welches Wort, oder welcher Text soll {Welcher Text} das Event auslösen? Wie z.B. "hallo" im Beispiel oben {wo ausgelöst}
#, #name, ?, * Genau wie oben kann man dem TEXT Event vorschreiben, wo es nach bestimmtem Text suchen soll. Auf allen Channels (#), auf einem oder mehreren bestimmten Channels (#Name), in privaten Unterhaltungen (?), oder überall (*). Die Events TEXT
soll. Auf allen Channels (#), auf einem oder mehreren bestimmten Channels (#Name), in privaten Unterhaltungen (?), oder überall (*). Die Events TEXT und ACTION reagieren allerdings nicht auf Text in DCC Chats oder DCC Server-Fenstern. NOTICE reagiert auf Text in Notices, CHAT auf Text in DCC Chats und SERV auf Text in einem DCC Server-Fenster. {Ausgelöste(r) Befehl(e) mit siehe oben Parameter(n)} Die verfügbaren Events Nun folgt die Beschreibung der verschiedenen Events, auf die mIRC reagieren kann... TEXT Event Reagiert, wenn ein definierter Text im Channel oder in einer privaten Unterhaltung auftaucht. ACTION und NOTICE funktionieren genauso. Beispiel: on 1:TEXT:nonsens:#:/kick $chan $nick Kein Nonsens!! Dieses Event achtet in allen Channels auf das Wort "Nonsens", und kickt den User, der es gesagt hat. Beispiel: on 1:TEXT:nonsens:#test:/kick $chan $nick | /notice $nick Hallo
$nick ! Du hast Nonsens gesagt, das ist auf Channel #test nicht erlaubt. Wenn das Wort "Nonsens" in #test gesagt wird, dann wird der entsprechende User gekickt (natürlich nur, wenn man auf #test auch Op ist) und er erhält eine Notice mit dem Inhalt "Hallo {Nickname} Du hast Nonsens gesagt, das ist auf Channel #test nicht erlaubt..." Beispiel: on 5:TEXT:hilfe:?:/notice $nick Ich wünschte, ich könnte Dir helfen. Aber ich kann nicht. Dieses Event reagiert, wenn das Wort Hilfe alleinstehend in einer privaten Unterhaltung gefunden wird. Man kann Wildcards (* Sternchen) in den Text einbauen, auf den mIRC reagieren soll: *
Reagiert auf jeden Text
=wort
Nicht länger unterstützt (weil nicht mehr benötigt)!
Wenn ein User einen Satz mit diesem wort* Wort startet, dann wird das Event ausgelöst. Wenn ein User einen Satz mit diesem *wort Wort beendet, dann wird das Event ausgelöst. *wort* Wenn ein User dieses Wort irgendwo im Satz benutzt, dann wird das Event ausgelöst.
Satz benutzt, dann wird das Event ausgelöst. Eine exakte Übereinstimmung wird benötigt, um das Event auszulösen. Wie schon gesagt, reagiert das letzte Beispiel nur, wenn eine exakte Übereinstimmung vorliegt, d.h. ein User einzig das Wort "Hilfe" sendet und nicht, wenn es nur irgendwo in einem Satz auftaucht. Beispiel: on 5:TEXT:hallo*:?:/notice $nick Hallo auch! Dieses Beispiel reagiert nur, wenn ein anderer User eine private Nachricht schickt, die mit "Hallo" beginnt. (Anmerkung des Übersetzers: Die korrekte Groß- und Kleinschreibung ist in der Definition des Textes nicht wichtig) Andere Beispiele: on 1:TEXT:werbinich:*:/notice $nick Dein Userlevel ist $level on 1:TEXT:*ok:/msg $nick Dein Satz endete mit "ok" ACTION Event Siehe TEXT Event. Es funktioniert genauso. ACTION reagiert auf Aktionen (/me), die an Euch in privaten Gesprächen oder an die Channels gesendet werden, auf denen Ihr Euch gerade befindet. NOTICE Event Siehe TEXT Event. Es funktioniert genauso. NOTICE reagiert auf Notizen, die an Euch oder die Channels gesendet werden, auf denen Ihr Euch gerade befindet. CHAT Event Reagiert, wenn ein definierter Text in einem DCC ChatFenster gefunden wird. SERV Event wort
Reagiert, wenn ein definierter Text in einem DCC Server-Fenster gefunden wird. Die beiden letzten Events können verwendet werden, um auf bestimmten Text in DCC Chat- und FileserverFenstern zu achten. Sie arbeiten fast wie TEXT. Natürlich fehlt der Teil {Wo ausgelöst}. Hier muß eine wichtige Anmerkung gemacht werden: für CHAT und SERV können keine verschiedenen Event-Levels festgelegt werden! Sie können also nicht auf verschiedene User mit unterschiedlichen Levels individuell reagieren. Ich weiß, dieses Problem ist verwirrend, kann aber leider nicht behoben werden. Aufgrund der direkten Client-zu-Client-Verbindung bei DCCs, kann mIRC den Nicknamen und die Adresse nicht mehr feststellen, sobald eine Verbindung steht. Sorry, Leute! Verwendet für CHATs und SERVs einfach Level 1. Beispiele: on 1:CHAT:blabla:/msg $me $nick hat zu dir " $1- "in einem DCC Chat gesagt on 1:SERV:get mirc:/echo server 6 $nick wird jetzt mIRC gesendet In einem SERV Event kann man auch den speziellen Identifier $cd verwenden. CD steht für Current Directory (Aktuelles Verzeichnis). on 1:SERV:dir:/msg = $+ $nick Aktuelles Verzeichnis ist $cd (Das dem Nicknamen vorangestellte "=" signalisiert mIRC, daß die Nachricht über die DCC-Verbindung gesendet werden soll) JOIN Event Dieses Event spricht an, wenn ein User einen Channel betritt.
Beispiel: on 1:JOIN:#test:/notice $nick Willkommen im TestChannel! Sendet eine Notiz mit dem Inhalt " Willkommen im Test-Channel!" an jeden, der den Channel #test betritt. Beispiel: on 25:JOIN:#cool:/kick $chan $nick Du bist hier nicht willkommen!! Kickt jeden Level 25 User bei betreten des Channels mit der Nachricht " Du bist hier nicht willkommen!!" PART Event Dieses Event reagiert, wenn ein User einen Channel verläßt. Beispiel: on 10:PART:#:/notice $nick Hey, danke, daß du im Channel $chan vorbeigeschaut hast! Sendet eine Notiz mit dem Inhalt " Hey, danke, daß du im Channel $chan vorbeigeschaut hast!" an jeden Level 10 User, der den Channel verläßt. Beispiel: on 90:PART:#:/msg $chan Yuppieeehh!!! $nick ist weg!! Sendet eine Nachricht an den Channel, wenn ihn ein Level 90 User verläßt. CONNECT Event Das CONNECT Event tut im Prinzip das selbe, wie die Sektion "Perform" unter File/Options. Es wird immer dann ausgelöst, wenn sich mIRC mit einem IRC-Server verbunden hat, und die MOTD fertig gescrollt ist. on 1:CONNECT:/echo Erfolgreich mit $server verbunden! DISCONNECT Event
Wird ausgelöst, wenn mIRC die Verbindung zum IRCServer verliert. on 1:DISCONNECT:/echo Huch! Verbindung verloren! KICK Event Wird ausgelöst, wenn ein User von einem Channel gekickt wird Beispiel: on 100:KICK:#:/kick $chan $nick | /invite $knick $chan | /notice $nick Diese Person ist mein Freund! Wenn ein Level 100 User aus einem Channel gekickt wird, dann kickt mIRC denjenigen, der den Kick getätigt hat. Anschließend wird der gekickte Freund eingeladen, den Channel wieder zu betreten (invite) und der "Kicker" bekommt eine Notiz mit dem Inhalt "Diese Person ist mein Freund". Anmerkung: $knick ist der Identifier für den Nicknamen des Users, der gekickt worden ist. Beachtet auch, daß es sich hier um einen Mehrzeilenbefehl handelt. Es funktioniert wie in den Remote Commands. OP Event Wird ausgelöst, wenn ein User Operator Status bekommt (geopt wird). Beispiel: on 1:OP:#test:/notice $opnick Du hast von $nick Operator Status bekommen. Wenn jemand auf #test geopt wird, dann wird diesem User eine Notiz mit dem Inhalt "Du hast von {dem User, der ihn
geopt hat} Operator Status bekommen." geschickt. Anmerkung: $opnick ist in diesem Event der Nickname desjenigen, der Operator Status bekommen hat. DEOP Event Wird ausgelöst, wenn ein User Operator Status entzogen wird (deopt wird). Anmerkung: Dieses Event erfordert die Aufführung des Nicks in der Remote-Userliste! Beispiel: on 1:DEOP:#:/msg $opnick Pech gehabt! Du wurdest von $nick deopt! Wenn jemand deopt wird, dann wird ihm eine Nachricht mit dem Inhalt " Pech gehabt! Du wurdest von {der Person, die ihn deopt hat} deopt! Anmerkung: $opnick ist der Nickname des deopten Users in diesem Fall. Wichtig: Bei der Erklärung der Events OP, DEOP, SERVEROP und NOTIFY muß eine wichtige Anmerkung gemacht werden. Aufgrund der Tatsache, daß der Server beim Open, Deopen oder Sichten auf einem Channel oder dem IRC nur die Nicknamen der User übermittelt (nicht die vollen Adressen), müssen die User, auf die sich diese Events auswirken sollen auch per Nickname in der Remote-Userliste verzeichnet sein. Die volle Adresse ([email protected]) reicht nicht. mIRC kann aus so einem Eintrag den Nick nicht herausfiltern. Die Ausnahme ist natürlich, wenn das Zugangslevel für dieses Event auf 1 gesetzt
wird, d.h. alle potentiellen User betroffen sind. In diesem Fall müssen die User nicht aufgeführt sein. Wenn Ihr Leuten ein Userlevel zuordnen wollt, mit dem Ihr auch die Events OP, DEOP, SERVEROP und NOTIFY ansprechen könnt, dann tut das am besten so: 3:freundA 5:freundB 5:freundC 10:[email protected] Die Notwendigkeit dieser Art von Spezifizierung kann die doppelte Aufführung eines Users in der Liste sinnvoll machen und zwar einmal nur per Nickname und einmal per voller Adresse. Dies verhindert, daß jeder User der zufällig (oder auch absichtlich) den Nick freundB verwendet, vollen Zugriff auf die höheren Event- und CommandLevel erhält und sie nutzen kann. BAN Event / UNBAN Event Mit diesem Event kann man auf einfache Art und Weise Freunde vom Channel-Ban befreien (unbannen). Beispiel: on 5:BAN:#tree:/mode $chan -b $banmask Der Identifier $banmask enthält die gesamte Adresse, die auf die Ban-Liste des Channels gesetzt wird. Toll nicht? Der $bnick-Identifier enthält den Nicknamen der Person, die gebant wird - er ist allerdings nicht immer definiert, da für einen Channel-Ban nicht notwendigerweise ein Nick erforderlich ist (z.B. bei einem Siteban: *!*@modem*.adresse.de). UNBAN funktioniert genauso. INVITE Event Wird ausgelöst, wenn man in einen Channel eingeladen wird. Beispiel:
on 5:INVITE:#test:/join $chan | /describe $chan dankt Euch für die Einladung! Wenn Ihr nach #test eingeladen werdet, dann betritt mIRC den Channel und sendet eine Aktion mit dem Inhalt "{euernick} dankt Euch für die Einladung!". NICK Event Wird ausgelöst, wenn ein User seinen Nicknamen ändert. Beispiel: on 1:NICK:/notice $newnick Mir hat $nick besser gefallen als $newnick ! Immer wenn ein User seinen Nicknamen ändert, bekommt er die Notiz "Mit hat {alternick} besser gefallen als {neuernick} !" $nick enthält den alten Nicknamen, $newnick (na was wohl) den neuen. Anmerkung: Der Abschnitt {wo ausgelöst} fehlt im Event NICK. QUIT Event Wird ausgelöst, wenn ein User den IRC verläßt. Beispiel: on 2:QUIT:/notice $me Partytime!!! $nick hat sich gerade verpieselt! Wann immer ein Level 2 User den IRC verläßt, schickt mIRC eine Notiz mit Inhalt "Partytime!!! {Nickname} hat sich gerade verpieselt!" an sich selbst. Anmerkung: Der Abschnitt {wo ausgelöst} fehlt im Event QUIT. TOPIC Event Wird ausgelöst, wenn das Topic in einem Channel geändert wird.
Beispiel: on 1:TOPIC:#:/msg $chan Toll! Ich liebe das neue Topic! Wann immer das Topic in einem Channel geändert wird, wird die Nachricht " Toll! Ich liebe das neue Topic!" in den Channel geschickt. SERVEROP Event Wird ausgelöst, wenn der IRC-Server einem User Operator Status zurückgibt. Anmerkung: Für das SERVEROP-Event muß der User per Nickname in der Remote-Userliste aufgeführt werden Beispiel: on 1:SERVEROP:#mirc:/mode $chan -o $nick | /notice $opnick Tut mir leid, aber auf Channel $chan sind keine Serverops erlaubt! Wenn ein User auf Channel #mIRC von einem Server geopt wird, dann wird Ihm der Ops sofort wieder entzogen und er bekommt die Notiz " Tut mir leid, aber auf Channel #mIRC sind keine Serverops erlaubt!". Wenn ein Server vom IRC-Netzwerk abgespalten wird (Netsplit) und sich dann wieder mit Ihm verbindet (Netjoin), tauscht dieser mit dem Netzwerk sämtliche Channelmodi - unter anderem die Operators - aus und gleicht sie an. In diesem speziellen Fall kann es zu Serverops kommen. (Anmerkung des Übersetzers: Das obenstehende Beispiel macht Sinn, da Netsplits von den bösen Jungs auf dem IRC gerne dazu benutzt werden, um illegal Ops auf einem Channel zu erlangen und diesen dann zu übernehmen. Dieses Verfahren nennt sich im IRC-Slang "Channeltakeover". Also ist es sinnvoll, Serverops von vornherein zu unterbinden. Wenn der Deop einen Freund trifft, kann man ihm immer noch
"von Hand" den Ops zurückgeben. Alles eine Frage der Sicherheit =) NOTIFY Event UNOTIFY Event Wird ausgelöst, wenn ein in der Notify-List aufgeführter Nickname den IRC betritt. Man kann dieses Event z.B. dazu verwenden, einen /whois auszuführen, sobald ein Nick gesichtet wird, um zu überprüfen, ob es auch tatsächlich der korrekte User ist. Denkt aber daran, daß der User per Nickname in der Remote-Userlist aufgeführt sein muß (wie bei OP, DEOP und SERVEROP). Das liegt an den IRC-Protokollen, die nicht die Adresse der gesichteten Person übermittelt, sondern nur den Nicknamen. Ihr müßt den Nicknamen in die Liste unter File/Options/Notify List einfügen und sobald mIRC die Person auf dem IRC sichtet, wird das Event ausgelöst. Das UNOTIFY Event wird ausgelöst, sobald mIRC registriert, daß der User den IRC verlassen hat, oder seinen Nicknamen geändert hat. Beispiele: on 1:NOTIFY:/notice $nick Wenn du tatsächlich $nick bist, dann komm nach #test! on 1:UNOTIFY:/echo $active $nick hat den IRC verlassen on 3:NOTIFY:/whois $nick on 5:NOTIFY:/beep 10 50 | /whois $nick MODE Event SERVERMODE Event Dieses Event reagiert auf Änderungen an den gegebenen Channelmodi.
Die MODE-Syntax hat sich geändert! Es werden keine Channelmodi mehr vorgeschrieben. $1- wird nun mit den Änderungen an den Modi belegt. Syntax und Beispiel: on1!:MODE:#name:/echo 6 Modusänderung von $nick auf Channel $chan! (Schützt Euch aber vor Endlosschleifen, wenn User unzulässige Modi erzwingen (Status-Flood)) USERMODE Event Dieses Event wird ausgelöst, wenn man den eigenen Usermodus ändert. Wenn man den eigenen Usermodus ändert, z.B. +i, dann wird es von diesem Event registriert und man kann automatisch darauf reagieren. VOICE Event DEVOICE Event Dieses Event reagiert auf die Modusänderung +v und -v (Erhalten und Entziehen der Sprecherlaubnis in einem Channel). Beispiele: on 1:VOICE:/notice $nick Du hast Sprecherlaubnis! on 1:DEVOICE:/notice $vnick Heyyy! Gib bitte $nick die Sprecherlaubnis zurück!! SNOTICE Event Dieses Event ist dazu gedacht, um auf Notizen des Servers zu reagieren. Server informieren einen über alles mögliche, was gerade auf dem IRC vor sich geht. Um sie zu empfangen, muß man sich selbst den Usermodus +s geben. (/mode #Nickname +s) Die meisten Leute werden diese Einstellung nicht brauchen. Sie ist eigentlich für IRCOps und Serverbetreuer gedacht. Mit diesem Event kann man die Notizen des Server aus den anderen herausfiltern und eine Reaktion oder das Anzeigen des
Textes verhindern. Die Syntax sieht so ziemlich wie die des Events TEXT aus: 1:SNOTICE:Text_des_Servers:/echo 6 status Der Server informierte gerade über $1FILESENT Event Wird angesprochen, wenn ein DCC-Datei-Transfer erfolgreich beendet wurde. Man kann es dazu verwenden, um sich selbst oder dem Dateiempfänger eine kleine Benachrichtigung zu senden. on 1:FILESENT:*.txt,*.ini:/echo $filename wurde soeben erfolgreich an $nick ( $+ $address $+ ) übermittelt on 1:FILESENT:mirc50s.exe:/notice $nick Viel Spaß mit mIRC 16bit! on 1:FILESENT:mirc50t.exe:/notice $nick Viel Spaß mit mIRC 32bit! FILERCVD Event Wird angesprochen, wenn eine Datei über DCC erfolgreich empfangen wurde. Es wird ausgelöst, sobald die Datei erfolgreich auf die Festplatte geschrieben wurde. Es kann einerseits dazu verwendet werden, um sich selbst oder dem Dateiempfänger eine kleine Benachrichtigung zu senden, oder aber auch, um eine Hilfsanwendung zu starten, die die entsprechende Datei anzeigt bzw. wiedergibt: on 1:FILERCVD:*.txt,*.ini:/run notepad.exe $filename on 1:FILERCVD:*.wav:/wavplay $filename on 1:FILERCVD:*.gif:/run c:\windows\wingif\wingif.exe $filename on 1:FILERCVD:*.jpg:/run c:\windows\lview\lviewp19.exe $filename
on 1:FILERCVD:*.mid,*.voc:/run wplany.exe $filename on 1:FILERCVD:*.*:/notice $nick Danke für die Datei! SENDFAIL Event GETFAIL Event Dieses Event reagiert wenn ein DCC-Transfer aufgrund einer verlorenen Verbindung oder einem Zeitüberlauf vorzeitig beendet wird. Beispiele: on 1:SENDFAIL:*.txt:/echo Übertragung von $filename an $nick gescheitert on 1:GETFAIL:*.txt:/echo Empfang der Datei $filename von $nick gescheitert CTCPREPLY Event Dieses Event achtet auf Antworten von CTCP-Befehlen: on 1:CTCPREPLY:PING*:/echo $active Antwort auf PING von $nick erhalten! on 1:CTCPREPLY:*mirc*:/echo $active Sieh mal an! $nick benutzt auch mIRC! MIDIEND Event Dieses Event wird ausgelöst, wenn die Wiedergabe einer MIDI-Datei beendet wurde (allerdings nicht, wenn sie durch einen anderen Request oder den Befehl /splay stop unterbrochen wurde) Beispiel: on 1:MIDIEND:/echo mIRC hat die Wiedergabe der MIDI-Datei beendet. INPUT Event Dieses Event reagiert, wenn in die Editbox Text eingegeben wird, und dann "Eingabe" gedrückt wird. Die Zeile kann dann in einem Script oder sonst wie bearbeitet werden.
on 1:INPUT:/echo Du hast die Zeile $1eingegeben! LOAD Event wird ausgelöst, wenn mIRC startet und Scripts geladen werden. START Event wird ausgelöst, sobald die Scripts geladen wurden und betriebsbereit sind on 1:LOAD:/echo Script erfolgreich geladen! on 1:START:/echo Script erfolgreich gestartet! dem LOAD Event kann man mIRC Befehle erteilen, wenn es die Scripts lädt. Um Initialisierungskommandos zu geben, die aktiv werden, wenn mIRC das erste mal gestartet wird (und die Scripts automatisch lädt) benutzt man das START Event. Wenn ein Script im RemoteDialogfeld geladen wird, dann werden die Auto-Run-Befehle allerdings erst ausgeführt, sobald das Feld geschlossen wird. Spezielle Identifiers für Remote-Events $nick $address, $site etc. sind alles Identifiers, die speziell für die Verwendung in den Remotes erstellt wurden. Man kann sie überall da verwenden, wo bestimmte Reaktionen auf Remote-Ereignisse erwünscht sind.
$nick
Der Nickname des Users, der ein Remote-Event ausgelöst oder einen Remote-Befehl gesendet hat
$address Die volle Adresse des Users, der den Befehl gesendet hat ([email protected])
Befehl gesendet ([email protected]) $site
hat
Die Adresse des Users, der das Event ausgelöst hat im Format adresse.de
Die Adresse des Users, der das Event $wildsite ausgelöst hat im Format *!*@adresse.de $level
Das Remote-Level des Users
$chan
Der Channel, in ausgelöst wurde
$target
Das Ziel des Events
dem
ein Event
7.3.4 Verschiedene Attribute (Flags) vor CTCP Befehlen und Events in Remote Scripts Wir kommen nun zu den verschiedenen Attributen (Flags) die man in der Remote-Sektion verwenden kann (vor Commands und Events). Der Umgang mit diesen Flags erfordert eine Menge Experimentierfreudigkeit; probiert aus, was sie tun und wann sie es tun. Schaut, ob sie tun was Ihr erwartet habt und bastelt viel herum! Das Flag ! (nur für die Events) Dieses Flag bewirkt, daß ein Event nicht reagiert, wenn Ihr selber der Auslöser dafür seid. mIRC reagiert dann auf kein Event, daß durch einen Client mit Eurer Adresse verursacht wird. (Ein ähnlicher Flag heißt "me". Er verhindert ebenfalls die Ausführung von bestimmten Events, die Ihr selber auslöst, allerdings wird die Adresse nicht berücksichtigt. Wenn Ihr also noch einen zweiten
Client mit der selben Adresse verwendet, so kann dieser das 'geflaggte' Event trotzdem auslösen.) Beispiel: on 1!:JOIN:#test:/notice $nick Willkommen im Channel $chan ! Dieser Eintrag wird nicht reagieren, wenn Ihr selber den Channel betretet, aber jeder andere User wird die Notiz bekommen. Das Flag = (nur für die Events) Dieses Flag verhindert, daß irgend etwas passiert. Es ist dazu gedacht, um User mit höheren Levels davor zu bewahren, von Aktionen genervt zu werden, die für Leute mit niedrigerem Level bestimmt sind. Beispiel: on 1:JOIN:#test:/ctcp $nick VERSION on 3:JOIN:#test:= User mit Level 1 oder 2 bekommen einen Version Request, User mit den Levels 3 oder höher nicht. Beispiel: on 1:JOIN:#test1:/notice $nick Willkommen im Channel #test1! on 1:JOIN:#test2:/notice $nick Willkommen im Channel #test2! on 3:JOIN:= Level 3 User werden nicht gegrüßt, Level 1 und 2 User nur auf den Channels #test1 und #test2. Das Flag + Dieses Flag macht ein Event nur für die User verfügbar, die das exakt übereinstimmende Userlevel haben. Höhere (und natürlich niedrigere) Userlevel haben dann keinen Zugriff. Beispiel: on 1:JOIN:#test:/ctcp $nick VERSION
on +3:JOIN:#test:/notice $nick Willkommen im Channel $chan ! Alle User außer Level 3 bekommen einen Version Request, wenn sie den Channel #test betreten. Level 3 User bekommen eine WillkommensNotiz. Die Flags ; und REM Diese Flags können dazu verwendet werden, um RemoteBefehle und -Events zeitweilig abzuschalten, indem man sie als Kommentare kennzeichnet: Beispiel: ;on 1:JOIN:#test:/notice $nick Willkommen! REM on 1:JOIN:#test:/notice $nick Willkommen! Die Flags * und @ Diese beiden Flags sind absolut gleich und bewirken, daß ein nachgestelltes Event nur dann ausgeführt wird, wenn man Operator Status in dem Channel hat, in dem das Event ausgelöst wurde. on *1:JOIN:#test:/notice $nick Willkommen in Channel #test on @10:JOIN:#test:/mode $chan +o $nick Das Flag me Dieses Flag wurde eingeführt um sicherzustellen, daß nur eine Person mit exakt der selben Adresse ein Event auslösen kann. Damit ist hauptsächlich eine zweite Version von mIRC auf dem selben PC gemeint. Denkt aber daran, daß dieses Flag eigentlich unnötig ist, wenn man sie Userlevel in der Remote-Userliste sorgfältig zugeordnet hat. Vergleichende Flags
In mIRC Version 3.7 wurde eine neue Sorte Flags für die Events vorgestellt. Mit diesen Flags kann man mIRC berücksichtigen lassen, welches Userlevel ein Event auslöst und auf welches Userlevel es einen Effekt hat. Diese Flags können nur mit den Events OP, DEOP und KICK verwendet werden, da dieses die einzigen sind, bei denen irgend jemand etwas mit einem anderen User tut. Die drei verfügbaren Flags sind >, < und =. Aber man kann sie auch zu mathematischen Kombinationen zusammenfügen. Das ergibt dann 6 verschiedene Möglichkeiten: <, >, <=, >=, <> und =. Diese Flags bewirken, daß das Event nur ausgelöst wird, wenn erstens das Level auf das des geopten, deopten oder gekickten Users paßt, und zweitens das Level des Auslösers die definierte Bedingung {LevelAktivator}[Flag](Mathematischer Ausdruck)]{Level des Events] erfüllt. Hmm... Ihr seht aus, als bräuchtet Ihr ein paar Beispiele!!! Nehmen wir mal an, Ihr seid die WACHE auf einem Channel mit einen Freund, der das Userlevel 2 hat und ein Aktivator mit verschiedenen Levels. Und dann seht Euch diese einfachen Beispiele an: on <2:DEOP:#test:/msg $chan Das Event < wurde ausgelöst on >=2:DEOP:#test:/msg $chan Das Event >= wurde ausgelöst Der Aktivator hat Userlevel 1: ***Aktivator sets mode: -o Freund <WACHE>Das Event < wurde ausgelöst. Euer Freund hat Level 2, der Aktivator Level 1, 1<2 trifft zu (eins ist kleiner als zwei), also wurde das erste Level 2-DEOP-Event ausgelöst.
Der Aktivator hat Userlevel 2 ***Aktivator sets mode: -o Freund <WACHE>Das Event >= wurde ausgelöst Euer Freund hat Userlevel 2, der Aktivator auch Level 2, 2<2 trifft nicht zu, 2>=2 ist trifft zu (zwei ist größer oder gleich zwei), also wird das zweite Level 2-DEOP-Event ausgelöst. Der Aktivator hat Userlevel 3 ***Aktivator sets mode: -o Freund <WACHE>Das Event >= wurde ausgelöst Euer Freund hat Userlevel 2, der Aktivator Level 3, 3<2 trifft nicht zu, 3>=2 ist trifft zu (drei ist größer oder gleich zwei), also wird das zweite Level 2-DEOP-Event ausgelöst. Wie Ihr seht ist es völlig logisch, wenn man es einmal die Systematik begriffen hat. Lest einfach weiter, bis der Groschen fällt... Mehr Beispiele: on <2:DEOP:#test:/msg $chan Das Event < wurde ausgelöst on >2:DEOP:#test:/msg $chan Das Event > wurde ausgelöst Der Aktivator hat Level 1 ***Aktivator sets mode: -o Freund <WACHE> Das Event < wurde ausgelöst Der Aktivator hat Level 2 ***Aktivator sets mode: -o Freund Der Aktivator hat Level 3 ***Aktivator sets mode: -o Freund <WACHE> Das Event > wurde ausgelöst on =2:DEOP:#test:/msg $chan Das Event = wurde ausgelöst Der Aktivator hat Level 1
***Aktivator sets mode: -o Freund Der Aktivator hat Level 2 ***Aktivator sets mode: -o Freund <WACHE> Das Event = wurde ausgelöst Der Aktivator hat Level 3 ***Aktivator sets mode: -o Freund 7.3.5 Variablen Wählt den Menüpunkt Tools/Remote und schaut in die Sektion "Variables"... In diesem Teil der Remotes könnt Ihr Eure eigenen Variablen definieren. Variablen können Zahlen, Worte, aber auch ganze Textzeilen enthalten. Wenn Variablen Zahlen enthalten, dann können sie mathematisch manipuliert werden, um ihren Wert zu erhöhen oder zu vermindern. Man kann sie untereinander aber auch mit gegebenen Zahlen addieren bzw. subtrahieren. Variablen beginnen immer mit einem % und können beliebig lange Namen haben. Die Werte der Variablen werden nach jeder Sitzung in einer Datei im mIRC-Verzeichnis gespeichert. Es stehen einige Befehle zur Verfügung, um Variablen zu erstellen, bzw. zu warten: (s=show, Anzeige eines Berichts der Operation im Status-Fenster) [-s] <%var> [Wert]Erstellt eine Variable /unset [-s] <%var> [%var2] ... [%varN]Löscht eine Variable /unsetall Löscht alle Variablen [-s] <%var> [Wert]Erhöht den Wert einer Variable um [Wert] - eine Zahle oder eine andere Variable
[-s] <%var> [Wert]Vermindert den Wert einer Variable um [Wert] - eine Zahle oder eine andere Variable Die Befehle /set, /unset, /inc und /dec sind standardmäßig so eingestellt, daß sie keine Bestätigung anzeigen, wenn man sie ausführt. Wenn man ein Info angezeigt haben möchten, dann kann man das Parameter -s anhängen: /set -s %x 1 Mit Hilfe dieser Befehle kann man jede Menge praktischer Remotes und Aliases erstellen. Hier eine Reihe von Beispielen: Remote Commands (siehe unten): ctcp 2:xdcc send #1:/dcc send $nick c:\temp\serve\mirc50s.exe | /inc %mirc16 1 ctcp 2:xdcc send #2:/dcc send $nick c:\temp\serve\mirc50t.exe | /inc %mirc32 1 ctcp 2:xdcc send #3:/dcc send $nick c:\temp\serve\mircfq31.zip | /inc %faq 1 ctcp 1:stats:/notice $nick Sending stats: mIRC= %mirc and FAQ= %faq Remote Events (siehe unten): on 2:TEXT:xdcc send #1*:?:/dcc send $nick c:\temp\serve\mirc50s.exe | /inc %mirc16 1 on 2:TEXT:xdcc send #1*:?:/dcc send $nick c:\temp\serve\mirc50t.exe | /inc %mirc32 1 on 2:TEXT:xdcc send #2*:?:/dcc send $nick c:\temp\serve\mircfq31.zip | /inc %faq 1 Alias : /stats /echo 6 mIRC16: %mirc16 mIRC32: %mirc32 und FAQ: %faq Mit diesen paar Zeilen habe ich einen kleinen DownloadCounter erstellt. Nicht perfekt, aber er funktioniert.
Man kann sogar Aliases wie die nächsten erstellen um Statistiken anzulegen: /reset /set %datum $day $datum | /inc %mirc16tot %mirc16 | /inc %mirc32tot %mirc32 | /inc %faqtot %faq | /set %mirc16 0 |set %mirc32 0 | /set %faq 0 /stats /echo 6 Stats mIRC16: %mirc16 ( %mirc16tot ) mIRC32: %mirc32 ( %mirc32tot ) und FAQ: %faq ( %faqtot ) (Gestartet am %datum ) Wenn man versucht, den Wert einer nicht existierenden Variable zu erhöhen oder zu vermindern, dann wird diese automatisch angelegt, und mit dem Wert versehen, den Ihr festgelegt habt: /inc %test1 6 wird %test1 den Wert 6 zuweisen, wenn sie noch nicht existiert hat /dec %test2 7 wird %test2 den Wert -7 zuweisen, wenn sie noch nicht existiert hat Anmerkung: Versichert Euch, daß jede Variable mit % beginnt! Es ist eine Maßnahme, um vielen kleinen Problemen in mIRCs Befehlsbearbeitung vorzubeugen! Das schränkt allerdings die Benutzung von Variablen ein, da man immer noch mit solchen Konstruktionen arbeiten kann: ctcp 1:upme:/inc % $+ $site 1 ctcp 2:xdcc send #1:/dcc send $nick c:\temp\serve\mirc50s.exe | /inc % $+ $nick 1 ctcp 2:xdcc send #2:/dcc send $nick c:\temp\serve\mirc50t.exe | /inc % $+ $nick 1 ctcp 2:xdcc send #3:/dcc send $nick c:\temp\serve\mircfq31.exe | /inc % $+ $nick 1 ctcp 2:xdcc stats:/notice $nick Du hast seit $datum %nick Dateien downgeloadet Man kann auch Gleichheitszeichen verwendet, um Variablen bestimmte Werte zuzuweisen:
%x = 5 + 1 %x = 5 - %y %x = %x * 2 %x = %z / $2 %x = %x % 3 7.3.6 Remote Scripts - numerische Server-Mitteilungen (Raw Processing) In der Sektion Tools/Remote eröffnet mIRC unter anderem auch die Möglichkeit, alle Server>Client-Vorgänge direkt zu und in jeder gewünschten Weise zu bearbeiten. Das funktioniert exakt wie die Remote-Events außer, daß mIRC auf numerische Ereignisse achtet. Die numerischen Servermitteilungen findet Ihr in der IRC RFC 1459 (http://ds.internic.net/rfc/rfc1459.txt). mIRCspezifischere Informationen findet Ihr auf http://www.teleport.com/~jeepster/numeric.html. Raw Scripts verwendet man allerdings am besten nur, wenn man genau weiß, was man tut, und wenn es sich überhaupt nicht verhindern läßt! Falscher Gebrauch von Raw-Scripts kann mIRCs Funktionen stark beschädigen. Er kann alle in mIRC festgelegten Standards überbrücken. Beispiel: raw 322:*mirc*:/echo 2 $1Dies würde alle Zeilen mit dem enthaltenen Wort mIRC bei einem Channel-List-Befehl ausgeben. (Ein ziemlich ruppiger Test)
Um einen kurzes zweizeiliges /whois-Info im aktiven Fenster anzuzeigen, setzt die folgenden Zeilen in die Raw-Sektion ("Listening" aktivieren): raw 311:*:echo 5 $active *** $2raw 319:*:echo 5 $active *** $2Dies wird die User- und Channel-Zeile anzeigen. Die Nummern für die anderen Informationen sind: 312: Server 313:
IRCOp
301:
away
317:
Idle
318: Ende Um ein volles /whois-info zu bekommen, verwendet das obige Beispiel und setzt die genannten Zahlen ein. Um die Numerics der Server herauszufinden, benutzt den neuen Identifier $numeric, der die Nummer des (Raw)Events enthält, daß gerade ausgelöst wurde. In der IRC RFC1459, Abschnitt 6; Numeric Replies könnt Ihr alle verwendeten Numerischen Ereignisse, deren Nummer und Antwortstring nachschauen.
7.4 Fortgeschrittener Umgang mit Befehlen; Mehrzeilen-Befehle In mIRC könnt Ihr Befehle verwenden, Aliase, Popups und Remote-Scripts mit bewertenden Optionen, Schleifen und anderen trickigen Dingen erstellen. ich fürchte, dies alles zu erklären, würde eine zweite FAQ erfordern aber
ich werde versuchen, eine kleine Einleitung mit ein paar Beispielen zu geben. Am besten, man versucht es einfach! (Anmerkung des Übersetzers: ab dieser Stelle werde ich die Textinhalte der Beispiele nicht mehr mitübersetzen. Sie sind so knapp gehalten, daß Ihr eigentlich auch so drauf kommen könnt.) mIRC erlaubt Mehrzeilen-Aliase, -Popups und ScriptDefinitionen. Dies erlaubt eine schön übersichtliche Darstellungsweise: { /Befehl1... /Befehl2... /Befehl3... } Beispiel: /away /ame is AWAY ( $+ $?="Reason" $+ ) | /away Set away at $time { $+ $! $+ } /back /ame is back,.. what did I miss ? | /away Diese Aliase könnten allerdings auch so dargestellt werden: /away { /ame is AWAY ( $+ $?="Reason" $+ ) /away Set away at $time { $+ $! $+ } } /back { /ame is back,.. what did I miss ? /away
} Ich geben zu, das ist in diesem Fall nicht besonders nützlich, aber wenn Ihr anfangt, mit den neuen Möglichkeiten der vergleichenden und bewertenden Befehle von mIRC zu arbeiten, dann findet Ihr diese Darstellungsweise bestimmt besser, oder? Die geschwungenen Klammern {} um alle Befehle, die die neuen Möglichkeiten von Konditionalschleifen nutzen, sind notwendig. Jetzt sind wir auch an dem Punkt, an dem Ihr das Befehlspräfix / weglassen könnt, wenn ihr wollt. Es wird nicht mehr benötigt. Ein /goto Befehl wurde hinzugefügt, der in {}Definitionen verwendet werden kann. Beispiel: /greet { /set %x 0 :retry /inc %x /goto %x :2 /echo line2 /halt :1
/echo line1 /goto retry } Dieses Alias wird die Zeilen "line1" und "line2" auf eurem Schirm ausgeben. Testet es, indem Ihr diesen völlig gleichwertigen Befehl in irgendeine Editbox eingebt: /set %x 0 | :retry | inc %x | goto %x | :2 | echo line2 | halt | :1 | echo line1 | goto retry Das zeigt euch exakt, was passiert ;-) Ihr könnt auch eine Variable als goto-Name verwenden: :%jumppoint Wenn Ihr %jumppoint den Wert 5 zuweist (/set %jumppoint 5), dann kann diese mit /goto 5 angesteuert werden. Im oberen Beispiel waren die Jumppoints, also die Abschnittskennzeichnungen die vom /goto-Befehl angesteuert wurden mit "1" und "2" festgelegt. Probiert mal die nächsten drei Befehle aus, und schaut, was passiert: /set %jump1 1 /set %jump2 2 /set %x 0 | :retry | inc %x | goto %x | :%jump2 | echo line2 | halt | :%jump1 | echo line1 | goto retry
Mit dem /return-Befehl kann man die Bearbeitung eines Befehls beenden, und zu einer etwaigen Standardprozedur zurückkehren: on 1:JOIN:#mIRC { /echo 3 #mirc [Joins $nick] /return /echo 3 #mirc Diese Zeile wird nicht mehr ausgegeben! } Daraus ergibt sich dann folgendes: [Joins henk] *** henk ([email protected]) has joined #mIRC Vorsicht Achtet darauf, daß Ihr euch nicht in unvollständigen Klammerdefinitionen verliert (z.B. eine geöffnete Klammer nicht zu schließen ). mIRC kann sich dann sehr merkwürdig verhalten!! Arbeitet sorgfältig! Ein spezieller Check-Button ist in den Editor für die Aliase, Popups ind Remotes eingebaut worden, der die Anzahl der geöffneten und geschlossenen Klammern überprüft. Es ist der Knopf mit dem Bild "{}" darauf. /if /elseif /else Ich denke, Ihr seid jetzt bereit für den richtig interessanten Stoff! mIRC bietet eine einfache If-ThenElse-Schleife: /if v1 Operator v2 { ... } | /elseif v1 Operator v2 { ... } | /else { ... }
Beispiel: Erstellt dieses Alias und startet es z.B. mit /test 4 /test { set %i 0 | :start | inc %i | if %i > $1 halt | echo $active %i | goto start } If-Then-Else-Schleifen können auch ineinandergeschachtelt werden. Ihr solltet entweder {} oder () Klammern verwenden, um ganz sicherzugehen, daß die Bedingungen in der richtigen Reihenfolge bearbeitet werden, obwohl man es eigentlich nicht *muß*. Die Verwendung von Klammern beschleunigt auch die Bearbeitung ein bißchen, da mIRC dann genau weiß, was es bewerten muß. Hier sind die verfügbaren Vergleiche und Operatoren:
==
gleich
!=
ungleich
<
kleiner als
>
größer als
>=
größer oder gleich
<=
kleiner oder gleich
//
ist ein Vielfaches von
\\
ist kein Vielfaches von
isin
String v1 ist in String v2 enthalten
iswm
String 1 mit Sternchen v1 paßt auf String v2
ison
Nickname v1 ist auf Channel v2
isop
Nickname v1 ist Ops auf Channel v2
isvo
User v1 hat Srecherlaubnis auf Channel v2
isnum
Zahl v1 ist eine Zahl im Bereich von v2 mit dem Format n1-n2 (v2 ist optional)
ischan
ob v1 mit Euch auf demselben Channel ist
isauto
ob v1 ein User in Eurer AutoOp-Liste für Channel v2 ist
isignore
ob v1 ein User in Eurer Ignore-liste mit den Parametern v2 ist (v2 ist optional)
isprotect
ob v1 ein User in Eurer Protect-liste für den Channel v2 ist (v2 ist optional)
isnotify ob v1 ein User in Eurer Notify-Liste ist
Um die oberen Operatoren umzukehren, kann man ein ! Ausrufezeichen voranstellen. /if $nick !ison #mIRC { /echo $nick is NOT on #mIRC } Beispiel: /massinvite { echo 4 * Massinviting # | set %i $nick(#,0) | :next | if $nick(#,%i) != $me invite $nick(#,%i) $1 | dec %i | if %i > 1 goto next | echo 4 * Mass-invite # done }
Verwendet dieses Alias so: "/massinvite #euerchannel". Massinvites sind allerdings sehr unhöflich Beispiel: /randnopkick { :begin | set %kicknick $nick(#,$r(1,$nick(#,0))) | if %kicknick isop # goto begin | /echo 6 %kicknick } Wenn Ihr ein Op auf einem Channel seid, dann mögt Ihr vielleicht diesen Nicht-Ops-Zufallskick. Es kickt eine Zufallsperson aus Eurem Channel, jedoch nie einen Ops. (Anmerkung des Übersetzers: Was ich jedoch enorm unhöflich finde!!). Wenn allerdings nur Opse anwesend sind, dann habt Ihr ein Problem ;-) Beispiel: /line { %line = "" | if $asc($1) < $asc($2) { set %i $asc($1) | :add | %line = %line $chr(%i) | inc %i | if %i <= $asc($2) { goto add } | if (%line == "") { halt } | else { echo # %line | halt } } else echo # sorry not valid } Startet dieses Alias z.B. mit "/line d k" und schaut, was es tut. Es wird dann folgende Zeile ausgeben: "d e f g h i j k". Das ist nicht viel und obendrein ziemlich nutzlos, aber es demonstriert doch sehr gut, was man mit If-Then-ElseSchleifen alles machen kann. Beispiel:
/printnum1 { if $len($1) = 1 { if $1 !isin 1234567890 { echo 6 $1 is not a number | goto end } } | elseif $len($1) = 2 { if $mid(1,1,$1) !isin 1234567890 { echo 6 $mid(1,1,$1) is not a number | goto end } | elseif $mid(2,1,$1) !isin 1234567890 { echo 6 $mid(2,1,$1) is not a number | goto end } } | elseif $len($1) > 2 { echo 6 $1 has too many chars | goto end } | { set %x 1 | :begin | echo 6 %x | if %x >= $1 { goto end } | else { inc %x | goto begin } | :end } } /printnum2 { if $1 !isnum { echo 6 $1 is not a number | goto end } | elseif $1 !isnum 0-99 { echo 6 $1 is a too large number | goto end } | { set %x 1 | :begin | echo 6 %x | if %x >= $1 { goto end } | else { inc %x | goto begin } | :end } } Diese Aliases tun exakt das selbe. Sie listen beide die Zahlen bis zu einem bestimmten vom Benutzer definierten Wert auf. Versucht es mit "/printnum1 14". Das zweite Alias zeigt, wie man mit korrektem Gebrauchvon Identifiers die Länge eines Alias anorm verkürzen kann. Leere oder ungültige Identifiers Variablen oder Identifiers, die keinen Wert enthalten, erwidern $null, können also auch zu vergleichenden Definitionen herangezogen werden. Beispiel:
/listops { echo 4 * Listing Ops on # | set %i 1 | :next | set %nick $nick(%i,#) | if %nick == $null { goto done } | if %nick isop # { echo 3 %nick is an Op on # } | inc %i | goto next | :done | echo 4 * End of Ops list } Dieses Alias wird alle Opse des Channels aufzählen, in dem es ausgelöst wurde. Oder in einem Remote-Event: on 1:CTCPREPLY:PING* { if ($2 == $null) echo [ $+ $nick PING reply] else { %pt = $ctime - $2 if (%pt < 0) set %pt 0 echo [ $+ $nick PING reply] %pt seconds } halt }
Andere PopUp-Beispiele
GiveOps { %i = 0 | %nicks = "" | :nextnick | inc %i | if ($snick(#,%i) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt } | %nicks = %nicks $snick(#,%i) | if (4 // %i) { mode # +oooo %nicks | %nicks = "" } | goto nextnick } Dieses Popup in der Menüleiste wird alle ausgewählten Nicknamen auf einem Channel open, in dem Ihr selber Ops seid.
Selkick:/kick # $token($r(1,$snick(#,0)),44,$snick s) Dieses Popup wird nach dem Zufallsprinzip einen von mehreren ausgewählten Usern kicken.
RandNopkick:/kick # $nopnick(#,$r(1,$nopnick(#,0))) Kickt zufällig einen Nicht-Ops aus dem Channel, in dem Ihr Euch befindet
RandNopkick { :begin | /set %kicknick $nick(#,$r(1,$nick(#,0))) | if %kicknick isop # goto begin | /kick # %kicknick } Kickt ebenfalls zufällig einen Nicht-Ops aus dem Channel, in dem Ihr Euch befindet
Randkick:/kick $nick(#,$r(1,$nick(#,0)))
#
Machen Kicks nicht Spaß??? Hier noch einer... Dieser kickt völlig zufällig irgendeinen User unter Umständen auch sich selbst!
RandOpkick:/kick $opnick(#,$r(1,$opnick(#,0)))
#
Kickt zufällig irgendeinen Ops... die können sich wenigstens wehren!! >=) Endlosschleifen Ich sehe es schon kommen. Irgendwann werdet Ihr Euch mal in einer Endlosschleife verlieren. Ein einfaches Beispiel dafür ist: /loop { :start | echo 6 # test loop | goto start }
Wenn Euch so etwas passiert, dann rettet Euch die Tastenkombination Strg+Pause. Sie stoppt die Bearbeitung.
Benutzerdefinierte Fenster In mIRC 5.0 wurde ein neues Tool hinzugefügt, mit dem man selbst Fenster nach eigenem Belieben erstellen kann. Mit diesem Fenster-Erstellungs/Manipulations-Tool kann man zum Beispiel ein Fenster schaffen, in dem man nachschauen kann, was das eigene Script gerade tut. Ein benutzerdefiniertes Fenster wird mit dem /windowBefehl erstellt. Es kann mit vielen Parametern festgelegt werden, was für eine Art Fenster mIRC schafft, wo es sich befindet und was es enthalten soll. /window [-abcdelnorsx] @name [x y [w h]] [/Befehl] [popup.txt] [Schriftart [Größe]] Einstellungen: a Fenster aktivieren b Breite der horizontalen Bildaufleiste für die Listenbox auf den neuesten Stand bringen c Fenster schließen (close) d als Desktop-Fenster öffnen e Editbox l Listenbox n Fenster minimieren o wenn das Fenster sich auf dem Desktop befindet, dann immer im Vordergrund behalten r Fenster wiederherstellen (restore) s eine sortierte Liste verwenden x Fenster maximieren
@name Name des Fensters (ein @ muß vorangestellt werden) x,y,w,h obere Linke Position, Breite und Höhe des Fensters popup.txt Datei für die fensterspezifischen Kontextmenüs /Befehl Standartbefehl Schriftart/ Schriftart und Größe für das Fenster festlegen. Standardmäßig werden die Einstellungen des Statusfensters genommen. Größe Man kann den /window-Befehl auch verwenden, um die obenstehenden Einstellugen für ein existierendes Fenster zu manipulieren. Die folgenden Befehle stehen für die Veränderung von Zeilen zur Verfügung: /aline [-cN] @name Text Zeile zur Liste hinzufügen /dline @name N Nte Zeile löschen /iline [-cN] @name Text Zeile nach der Nten Zeile einfügen /rline [-cN] @name Text Nte Zeile ersetzen /sline @name N Nte Zeile auswählen -cN definiert die Farbe der Zeile Man kann den $window(N/@name)-Identifier verwenden, um auf die folgenden Fenster-Informationen zuzugreifen: $window(N).x links $window(N).y oben $window(N).w Breite $window(N).h Höhe $window(N).state minimiert/maximiert/normal Um direkt auf Zeilen in benutzerdefinierten Fenstern zuzugreifen können folgende verwendet werden: $line(@name,N) Erwidert die Nte Zeilge
$sline(@name,N) Erwidert die Nte ausgewählte Zeile (nur für Listenboxen) $sline(@name,N).ln Erwidert die Zeilennummer des ausgewählten Listengegestandes Dieses neue Tool bietet eine Menge Spielraum für kreative Zwecke, man muß aber ein bißchen herumtüfteln, um genau zu verstehen, wie es funktoniert. Viel Spaß! Copyrights - Diese FAQ dürfen veröffentlicht und verteilt werden, solange es kostenlos geschieht. Es ist nicht erlaubt, in der Datei etwas zu verändern, oder jegliches Entgeld für die Dienstleistung zu verlangen. Wenn nur Passagen verwendet werden, muss jedesmal mein Name und die Quelle der Informationen ersichtlich sein. Copyright © 1995 1997 Tjerk Vonck [email protected] Übersetzung aus dem Englischen von Sebastian Morawietz [email protected] http://privat.schlund.de/cenobyte/