Handy finden
webdesigner

NAVIGATION

Startseite
Themen-Suche
IRCFAQ Chat
Kontakt
Impressum

SCHNELLSUCHE

Suchbegriffe

IRC VERSTEHEN

Was ist IRC?
Wie funktioniert IRC?
Erste Schritte
Häufig gestellte Fragen
IRC-Begriffe

BEFEHLE

Befehle für User
Befehle für Operators
Nickserv Befehle
Chanserv Befehle

Linktipps


SCRIPTING

mIRC Scripting

IRC FUN

IRC Fun-logs

DOWNLOADS

mIRC & Co
mIRC Scripte

SURFTIPPS

Top IRC Links
Link auf IRCFAQ

Get Firefox!




mIRC Scripting

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 <neuer Nickname>

$readini [-n|#]<Dateiname.txt> 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]<ini-Datei><Abschnitt><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 .ini-Datei 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 auf Eurem PC
$away Sagt euch, ob Ihr gerade als abwesend 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 ctime-Wert im Text-Datumsformat
$day Der gegenwärtige Tag
$date 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.
$duration (Sekunden)Übersetzt Zahlen wie 123456 in 1Day 10hrs 17mins 36 secs.
$logdir, $getdir, $wavedir, $script, $mircdir, $mididir und $scriptdir Erwidert die entsprechenden Verzeichnisnamen
$mircini Erwidert den Verzeichnis- und Dateinamen der ini-Datei, 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)
$findfile(Verzeichn.,Dateiname,N) Durchsucht das angegebene Verzeichnis nach der Nten spezifizierten Datei
$ddename Der DDE-Servicename, 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 ASCII-Wert 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 die Position von Unterstring in String:
/pos /say $pos(Cenobit,bit)
"/pos" würde in diesem Falle 5 ergeben da "bit" ab fünfter Position beginnt

$replace(String, Unterstring, Austauschtext) 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
$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.
$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 Ascii-Nummer 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.
$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 Remote-Eintrag 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.
$maddress(address) Erwidert eine passende Adresse aus der Remote Userliste.
$level(Adresse) Sucht die passende Adresse in der Remote Users Liste und erwidert deren Level
$ulevel Erwidert das passende Remote-Userlevel des ausgelösten Events
$clevel Erwidert das passende Remote-Commandlevel für ein bestimmtes Event
$dlevel Erwidert das Standart-Userlevel (Default-Userlevel)
$mask(Adresse,Typ) Erwidert die Adresse anhand eines bestimmten "mask-Typs"

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, .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 Channel-Modi. $chan(N,#) erwidert den Namen, ferner gibt es .topic, .mode, .key, .limit
$chat(N|Nick .ip, .status (enthält active, waiting oder inactive)
$fserv(N|Nick).ip, .status, .cd (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.
$group(Name)


Benutzerdefinierte Identifiers. (Abschnitt wurde ursprünglich von LiOnheart geschrieben)

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.


Begriffe aus dem EDV Bereich - Hier werden sie erklärt

Tutorial Übersicht

[1.0] Die Aliases-Sektion
[1.1] Aliases erstellen
[1.2] String Definitionen
[1.3] Identifiers

[2.0] Die PopUps-Sektion (Kontextmenüs)

[3.0] Die Remote Sektion
[3.1] Die Remote User-Liste
[3.2] Remote Scripts - CTCP Befehle
[3.3] Remote Scripts - Ereignisse (Events)
[3.4] Verschiedene Attribute vor CTCP Befehlen und Events
[3.5] Variablen
[3.6] Remote Scripts - numerische Server-Mitteilungen (Raw Processing)

[4.0] Fortgeschrittener Umgang mit Befehlen; Mehrzeilen-Befehle
[5.0] Copyright - rechtliche Hinweise





PARTNER

 

Handy finden

Irc Mania

Computerlexikon



Pagerank ohne Toolbar
Pagerank Echtheitsüberprüfung

Community | Webdesign | kostenlos flirten | EDV Lexikon | Sex Lexikon | handy | Grusskarten