Anzeige:
Anzeige:
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Spezial Remote Raw & CTCP

Diese beiden Remote sind nicht ganz so Leicht zu handhaben wie die "normalen" Remote. Gerade die für die Raw braucht man einige Erfahrung. Dafür lässt sich damit das komplette mIRC umgestalten. Mit den CTCP liessen sich spezielle Funktionen in ein eigenes Script einbauen, ähnlich wie mit dem Befehl /signal. Nur das die CTCP zwischen zwei Usern ablaufen während /signal Server weit triggert. Schauen wir uns jetzt mal diese beiden Remote genauer an.

 

Spezial Remote CTCP

Die CTCP-Remote arbeiten ähnlich wie die alle anderen Remote auch, nur das sie mit "ctcp" statt mit "on" beginnen. Ausserdem werden diese Remote grundsätzlich von einem anderen User ausgelöst und nicht vom Server. Die bekanntesten CTCP sind wohl PING, VERSION und FINGER. Wir werden hier zu Übungszwecken ein Script zu dem CTCP FINGER schreiben. Wenn also ein User folgendes eingibt: /ctcp DEIN_NICK finger erhält er als Antwort dein Namen, deine Emailadresse und deine Idlezeit. Mit dem folgenden Script werden wir diese ausgabe für alle User mit Level 1 ändern.

ctcp 1:FINGER:*:{ haltdef ctcpreply $nick FINGER Finger nicht an mir herum, sonst gibt es Ärger ;o) }

Das einleitende Wort wurde ja bereits oben erklärt. Die "1" steht für den Level des User, es wäre also auch denkbar an User mit höheren Level eine andere meldung auszugeben. Das Wort "FINGER" ist der Matchtext, somit können beliebig weiter CTCP's geschrieben werden. Danach ist wieder der Ort (Raum = #, Query = ?, Beides = *) angegeben wo das Event ausgelöst werden kann. Durch das Wort haltdef wird die Standard ausgabe unterdrückt. Dann wird die Notice an den auslösenden User ausgegeben. Wie du also siehst sind die CTCP's garnicht so besonders, ausser vielleicht das einleitende Wort. Es sei noch angemerkt das der VERSION Standard-Reply nicht einfach unterdrückt werden kann.

 

Spezial Remote RAW

Jeder der schon mal im Chat war ist bewusst oder unbewusst mit Raws in Berührung gekommen. Dieses sind Meldungen die der Server an den User versendet. Als Beispiel hier soll uns der "/whois" Befehl des IRC dienen. Wenn ein User eine /whois Anfrage an den Server stellt antwortet dieser mit verschiedenen Rawmeldungen. Es folgt jetzt ein kleines Script was diese Meldung mit den einzelnen Rawnummern in einem Fenster sichtbar macht.

raw *:*:{ window @RAWS echo @RAWS $numeric $1- }

Wie man sehen kann beginnen RAW-Remote nicht mit dem Wort "on" sondern mit "raw". Die zweite Zeile öffnet ein sogenanntes Userfenster mit den standard Einstellungen. In der dritten Zeile wird jede eingehende RAW-Meldung über den "echo" Befehl in das Userfenster ausgegeben. Hierbei sorgt der Identifer "$numeric" für die Nummer der Meldung und der Identifer "$1-" für den Text.

Nach dem du das Script in den Remotebereich des mIRC eingetragen hast wollen wir das Script einmal testen. Für dieses Beispiel ist mein Nick "Scripter123", wenn du den gleichen Nick benutzt sollten die Meldungen identisch aussehen. Gib jetzt die folgende Zeile in dein Statusfenster ein: /whois tester007. Vorrausgesetzt es gibt keinen User im Netz der den Nicknamen "tester007" benutzt, erhälst du folgende Meldungen: 
401 Scripter123 tester007 No such nick/channel 
318 Scripter123 tester007 End of /WHOIS list. 
So wie hier erscheinen die Meldungen nur in dem Userfenster nicht im Statusfenster des mIRC.

Die erste Meldung hat die Nummer 401. Diese Nummer müssten wir angeben wenn wir die Meldung abfangen und ein Script dazu ausführen wollten (Beispeil folgt im nächsten Absatz). Jetzt folgt der Text der Meldung. Als erstes der Nickname des Empfängers. Danach der Nickname der mit dem "/whois" abgefragt wurde. Dann der eigentliche Inhalt (Aussage) dieser Meldung. Die zweite Meldung ist vom Aufbau her gleich, nur das Sie eine andere Nummer hat und anderen Inhalt.

 

Raw im Einsatz

Nun wollen wir mal eine spezielle Meldung abfangen und in anderer Form ausgeben. Dazu schreiben wir ein Script das die Meldung mit der Rawnummer 401 verändert.

raw 401:*:{ haltdef echo -s FEHLER: $2 ist kein gültige Raum- oder Nickname! }

Das Wort raw und die Nummer sollten klar sein, doch was heisst das zweite Sternchen. Dieses Ersatzzeichen steht für einen Matchtext. In unserem Beispiel macht es wenig Sinn einen Matchtext anzugeben deshalb das Sternchen. Mit dem Befehl /haltdef wird die Standardausgabe des mIRC unterdrückt. Danach folgt die selbstdefinierte Fehlermeldung die im Statusfenster ausgegeben wird. Eines sei noch erwähnt, damit das Script einwandfrei funktioniert muss es vor dem oben angeführten Script im Editor stehen. Da sonst nur das obere Script ausgführt wird, weil es ja alle Raws abfängt, da es mit Sternchen statt einer speziellen Rawnummer arbeitet. Mit dem oberen Script was dir alle Rawnummern zeigt und dem wissen dieser Seite, sollte es dir möglich sein dein mIRC gründlich umzugestalten. Das Ganze erfordert allerdings ein wenig Übung und Erfahrung also lass dich nicht von Fehlschlägen entmutigen.