| 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 Willkommens-Notiz.
Die Flags ; und REM
Diese Flags können dazu verwendet werden, um Remote-Befehle
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 {Level-Aktivator}[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
|