matrix — File Browser
matrixv0.9a / matrixv0.9a / 5d.mrc
5d.mrc — 6.46 KB — Download this file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; 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.*
}
}