Geschrieben von deaz am 09.05.2006, 09:26

Hallo und herzlich Willkommen auf diesem kleinen Tutorial über erweitertes mIRC scripten.
Hier werde ich auch zeigen und erklären wie z.B. ein anti overtake Script aussieht um euren
Channel vor bösen Menschen zu schützen.

Angefangen mit dem häufigsten Event - Das Kicken:
Dies ist ein Event auf das der Bot agiert, sobald ein User aus einem Channel gekickt wurde.
(Zeilen mit einem "\\" sind auskommentiert, was bedeutet das sie euch erklären sollen, was gerade geschieht.
Angefangen also mit:

on *:kick:#:{
\\Bot reagiert auf einen kick in jedem Channel
if ($nick == $me || $ulevel($address,2) > 3) { halt }
\\Wenn "Ich(Der Bot)" oder ein User mit dem Level 4(Im unteren Teil beschrieben) \\oder höher kickt: Nichts tun!
else kick # $nick Du darfst nicht kicken! }
}
\\ Andernfalls kickt er den User mit der Kickmessage: "Du darfst nicht kicken!" \\(# steht für $chan)

Zusammen:

on *:kick:#:{
if ($nick == $me || $ulevel($address,2) > 3) { halt }
else kick # $nick Du darfst nicht kicken! }
}

Um die Sache ein bisschen zu verfeinern sollte man auch davon ausgehen, dass man nicht nur andere
User, sondern auch den Bot selbst kickt. Und da er dann ja nicht mehr in der Lage ist zu kicken
schreibt mal folgendes in einem neuen Script (Neue Seite eröffnen "File -> New")

on *:Kick:#:{
\\ Das selbe wie oben
if ($nick == $me || $ulevel($address,2) > 3) { halt }
\\ Das selbe wie oben
if ($knick == $me) {
\\ Wenn der gekickte User der Bot ist ($knick = Der gekickte User)
.timer 1 2 msg l,q unbanall # | msg l,q invite # | msg l,q deopall #
\\ Nach einer Zeit von 2 Sekunden enfernt der Bot jeden Ban, Lädt sich selbst in \\ den Channel
\\ ein und nimmt gleichzeitig allen Usern Ihre Op-Rechte. Der Timer wird deshalb \\ gesetzt
\\ da der Bot nicht alle Befehle unmittelbar nach dem Kick(ban) ausführen kann.
.timer 1 3 join #
\\ Nach 3 Sekunden joint er den Channel wieder. 3 Sekunden deshalb, da die \\ Befehle vor dem
\\ Join ausgeführt werden müssen.
.timer 1 4 ban -k # $nick Du darfst mich nicht kicken.
\\ Nachdem er wieder gejoint ist, kickbannt der Bot die Person, die ihn gekickt \\ hat. "ban -k"
\\ steht für einen ban mit einem "kick"-Parameter dahinter. Auf umständlichen Wege könnte man
\\ auch mode # +b $address($nick,2) und danach kick # $nick Du darfst mich nicht \\ kicken! schreiben.

Zusammen:

on *:Kick:#:{
if ($nick == $me || $ulevel($address,2) > 3) { halt }
if ($knick == $me) {
.timer 1 2 msg l,q unbanall # | msg l,q invite # | msg l,q deopall #
.timer 1 3 join #
.timer 1 4 ban -k # $nick Du darfst mich nicht kicken.
}
}

Dies ist ein simples Script was noch mit allerlei Feinheiten verbessert werden kann.
Nun seid ihr dran: Bastelt euch mit genau diesen Grundlagen Scripts gegen DEOP,OP,BAN

Legende: Userlevel ($ulevel) - Eine Datenbank des Bot's wo ihr euch als "Meister" eintragen könnt.
Dies ist möglich indem ihr mit ALT+R Die Remote-Konsole öffnet und unter "User" schaut. Wenn ihr
euch also als Kick-Meister in meinem Script eintragen wollt, schreibt in die "Users-Datenbank"
4:*!*@eurehost
Kick - Ein Kick-Event auf das der Bot reagiert.
$nick - Der User der ein Event ausgelöst hat.
$me - Man selber
.timer - Eine Zeitverzögerung bis zu einer Handlung. Timer 1 2 = 2 Sekunden Verzögerung
wobei die erste Zahl die Anzahl angibt, wioft diese Aktion ausgeführt werden soll.
ban - Macht es einem User Unmöglich einem Channel zu joinen.
$address - Die jeweilige Host des "Adressierten"

Bei weiteren Fragen zum Scripting oder Test's zu euren Bots, bzw. zu meinem eigenem bin ich in
#clansuche.wc3 oder #unplayable [Qnet] zu erreichen.

Copyright by deaz

Bewertung Anzahl