; ======== ; Events ; ======== on *:start:{ ;socklisten ircserver 6667 sockudp -k 4x4evodpsocket 1234 hmake 4x4evo.chatroom 10 hmake 4x4evo.bans 5 hadd 4x4evo.chatroom topic Stupid 4x4evo sucks ass hadd 4x4evo.chatroom clients _ServerBot hadd 4x4evo.chatroom _ServerBot 00000000.0-0-0-0 NunYa.Biz.com chat1.4x4evolution.com _ServerBot H* :0 _ServerBot^0 } on *:socklisten:ircserver:{ set -u1 %ircserver.tmpsockname ircserver.socket. $+ $rand(1,99999) sockaccept %ircserver.tmpsockname echo -s *** Incoming IRC server request from $sock(%ircserver.tmpsockname).ip $+  sockrename %ircserver.tmpsockname ircserver.sock. $+ $sock(%ircserver.tmpsockname).ip $+ : $+ $sock(%ircserver.tmpsockname).port } on *:udpread:4x4evodpsocket:{ set %packet $1- if ($sockerr > 0) { return } sockread &testudpsocket ;if ($bvar(&testudpsocket, 1, 4) == 255 255 255 255) { [ // $+ [ $eval($bvar(&testudpsocket, 5-).text) ] ] } ;if ($bvar(&testudpsocket, 1, 4) == 255 255 255 255) { $eval($bvar(&testudpsocket, 5-).text) } ;bset &tes2t 1 $make_string(\x23\x00\x00\x00\x $+ $base($bvar(&testudpsocket, 9), 10, 16) $+ \x $base($bvar(&testudpsocket, 10), 10, 16) $+ \x $+ $base($bvar(&testudpsocket, 11), 10, 16) $+ \x00\x $+ $lower($base($gettok($sock($sockname).saddr,1,46),10,16,2)) $+ \x $+ $lower($base($gettok($sock($sockname).saddr,2,46),10,16,2)) $+ \x $+ $lower($base($gettok($sock($sockname).saddr,3,46),10,16,2)) $+ \x $+ $lower($base($gettok($sock($sockname).saddr,4,46),10,16,2)) $+ \x $+ $lower($left($base($sock($sockname).sport,10,16,4),2)) $+ \x $+ $lower($right($base($sock($sockname).sport,10,16,4),2)) $+ \x00\x00\x00\x00\x00\x $+ $lower($base($numtok($hget(4x4evo.chatroom, clients),124),10,16,2))) bset &test 1 $hextoascii(23000000 $+ $lower($base($bvar(&testudpsocket, 9), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 10), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 11), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 12), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 1, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 2, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 3, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 4, 46), 10, 16, 2)) $+ $lower($left($base($sock($sockname).sport, 10, 16, 4) ,2)) $+ $lower($right($base($sock($sockname).sport, 10, 16, 4), 2)) $+ 9999999999 $+ $lower($base($calc($numtok($hget(4x4evo.chatroom, clients), 124) - 1), 10, 16, 2))) sockudp testudpsock $sock($sockname).saddr $sock($sockname).sport &test ;//echo $bvar(&test2, 1-).text ;//echo $sock($sockname).saddr $sock($sockname).sport 6 1 $hextoascii(23000000 $+ $lower($base($bvar(&testudpsocket, 9), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 10), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 11), 10, 16, 2)) $+ $lower($base($bvar(&testudpsocket, 12), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 1, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 2, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 3, 46), 10, 16, 2)) $+ $lower($base($gettok($sock($sockname).saddr, 4, 46), 10, 16, 2)) $+ $lower($left($base($sock($sockname).sport, 10, 16, 4) ,2)) $+ $lower($right($base($sock($sockname).sport, 10, 16, 4), 2)) $+ 9999999999 $+ $lower($base($calc($numtok($hget(4x4evo.chatroom, clients), 124) - 1), 10, 16, 2))) unset %hextoascii.* } on *:sockread:ircserver.sock.*:{ if ($sockerr > 0) { return } :readnext sockread [ % $+ [ $sockname $+ [ .sockin ] ] ] if ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 4) == OPER) { } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] != $null) { echo -s *** $gettok($sockname,3,46) <= [ % $+ [ $sockname $+ [ .sockin ] ] ] } if ([ % $+ [ $sockname $+ [ .sockin ] ] ] == USRIP) { sockwrite -n $sockname :chat1.4x4evolution.com 302 :unknown=+unknown@ $+ 24.15.251.14 } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 9) == CHALLENGE) { sockwrite -n $sockname :chat1.4x4evolution.com 302 :unknown=+unknown@ $+ $sock($sockname).ip } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == PASS) { if ($len($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32)) !=6) { sockclose $sockname } if ($len($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32)) !=6) { sockclose $sockname } } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == NICK) { if ($numtok([ % $+ [ $sockname $+ [ .sockin ] ] ], 32) != 2) { return } set [ % $+ [ $sockname $+ [ .sockin ] ] ] $remove([ % $+ [ $sockname $+ [ .sockin ] ] ], $chr(58)) if ($sock(ircserver.sock. $+ $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32)).status == active) { sockwrite -n $sockname ERROR :That nick is already in use | cleanup | sockclose $sockname | return } if ($hget(4x4evo.chatroom, $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32)) != $null) { sockwrite -n $sockname ERROR :That nick is already in use | cleanup | sockclose $sockname | return } if ($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)) != $null) { hadd 4x4evo.chatroom $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32) $hget(4x4evo.chatroom, $gettok($sockname, 3, 46)) hdel 4x4evo.chatroom $gettok($sockname,3,46) if ($istok($hget(4x4evo.chatroom,clients),$gettok($sockname,3,46),124) == $true) { hadd 4x4evo.chatroom clients $reptok($hget(4x4evo.chatroom, clients), $gettok($sockname,3,46), $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32), 1, 124) } hadd 4x4evo.chatroom $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32) $reptok($hget(4x4evo.chatroom, $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32)), $gettok($sockname,3,46), $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32), 1, 32) unset %ircserver.sock. $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ .sockin } sockrename $sockname ircserver.sock. $+ $remove($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32), $chr(58)) unset %ircserver.sock. $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ .sockin return } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == USER) { if ($hget(4x4evo.chatroom, $gettok($sockname,3,46)) != $null) { sockwrite -n $sockname ERROR :You may not re-register | return } else if ((($gettok($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],5-,32),2,94) != 0) && ($len($gettok($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],5-,32),2,94)) < 6)) || (^^ isin [ % $+ [ $sockname $+ [ .sockin ] ] ]) || ($chr(94) !isin $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],5-,32))) { sockwrite -n $sockname ERROR :Closing Link: $sock($sockname).ip (Invalid Name) cleanup sockclose $sockname return } hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ .temp $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2-,32) hadd 4x4evo.chatroom $gettok($sockname,3,46) $gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ .temp),1,32) 0 chat1.4x4evolution.com $gettok($sockname,3,46) H :0 $gettok($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ .temp),4-,32),1,58) hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ .temp if ($readini(4x4evo1\bans.ini,n,bans,$gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),1,46)) != $null) { ;hdel -w 4x4evo.chatroom $gettok($sockname,3,46) $+ * sockwrite -n $sockname ERROR :Closing Link: $sock($sockname).ip (Your ID is permanently banned on this server) cleanup $gettok($sockname,3,46) sockclose $sockname return } elseif ($hget(4x4evo.bans,$gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),1,46)) == 1) { sockwrite -n $sockname ERROR :Closing Link: $sock($sockname).ip (Your ID is temporarily banned. Try again in $round($calc($hget(4x4evo.bans,$gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),1,46)).unset / 60),0) minutes.) ;hdel -w 4x4evo.chatroom $gettok($sockname,3,46) $+ * cleanup $gettok($sockname,3,46) sockclose $sockname return } sockwrite -n $sockname NOTICE $gettok($sockname,3,46) :*** Your host is evoirc.no-ip.org, running version 2.0 sockwrite -n $sockname :evoirc.homeip.net 375 $gettok($sockname,3,46) :fuck off if ($exists(4x4evo1\motd.txt)) { hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ motd 1 while ($hget(4x4evo.chatroom, $gettok($sockname,3,46) $+ motd) <= $lines(4x4evo1\motd.txt)) { sockwrite -n $sockname :chat1.4x4evolution.com 372 $gettok($sockname,3,46) :- $read(4x4evo1\motd.txt, $hget(4x4evo.chatroom, $gettok($sockname,3,46) $+ motd)) hinc 4x4evo.chatroom $gettok($sockname,3,46) $+ motd 1 } hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ motd } else { sockwrite -n $sockname :chat1.4x4evolution.com 372 $gettok($sockname, 3, 46) :-
MOTD file was not found.

} sockwrite -n $sockname :chat1.4x4evolution.com 376 $gettok($sockname,3,46) :End of /MOTD command. sockwrite -n $sockname : $+ $gettok($sockname,3,46) MODE $gettok($sockname, 3, 46) :+wsi } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == PING) { sockwrite -n $sockname PONG $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == LIST) { sockwrite -n $sockname :chat1.4x4evolution.com 321 $gettok($sockname,3,46) Channel :Users Name sockwrite -n $sockname :chat1.4x4evolution.com 322 $gettok($sockname,3,46) #ChatÿRoom $numtok($hget(4x4evo.chatroom, clients),124) : $+ $hget(4x4evo.chatroom, topic) sockwrite -n $sockname :chat1.4x4evolution.com 323 $gettok($sockname,3,46) :End of /LIST } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == JOIN #ChatÿRoom) { if ($findtok($hget(4x4evo.chatroom,clients),$gettok($sockname,3,46),1,124) == $null) { hadd 4x4evo.chatroom clients $hget(4x4evo.chatroom,clients) $+ %pipe $+ $gettok($sockname,3,46) } sendtoroom : $+ $gettok($sockname,3,46) JOIN #ChatÿRoom sockwrite -n $sockname :chat1.4x4evolution.com 332 $gettok($sockname,3,46) #ChatÿRoom : $+ $hget(4x4evo.chatroom, topic) } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == TOPIC #ChatÿRoom) { sockwrite -n $sockname :chat1.4x4evolution.com 332 $gettok($sockname,3,46) #ChatÿRoom : $+ $hget(4x4evo.chatroom, topic) } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == PART #ChatÿRoom) { sendtoroom : $+ $gettok($sockname,3,46) PART #ChatÿRoom hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom,clients),$findtok($hget(4x4evo.chatroom,clients),$gettok($sockname,3,46),1,124),124) if ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H@) { tokenize 32 $hget(4x4evo.chatroom,$gettok($sockname,3,46)) hadd 4x4evo.chatroom $gettok($sockname,3,46) $1 $2 $3 $4 H $6- } } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == WHO #ChatÿRoom) { hadd 4x4evo.chatroom roomwhois.count 1 while ($hget(4x4evo.chatroom,roomwhois.count) <= $numtok($hget(4x4evo.chatroom, clients),124)) { sockwrite -n $sockname :chat1.4x4evolution.com 352 $gettok($sockname,3,46) #ChatÿRoom $hget(4x4evo.chatroom,$gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,roomwhois.count),124)) hinc 4x4evo.chatroom roomwhois.count 1 } hdel 4x4evo.chatroom roomwhois.count sockwrite -n $sockname :chat1.4x4evolution.com 315 $gettok($sockname,3,46) #ChatÿRoom :End of /WHO list. } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == RCHG) { if ((($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,94) != 0) && ($len($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,94)) != 6)) || (^^ isin [ % $+ [ $sockname $+ [ .sockin ] ] ])) { return } else { tokenize 32 $hget(4x4evo.chatroom,$gettok($sockname,3,46)) hadd 4x4evo.chatroom $gettok($sockname,3,46) $1 $2 $3 $4 $5 $6 $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2-,58) sendtoroom : $+ $gettok($sockname,3,46) RCHG $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2-,32) } } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],18) == PRIVMSG #ChatÿRoom) { sendmessagetoroom $gettok($sockname,3,46) : $+ $gettok($sockname,3,46) [ % $+ [ $sockname $+ [ .sockin ] ] ] } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],18) == PRIVMSG _ServerBot) { if ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],3,32) == :!time) { sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname,3,46) :It's currently $asctime(hh:nn:ss) (EST) on $asctime(mm-dd-yyyy). } if ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],3,32) == :!userlist) { if (($gettok($hget(4x4evo.chatroom,$gettok($sockname, 3, 46)), 5, 32) == H*) || ($gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)), 5, 32) == H@)) { hadd 4x4evo.chatroom $gettok($sockname, 3, 46) $+ userlistcount 1 sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) :---------- while ($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ userlistcount) <= $hget(4x4evo.chatroom, 0).item) { hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ usertmp $hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ userlistcount)).item if ($sock(ircserver.sock. $+ $hget(4x4evo.chatroom, $gettok($sockname,3,46) $+ usertmp)) == $null) { hinc 4x4evo.chatroom $gettok($sockname, 3, 46) $+ userlistcount 1 hdel 4x4evo.chatroom $gettok($sockname, 3, 46) $+ usertmp continue } sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) : $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 7-, 32) ( $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 4, 32) $+ ) sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) : $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 1, 32) $chr(124) $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 5, 32) $chr(124) $int($calc($sock(ircserver.sock. $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 4, 32)).to / 60)) minutes sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) :---------- sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) : $+ $padspace(8, $left($gettok($gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 1, 32), 1, 46), 8)) $chr(124) $padspace(12, $left($gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 4, 32), 12)) $chr(124) $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 5, 32) $chr(124) $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 7-, 32) $chr(124) $int($calc($sock(ircserver.sock. $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 4, 32)).to / 60)) minutes sockwrite -n $sockname :_ServerBot!_ServerBot@NunYa.Biz.com PRIVMSG $gettok($sockname, 3, 46) :(¤NAME¤: $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 7-, 32) $+ ) (¤IDENT¤: $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 1, 32) $+ ) (¤NICK¤: $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ usertmp)), 4, 32) $+ ) (¤STATUS¤: $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 5, 32) $+ ) (TIME: $int($calc($sock(ircserver.sock. $+ $gettok($hget(4x4evo.chatroom, $hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ usertmp)), 4, 32)).to / 60)) minutes $+ ) hdel 4x4evo.chatroom $gettok($sockname, 3, 46) $+ usertmp hinc 4x4evo.chatroom $gettok($sockname, 3, 46) $+ userlistcount 1 } hdel 4x4evo.chatroom $gettok($sockname, 3, 46) $+ userlistcount } } elseif ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 3, 32) == :!addserverop) { if (($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 4, 32) == $null) || ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 5, 32) == $null) || ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 6, 32) == $null) || ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 7, 32) == $null)) { sockwrite -n $sockname :_ServerBot PRIVMSG $gettok($sockname,3,46) :Syntax is | return } if ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H*) { if ($readini(4x4evo/4x4evo.ini, admins, $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 4, 32)) == $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 5, 32)) { writeini 4x4evo1/mids.ini operators $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 6, 32) $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 7, 32) sockwrite -n $sockname :_ServerBot PRIVMSG $gettok($sockname,3,46) :Server OP account has been successfully added. } } } elseif ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 3, 32) == :!deleteserverop) { if (($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 4, 32) == $null) || ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 5, 32) == $null) || ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 6, 32) == $null)) { sockwrite -n $sockname :_ServerBot PRIVMSG $gettok($sockname,3,46) :Syntax is | return } if ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H*) { if ($readini(4x4evo/4x4evo.ini, admins, $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 4, 32)) == $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 5, 32)) { if ($readini(4x4evo1\mids.ini, operators, $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 6, 32)) != $null) { remini 4x4evo1\mids.ini operators $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 6, 32) sockwrite -n $sockname :_ServerBot PRIVMSG $gettok($sockname,3,46) :Server OP account has been successfully deleted. } else { sockwrite -n $sockname :_ServerBot PRIVMSG $gettok($sockname,3,46) :The specified server OP account was not found. } } } } return } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 7) == PRIVMSG) { sockwrite -n ircserver.sock. $+ $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) : $+ $gettok($sockname,3,46) $+ ! $+ $gettok($sockname,3,46) $+ @NunYa.Biz.com PRIVMSG $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],3-,32) } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 4) == OPER) { if ($gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 2, 32) == $null || $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 3, 32) == $null) { sockwrite -n $sockname 491 $gettok($sockname,3,46) : $+ %message.operloginfail | return } elseif ($readini(4x4evo1\mids.ini,operators,$gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32)) == $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],3,32)) { tokenize 32 $hget(4x4evo.chatroom,$gettok($sockname,3,46)) hadd 4x4evo.chatroom $gettok($sockname,3,46) $1 $2 $3 $4 H* $6- sockwrite -n $sockname :chat1.4x4evolution MODE $gettok($sockname,3,46) :+aO sockwrite -n $sockname :chat1.4x4evolution 381 $gettok($sockname,3,46) : $+ You are now an IRC operator write 4x4evo1\goodlogins.txt Successful login. Account " $+ $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) $+ ". echo -s *** $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) logged in successfully. } else { write 4x4evo1\badlogins.txt $+ $hget(4x4evo.chatroom,$gettok($sockname,3,46)) $+ | sockwrite -n $sockname 491 $gettok($sockname,3,46) : $+ %message.operloginfail | hdel 4x4evo.chatroom $gettok($sockname,3,46) | sendtoroom 491 : $+ NICK ID $gettok($sockname,3,46) Failed to OPER correctly, disconnecting. | sendtoroom : $+ $gettok($sockname,3,46) QUIT Local-Kill/By-Server | sockclose $sockname | cleanup echo -s *** $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],2,32) failed to login. } } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 15) == KICK #ChatÿRoom) { hadd 4x4evo.chatroom $gettok($sockname, 3, 46) $+ kick $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],3,32) if (($gettok($hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname, 3, 46) $+ kick)), 5, 32) != H*) && (($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H*) || ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H@))) { sendtoroom : $+ $gettok($sockname, 3, 46) $+ ! $+ $gettok($sockname, 3, 46) $+ @NunYa.Biz.com KICK #ChatÿRoom $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick) if ($findtok($hget(4x4evo.chatroom,clients),$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick), 1, 124) != 0) { hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom,clients),$findtok($hget(4x4evo.chatroom,clients),$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick),1,124),124) } if ($gettok($hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick)),5,32) == H@) { tokenize 32 $hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick)) hadd 4x4evo.chatroom $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ kick) $1 $2 $3 $4 H $6- } } hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ kick } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],18) == MODE #ChatÿRoom +o) { hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ op $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],4,32) if ((($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H*) || ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H@)) && ($gettok($hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ op)),5,32) != H*)) { sendtoroom : $+ $gettok($sockname,3,46) MODE #ChatÿRoom +o $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ op) tokenize 32 $hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ op)) hadd 4x4evo.chatroom $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ op) $1 $2 $3 $4 H@ $6- } hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ op } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],18) == MODE #ChatÿRoom -o) { hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ deop $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ],4,32) if ((($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H*) || ($gettok($hget(4x4evo.chatroom,$gettok($sockname,3,46)),5,32) == H@)) && ($gettok($hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ deop)),5,32) != H*)) { sendtoroom : $+ $gettok($sockname,3,46) MODE #ChatÿRoom -o $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ deop) tokenize 32 $hget(4x4evo.chatroom,$hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ deop)) hadd 4x4evo.chatroom $hget(4x4evo.chatroom,$gettok($sockname,3,46) $+ deop) $1 $2 $3 $4 H $6- } hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ deop } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ], 14) == BAN #ChatÿRoom) { hadd 4x4evo.chatroom $gettok($sockname,3,46) $+ ban $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 3, 32) $+ . $+ $gettok([ % $+ [ $sockname $+ [ .sockin ] ] ], 4, 32) if (($gettok($hget(4x4evo.chatroom, $gettok($hget(4x4evo.chatroom, $gettok($gettok($sockname, 3, 46) $+ ban, 1, 46)), 1, 46)), 5, 32) != H*) && (($gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)), 5, 32) == H*) || ($gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)), 5, 32) == H@))) { sendtoroom : $+ $gettok($sockname, 3, 46) BAN #ChatÿRoom $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46) $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 2, 46) if (($gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)), 5, 32) == H*) && ($gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 2, 46) == 4620)) { writeini 4x4evo1\bans.ini bans $gettok($hget(4x4evo.chatroom, $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46)), 1, 46) By: $hget(4x4evo.chatroom, $gettok($sockname, 3, 46)) sendtoroom :_ServerBot PRIVMSG #ChatÿRoom : $+ $gettok($gettok($hget(4x4evo.chatroom, $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46)), 7-, 32), 1, 94) $+ has been server banned. .timerdisconnectbanned $+ $rand(1,9999999) 1 1 disconnectbanned $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46) $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3,46) $+ ban), 2, 46) ;disconnectbanned $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46) $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 2, 46) } else { hadd -u $+ $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 2, 46) 4x4evo.bans $gettok($hget(4x4evo.chatroom, $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46)), 1, 46) 1 .timerdisconnectbanned $+ $rand(1,9999999) 1 1 disconnectbanned $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 1, 46) $gettok($hget(4x4evo.chatroom, $gettok($sockname,3,46) $+ ban), 2, 46) ;disconnectbanned $gettok($hget(4x4evo.chatroom, $gettok($sockname,3,46) $+ ban),1,46) $gettok($hget(4x4evo.chatroom, $gettok($sockname, 3, 46) $+ ban), 2, 46) } } hdel 4x4evo.chatroom $gettok($sockname,3,46) $+ ban } elseif ($left([ % $+ [ $sockname $+ [ .sockin ] ] ],4) == QUIT) { if ($findtok($hget(4x4evo.chatroom, clients), $gettok($sockname, 3, 46), 1, 124) != 0) { hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom, clients), $findtok($hget(4x4evo.chatroom, clients), $gettok($sockname,3,46), 1, 124), 124) } cleanup sockclose $sockname return } elseif ([ % $+ [ $sockname $+ [ .sockin ] ] ] == !clientquery!) { hadd 4x4evo.chatroom $sockname $+ .querycount 2 while ($hget(4x4evo.chatroom,$sockname $+ .querycount) <= $numtok($hget(4x4evo.chatroom, clients),124)) { sockwrite -n $sockname ! $gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,$sockname $+ .querycount),124) $gettok($hget(4x4evo.chatroom,$gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,$sockname $+ .querycount),124)),1,46) $gettok($hget(4x4evo.chatroom,$gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,$sockname $+ .querycount),124)),7-,32) hinc 4x4evo.chatroom $sockname $+ .querycount 1 } hdel 4x4evo.chatroom $sockname $+ .querycount cleanup sockclose $sockname return } if ($sockbr == 0) return goto readnext } on *:sockclose:ircserver.sock.*:{ if ($istok($hget(4x4evo.chatroom,clients),$gettok($sockname,3,46),124) == $true) { sendtoroom : $+ $gettok($sockname,3,46) PART #ChatÿRoom hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom,clients),$findtok($hget(4x4evo.chatroom,clients),$gettok($sockname,3,46),1,124),124) } unset % $+ $sockname $+ .* unset %ircserver.sock. $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ .* if ($hget(4x4evo.chatroom, $gettok($sockname,3,46)) != $null) { hdel 4x4evo.chatroom $gettok($sockname,3,46) } hdel -w 4x4evo.chatroom $gettok($sockname,3,46) $+ * } ; ========= ; Aliases ; ========= alias sendtoroom { hadd 4x4evo.chatroom sendtoroom.count 2 while ($hget(4x4evo.chatroom, sendtoroom.count) <= $numtok($hget(4x4evo.chatroom, clients),124)) { sockwrite -n ircserver.sock. $+ $gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,sendtoroom.count),124) $1- hinc 4x4evo.chatroom sendtoroom.count 1 } hdel 4x4evo.chatroom sendtoroom.count } alias sendmessagetoroom { hadd 4x4evo.chatroom sendtoroom.count 2 while ($hget(4x4evo.chatroom,sendtoroom.count) <= $numtok($hget(4x4evo.chatroom, clients), 124)) { if ($gettok($hget(4x4evo.chatroom, clients), $hget(4x4evo.chatroom,sendtoroom.count),124) != $1) { sockwrite -n ircserver.sock. $+ $gettok($hget(4x4evo.chatroom, clients),$hget(4x4evo.chatroom,sendtoroom.count),124) $2- } hinc 4x4evo.chatroom sendtoroom.count 1 } hdel 4x4evo.chatroom sendtoroom.count } alias cleanup { if ($1 != $null) { unset %ircserver.sock. $+ $1 $+ * if ($hget(4x4evo.chatroom, $1) != $null) { hdel -w 4x4evo.chatroom $1 $+ * | hdel 4x4evo.chatroom $1 } if ($istok($hget(4x4evo.chatroom, clients), $1, 1, 124) == $true) { hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom, clients), $findtok($hget(4x4evo.chatroom, clients), $1, 1, 124), 124) } } else { unset % $+ $sockname $+ .* unset %ircserver.sock. $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ .* if ($hget(4x4evo.chatroom, $gettok($sockname, 3, 46)) != $null) { hdel -w 4x4evo.chatroom $gettok($sockname, 3, 46) $+ * | hdel 4x4evo.chatroom $gettok($sockname, 3, 46) } if ($istok($hget(4x4evo.chatroom, clients), $gettok($sockname, 3, 46), 1, 124) == $true) { hadd 4x4evo.chatroom clients $deltok($hget(4x4evo.chatroom, clients), $findtok($hget(4x4evo.chatroom, clients), $gettok($sockname, 3, 46), 1, 124), 124) } } return } alias disconnectbanned { ;hdel -w 4x4evo.chatroom $1 $+ * if ($2 == 4620) { sockwrite -n ircserver.sock. $+ $1 ERROR :Closing Link: (Your ID is permanently banned on this server) } else { sockwrite -n ircserver.sock. $+ $1 ERROR :Closing Link: (Your ID has been banned for $calc($2 / 60) minutes.) } cleanup $1 .timerdisconnectbanned $+ $rand(1,9999999) 1 1 sockclose ircserver.sock. $+ $1 } alias -l make_string { var %i = 1, %j while ($gettok($replace($1,\x,\),0,92) >= %i) { %j = %j $bin($gettok($replace($1,\x,\),%i,92)) inc %i } return %j } alias -l bin { if ($len($1) != 2) { return } var %i, %j, %k if ($left($1,1) !isnum) { %i = $calc($asc($left($1,1)) -87)) } else { %i = $left($1,1) } if ($right($1,1) !isnum) { %j = $calc($asc($right($1,1)) -87)) } else { %j = $right($1,1) } while (%i) { %k = %k + 16 | dec %i } return $calc(%k + %j) } alias hextoascii { set %hextoascii.count 1 while (%hextoascii.count < $len($1)) { set %hextoascii.text %hextoascii.text $base($mid($1,%hextoascii.count,2),16,10) inc %hextoascii.count 2 } return %hextoascii.text } alias padspace { if (($1 != $null) && ($2 != $null)) { if ($len($2-) < $1) { return $2- $+ $str($chr(160), $calc($1 - $len($2-))) } else { return $2- } } } ; ======= ; Menus ; ======= menu nicklist { 4x4 Evo .Change name:{ ;tokenize 32 $hget(4x4evo.chatroom,$1) hadd 4x4evo.chatroom $1 $gettok($hget(4x4evo.chatroom,$1),1,32) $gettok($hget(4x4evo.chatroom,$1),2,32) $gettok($hget(4x4evo.chatroom,$1),3,32) $gettok($hget(4x4evo.chatroom,$1),4,32) $gettok($hget(4x4evo.chatroom,$1),5,32) $gettok($hget(4x4evo.chatroom,$1),6,32) $?="Change to name: (ex: Someone^0)" sendtoroom : $+ $1 RCHG $! } } menu Status { MSG from ServerBot:{ sendtoroom :_ServerBot PRIVMSG #ChatÿRoom : $+ $$?="Message from bot:" } Send Server Text:{ sendtoroom 491 : $+ $$?="Text to send:" } Fix server:{ hadd 4x4evo.chatroom topic fuck you mofo's hadd 4x4evo.chatroom clients _ServerBot hadd 4x4evo.chatroom _ServerBot 00000000.0-0-0-0 NunYa.Biz.com chat1.4x4evolution.com _ServerBot H* :0 ServerBot^0 } Cleanup variables:unset %ircserver.sock. $+ * }