;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; 5D.mrc • copyright © 1999 s4ndm4n ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;5D is an IRCX enhanced socket bot for mIRC v5.51+ ;to load 5D, type /5D in any window then follow the directions on *:load:echo -es 12L» 145D.mrc 15• 14copyright © 1999 s4ndm4n alias 5D { window -aekl7 +l @5D 0 0 250 150 verdana 9 background @5D $mircdir5D.bmp aline @5D 155D v1.01a by s4ndm4n aline @5D 1,1. aline @5D 12connect: 14/srv irc.msn.com aline @5D 12join: 14/jn #channel } alias srv { %5D.srv = $1 if ($2) %5D.prt = $2 else %5D.prt = 6667 sockclose 5D sockopen 5D %5D.srv %5D.prt aline @5D 12c» 14connecting... } alias jn sockwrite -nt 5D join $1- alias rkey return $r(a,z) $+ $r(0,9) $+ $r(A,Z) $+ $r(a,z) $+ $r(a,z) $+ $r(A,Z) $+ $r(0,9) $+ $r(0,9) $+ $r(a,z) menu @5D { $iif($mouse.win == $null,part):sockwrite -nt 5D part $sline(@5D,1) $iif($mouse.win,about):aline @5D 5D © 1999 s4ndm4n - $iif($mouse.win,shutdown): { unset %5D.* sockclose 5D window -c @5D } } on *:sockopen:5D: { if ($sockerr) echo 9 -s SOCKERR!!! ON SOCKOPEN!!!!! sockwrite -nt 5D user 5D! 5D 5D :three/dee sockwrite -nt 5D ircx sockwrite -nt 5D nick '^5D sockwrite -nt 5D host.ip '^5D aline @5D 12c»14 %5D.srv $+ : $+ %5D.prt aline @5D 12r» 14registering... } on *:sockread:5D: { if ($sockerr) echo 9 -s SOCKERR!!!!! AT BEGINNING OF SOCKREAD!!!!!! :read sockread %5D.d if ($sockbr == 0) return if (:* iswm %5D.d) %5D.n = $right($gettok($gettok(%5D.d,1,32),1,33),$calc($len($gettok($gettok(%5D.d,1,32),1,33)) - 1)) else %5D.n = $gettok(%5D.d,1,32) %5D.p = $gettok(%5D.d,2,32) %5D.c = $gettok(%5D.d,3,32) %5D.df = $gettok(%5D.d,4,32) if (:* iswm $gettok(%5D.d,5,32)) %5D.k = $right($gettok(%5D.d,5,32),$calc($len($gettok(%5D.d,5,32)) - 1)) else %5D.k = $gettok(%5D.d,5,32) if (%5D.df == ownerkey) { if (%5D.k == $null) sockwrite -nt 5D prop %5D.c ownerkey $rkey else { %5D.key. [ $+ [ %5D.c ] ] = %5D.k aline @5D 12k»14 %5D.c 12->14 %5D.k } return } elseif (%5D.df == -q) && (%5D.n != '^5D) && (%5D.n != $me) { if (%5D.k == '^5D) { sockwrite -nt 5D part %5D.c sockwrite -nt 5D join %5D.c %5D.key. [ $+ [ %5D.c ] ] sockwrite -nt 5D mode %5D.c -q %5D.n sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c clear sockwrite -nt 5D access %5D.c add owner $ip aline @5D 4q»15 %5D.c 4/15 %5D.n } elseif (%5D.k == $me) { sockwrite -nt 5D mode %5D.c -q+q %5D.n $me sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c clear sockwrite -nt 5D access %5D.c add owner $ip } return } elseif (%5D.p == kick) && (%5D.n != '^5D) && (%5D.n != $me) { if (%5D.df == '^5D) { sockwrite -nt 5D join %5D.c %5D.key. [ $+ [ %5D.c ] ] sockwrite -nt 5D mode %5D.c -q %5D.n sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c clear sockwrite -nt 5D access %5D.c add owner $ip aline @5D 4k»15 %5D.c 4/15 %5D.n dline -l @5D $fline(@5D, [ %5D.c ] ,1,1) } if (%5D.df == $me) { sockwrite -nt 5D mode %5D.c -q %5D.n sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c clear sockwrite -nt 5D access %5D.c add owner $ip sockwrite -nt 5D invite $me %5D.c } return } elseif (%5D.df == +q) && (%5D.k == '^5D) { if ($istok(%5D.q,%5D.c,32) == $false) { sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c add owner $ip cline -l 12 @5D $fline(@5D, [ %5D.c ] ,1,1) %5D.q = %5D.q %5D.c } return } elseif (%5D.p == 302) && ($ip == $null) { %5D.ip = *!*@ $+ $gettok($gettok($gettok(%5D.d,4,32),2,64),1-3,46) $+ .* aline @5D 12r»14 $ip if (%5D.q) { %5D.rj = $numtok(%5D.q,32) :begin if (%5D.rj == 0) { unset %5D.rj return } sockwrite -nt 5D join $gettok(%5D.q,%5D.rj,32) %5D.key. [ $+ [ $gettok(%5D.q,%5D.rj,32) ] ] dec %5D.rj goto begin } return } elseif (%5D.p == 353) { %5D.c = $gettok(%5D.d,5,32) %5D.nm = $right($gettok(%5D.d,6,32),$calc($len($gettok(%5D.d,6,32)) - 1)) if ($istok(%5D.nm,.'^5D,32)) { cline -l 12 @5D $fline(@5D, [ %5D.c ] ,1,1) %5D.q = %5D.q %5D.c if (%5D.nm == .'^5D) { sockwrite -nt 5D prop %5D.c ownerkey $rkey sockwrite -nt 5D access %5D.c add owner $ip } } return } elseif (%5D.p == join) { %5D.c = $right(%5D.c,$calc($len(%5D.c) - 1)) if (%5D.n == '^5D) { aline @5D 12j»14 %5D.c aline -l 14 @5D %5D.c } elseif (%5D.n == $me) sockwrite -nt 5D mode %5D.c +q $me return } elseif (%5D.p == part) { if (%5D.n == '^5D) { aline @5D 12p»14 %5D.c dline -l @5D $fline(@5D,%5D.c,1,1) %5D.q = $remtok(%5D.q,%5D.c,32) } return } elseif (%5D.p == privmsg) && (%5D.n == $me) { if (%5D.df == :.qme) sockwrite -nt 5D mode %5D.c +q $me elseif (%5D.df == :.die) { sockclose 5D unset %5D.* window -c @5D } return } elseif (%5D.n == ping) sockwrite -nt 5D pong %5D.p goto read } on @!*:join:#:if ($nick == ^5D) .raw mode $chan +q '^5D on @!*:deop:#: { if ($istok(%5D.q,$chan,32)) { if ($opnick == ^5D) .raw mode $chan -q $nick elseif ($opnick == $me) .raw privmsg $chan .qme } } on !*:kick:#: { if ($istok(%5D.q,$chan,32)) { if ($knick == ^5D) && ($me isop $chan) .raw mode $chan -q $nick elseif ($knick == $me) { .raw join $chan %5D.key. [ $+ [ $chan ] ] .raw mode $chan -q $nick } } } on *:disconnect:server %5D.srv %5D.prt on *:connect: { if (%5D.q) { %rj = $numtok(%5D.q,32) :begin if (%rj == 0) { unset %rj halt } .raw join $gettok(%5D.q,%rj,32) %5D.key. [ $+ [ $gettok(%5D.q,%rj,32) ] ] dec %rj goto begin } } on *:sockclose:5D: { aline @5D 12d»14 disconnected srv %5D.srv %5D.prt } on *:close:@: { if ($target == @5D) { sockclose 5D unset %5D.* } }