;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Seytuff script ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; on ^1:JOIN:#: { ; ; Auto-Notice on Join. ; if ( ($nick != $me) && (%se_anoticeenable == 1) ) { notice $nick %se_anotice } ; ; Verifica si el usuario está en la lista de notify. ; /notifylist ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } ; ; Muestra el evento Join dependiendo del tipo de usuario. ; var %shitcnt = $readini(%se_shitfile, "shitlist", "0") var %i = 1 var %sline = $null %sline = $null %i = 1 while (%i <= %shitcnt) { %sline = $readini(%se_shitfile, "shitlist", %i) if ( %sline == $nick ) { echo 9 $chan 4( $+ $time $+ ) * Shit entering zone:  $nick  ( $address ) | halt } inc %i } echo 9 $chan ( $+ $time $+ ) * Entering zone...  $nick  ( $+ $address $+ ) | halt } on 1:INPUT:# { var %nick = $null var %i = 1 ; ; Autoidentificación. ; if ( $left($1,4) == +CN.) { var %nickid = $right($1, 1) anickid %nickid } ; ; Operaciones con nicks. ; %nick = $nick($chan,%i) while ( %nick != $null) { %nick = $nick($chan,%i) if (%nick == $1) { ; ; Nick Completion. ; var %llen = $len($1) | dec %llen if ( $right($1,1) == $chr(44) ) { say ז<•) $+ $$left($1, %llen) $+ (•>–×, $2- | halt } else { inc %llen say ז<•) $+ $$left($1, %llen) $+ (•>–× $2- | halt } } inc %i } ; ; Shit list handler ; shithdlr $1 $2 $3 ; ; Notify list handler. ; notifhdr $1 $2 $3 $4 ; ; Comandos pajeros ; $iif($1 == !time, say Hora actual: $time ) ; ; Blowfish Encryption ; var %code = $left($1, 3) if ( %code == BWF ) { } } on ^*:NICK { ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } var %num = 1 while ( $comchan($newnick,%num) ) { echo 9 $comchan($newnick,%num) ( $+ $time $+ ) * $nick ha mutado a $newnick $+ ... inc %num } ; ; Agrega el nick o actualiza la lista de seen. ; seenadd $nick halt } on ^*:QUIT { ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } ; ; Agrega el nick o actualiza la lista de seen. ; seenadd $nick } on ^*:PART:# { ; ; Auto-Notice on Part. ; if ( ($nick != $me) && (%se_anoticeenablepart == 1) ) { notice $nick %se_anoticepart } ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } ; ; Agrega el nick o actualiza la lista de seen. ; seenadd $nick } on ^*:KICK:# { ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } echo 9 $chan ( $+ $time $+ ) * $knick fue desterrado de $chan por $nick ( $+ $1- ¬¬) ... ; ; Agrega el nick o actualiza la lista de seen. ; seenadd $knick halt } on *:TEXT:*edad*:# { notice $nick Qué te importa la edad ¬¬. } on ^*:NOTICE:*:* { ; ; Protección antibots. ; /checkantibot $chan if ( $result == 1 ) { halt } if ( (%se_block_notice != 0) && ($nick!=$me) ) { if ( %se_block_reply != $null) notice $nick %se_block_reply halt } } CTCP *:*:* { if ( %se_block_ctcp != 0 ) { if ( $nick != $me ) { if ( %se_block_reply != $null) ctcp $nick %se_block_reply } else { echo 7 $chan * Se te va a colgar el programa, n 0 0 b } halt } } on ^1:OPEN:?:*: { ; ; Query block ; if ( %se_queryblock == 1 ) { if ( %se_queryblocklogging != 0 ) { /write %se_querylogfile ( $+ $date $time $+ ) * Query abierto por $nick ( $+ $address $+ ): " $+ $gettok($rawmsg, 2, 58) $+ " } if (%se_queryblocknotify != 0) { echo 7 * Se ha bloqueado un intento de invasión de $nick } halt } } on 1:LOAD { var %sepath = $findfile($mircdir, seytuff.ini, 1) var %ipos = 0 if ( %sepath != $null) { %ipos = $pos( %sepath, seytuff.ini ) if ( %ipos > 0 ) { dec %ipos %sepath = $left( %sepath, %ipos ) } ; ; Establece las variables globales iniciales. ; set %se_path %sepath set %se_version 0.1 beta [?] set %se_inipos 0 set %se_securon 0 set %se_block_notice 0 set %se_block_ctcp 0 set %se_block_dccsend 0 set %se_block_dccchat 0 set %se_block_reply $null set %se_queryblock 0 set %se_queryblocklogging 0 set %se_queryblocknotify 0 set %se_queryautomsg No te leo, no jodas. set %se_anoticeenable 0 set %se_anoticeenablepart 0 set %se_anotice Seytuff Script v0.1 set %se_anoticepart asdf set %se_shitfile %se_path $+ shitlist.txt set %se_antibotfile %se_path $+ antibot.txt set %se_nickfile %se_path $+ nicks.txt set %se_notifyfile %se_path $+ notify.txt set %se_querylogfile %se_path $+ querylog.txt set %se_seenfile %se_path $+ seen.txt } } ; ; Eventos de diálogos. ; on 1:dialog:MyDialog:INIT:1: { /did –a MyDialog %se_anotice } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Aliases ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; alias /notifylist { var %i = 1 var %sline = $null ; ; Notifies ; var %notifycnt = $readini(%se_notifyfile, notify, 0) var %notiftype = $null var %notifname = $null var %ipos = 0 while (%i <= %notifycnt) { ; ; Lee la lista de Notify ; %sline = $readini(%se_notifyfile, notify, %i) ; ; Extrae el tipo de notify y el nombre (Miss o Lord) ; if ( %sline != $null ) { %ipos = $pos( %sline, :, 1 ) dec %ipos if ( %ipos > 0 ) { %notifname = $left( %sline, %ipos ) | inc %ipos 2 %notiftype = $mid( %sline, %ipos + 1 ) } } if ( %notifname == $nick ) { if ( %notiftype == 0 ) { echo $chan 8( $+ $time $+ ) Lord  $nick  ( $address ) ha llegado. notice $me 8( $+ $time $+ ) Lord  $nick  ( $address ) ha llegado. } else { echo $chan 8( $+ $time $+ ) Miss  $nick  ( $+ $address $+ ) ha llegado. notice $me 8( $+ $time $+ ) Miss  $nick  ( $+ $address $+ ) ha llegado. } } inc %i } } alias /securon { ; ; Activar la protección antibot en el canal actual. ; iniexist %se_antibotfile channels $chan if ( $result != 0) { ; ; La protección está activada en el canal actual. ; echo 7 * El aura contra sombras ya ha sido activada en $chan } else { ; ; Activa la protección en el canal actual. ; set %se_securon 1 iniadd %se_antibotfile channels $chan ; /ignore -pntikd *!*@* if ($result == 1) { echo 7 * $me ha invocado la protección contra sombras malignas en $chan $+ ... } else { echo 7 * Los espectros han ganado esta batalla, protección no activada. } } } alias /securoff { set %se_securon 0 ; /ignore -r *!*@* ; /me sets antibots mode: Off inidel %se_antibotfile channels $chan if ($result == 1) { echo 7 * La protección contra espectros ha sido eliminada en $chan } } alias /iniexist { var %i = 1 var %cnt = $readini($1, $2, 0) var %item = $null if ( %cnt == $null ) return 0 while (%i <= %cnt) { %item = $readini($1,$2,%i) if ( %item == $3 ) { /set %se_inipos %i /return 1 } inc %i } /set %se_inipos 0 return 0 } alias /iniadd { ; ; Agregar item a un archivo ini. ; var %cnt = $readini($1, $2, 0) var %newcnt = %cnt + 1 var %data = $null /iniexist $1 $2 $3 if ( $result != 0 ) { return 0 } if ($4 != $null) { %data = $3 $+ : $+ $4 } else { %data = $3 } /writeini $1 $2 %newcnt %data /writeini $1 $2 0 %newcnt return 1 } alias /inidel { ; ; Eliminar item de archivo ini. ; var %cnt = $readini($1, $2, 0) var %newcnt = %cnt - 1 var %item = $null var %bitemfound = 0 var %itempos = 0 var %i = 1 while ( %i <= %cnt ) { %item = $readini($1,$2,%i) if (%item == $3) { if (%i < %cnt) { %itempos = %i + 1 } else { %itempos = %i } %bitemfound = 1 /writeini $1 $2 0 %newcnt } if ( (%bitemfound == 1) && (%itempos <= %cnt) ) { var %tmpvar = $readini($1,$2,%itempos) /writeini $1 $2 %i %tmpvar inc %itempos } inc %i } if (%bitemfound == 1) { /writeini $1 $2 %cnt $chr(0160) } return %bitemfound } alias /checkantibot { ; if ( %se_securon == 0 ) { return 0 } /iniexist %se_antibotfile channels $1 if ($result == 0) { return 0 } else { return 1 } } alias /seenadd { ; ; Agregar item a la lista de seen. ; seenupdate $1 if ( $result == 1 ) { return 1 } var %cnt = $readini(%se_seenfile, seen, 0) if (%cnt==$null) { %cnt = 0 } var %newcnt = %cnt + 1 var %data = $null %data = $1 $+ : $+ $date $+ : $+ $time /writeini %se_seenfile seen %newcnt %data /writeini %se_seenfile seen 0 %newcnt return 1 } alias /seenupdate { var %cnt = $readini(%se_seenfile, seen, 0) if (%cnt==$null) { return 0 } var %i = 1 var %itemdata = $null var %itemnick = $null while ( %i <= %cnt ) { %itemdata = $readini(%se_seenfile, seen, %i) %itemnick = $gettok(%itemdata,1,58) if ( %itemnick == $1 ) { var %data = $1 $+ : $+ $date $+ : $+ $time /writeini %se_seenfile seen %i %data return 1 } inc %i } } alias /notifhdr { ; ; Notify list handler. ; if ( $1 == !notify ) { var %notifcnt = $readini(%se_notifyfile, shitlist, 0) if ( $2 == add ) { iniadd %se_notifyfile notify $3 $4 if ( $result == 1 ) { if ( $4 == 0) { echo 7 $chan * Lord $3 ha sido nombrado nuevo miembro del clan. } else { echo 7 $chan * Miss $3 ha sido nombrada doncella oficial del clan. } } else { echo 7 $chan * No se pudo agregar $3 a la lista de notify :S. } } elseif ( $2 == del ) { ; ; Eliminar usuario de la lista de notify. ; inidel %se_notifyfile notify $3 if ( $result == 0 ) { echo 7 $chan * $3 no está en la lista de notify. } else { if ( $4 == 0) { echo 7 $chan * Lord $3 ha sido exiliado del clan. } else { echo 7 $chan * Miss $3 ha sido exiliada del clan. } } } } } alias shithdlr { ; ; Shit list handler ; if ( $1 == !shit ) { var %shitcnt = $readini(%se_shitfile, shitlist, 0) if ( $2 == add ) { ; ; Agregar usuario a la shitlist. ; iniadd %se_shitfile shitlist $3 if ( $result == 1 ) { echo 7 $chan * $3 added to shitlist :). } else { echo 7 $chan * $3 ya está en la shitlist. } } elseif ( $2 == del ) { ; ; Eliminar usuario de la shitlist. ; var %shitnewcnt = %shitcnt - 1 if ( $3 == +last ) { ; ; Eliminar al último usuario de la shitlist. ; var %tmpnick = $null %tmpnick = $readini(%se_shitfile, shitlist, %shitcnt) inidel %se_shitfile shitlist %tmpnick if ( $result == 1 ) { echo 7 $chan * %tmpnick se eliminó de la shitlist :(. } else { echo 7 $chan * %tmpnick no se pudo eliminar de la shitlist :@. } } else { ; ; Eliminar al usuario especificado de la shitlist. ; inidel %se_shitfile shitlist $3 if ( $result == 1 ) { echo 7 $chan * $3 se eliminó de la shitlist :(. } else { echo 7 $chan * $3 no se pudo eliminar de la shitlist :@. } } } elseif ( $2 == debug ) { /ignore -r echo 9 * Se limpió la lista de ignores :( } } } alias anickid { ; ; Autoidentificación ; var %nickdata = $null var %nickpass = $null var %nickname = $null var %nickid = $1 var %ipos = 0 %nickdata = $readini(%se_nickfile, $network, %nickid) if ( %nickdata != $null ) { %ipos = $pos( %nickdata, :, 1 ) dec %ipos if ( %ipos > 0 ) { %nickname = $left( %nickdata, %ipos ) | inc %ipos 2 %nickpass = $mid( %nickdata, %ipos + 1 ) if ( %nickname != $null ) { /nick %nickname } if ( (%nickname != $null) && (%nickpass != $null) ) { /ns identify %nickpass } } } } alias /test { inidel %se_path $+ test.ini shitlist Yo-Bo7 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Menus ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu channel { Seytuff %se_version .Antibots ..$iif( %se_securon == 1, $style(1)) Activado:/securon ..$iif( %se_securon == 0, $style(1)) Desactivado:/securoff .Query-block ..$iif( %se_queryblock == 1, $style(1)) Activado ( $+ $iif( %se_queryautomsg != $null, %se_queryautomsg) $+ ) { /set %se_queryblock 1 /set %se_queryautomsg $$?="Mensaje para mostrarle a los que joden por query" } ..$iif( %se_queryblock == 0, $style(1)) Desactivado:/set %se_queryblock 0 ..- ..Loguear eventos ...$iif( %se_queryblocklogging == 1, $style(1)) Activado:/set %se_queryblocklogging 1 ...$iif( %se_queryblocklogging == 0, $style(1)) Desactivado:/set %se_queryblocklogging 0 ...- ...Ver logs:{ if ( $exists( %se_querylogfile ) == $true ) { /run notepad.exe %se_querylogfile } else { echo 7 $chan ( $+ $time $+ ) * No hay eventos guardados en el archivo. } } ..$iif( %se_queryblocknotify == $not(0), $style(1)) Notificar de queries bloqueados:/set %se_queryblocknotify $not(%se_queryblocknotify) .Auto-Notice molesto ..On Joins ...$iif( %se_anoticeenable == 1, $style(1)) Activado ( $+ $iif( %se_anotice != $null, %se_anotice) $+ ): { set %se_anoticeenable 1 set %se_anotice $$?="Nuevo mensajito molesto para los Joins" } ...$iif( %se_anoticeenable == 0, $style(1)) Desactivado : /set %se_anoticeenable 0 ..On Parts ...$iif( %se_anoticeenablepart == 1, $style(1)) Activado ( $+ $iif( %se_anoticepart != $null, %se_anoticepart) $+ ): { set %se_anoticeenablepart 1 set %se_anoticepart $$?="Nuevo mensajito molesto para los Parts" } ...$iif( %se_anoticeenablepart == 0, $style(1)) Desactivado :(:/set %se_anoticeenablepart 0 .Otros bloqueos ..$iif( %se_block_notice == $not(0), $style(1)) Notices:/set %se_block_notice $not(%se_block_notice) ..$iif( %se_block_ctcp == $not(0), $style(1)) CTCP's:/set %se_block_ctcp $not(%se_block_ctcp) ..$iif( %se_block_dccsend == $not(0), $style(1)) Transferencias DCC:/set %se_block_dccsend $not(%se_block_dccsend) ..$iif( %se_block_dccchat == $not(0), $style(1)) DCC Chats:/set %se_block_dccchat $not(%se_block_dccchat) ..- ..Respuesta automática ...$iif( %se_block_reply != $null, $style(1)) Activado ( $+ $iif( %se_block_reply != $null, %se_block_reply) $+ ):/set %se_block_reply $$?="Nuevo mensajito para responder a eventos" ...$iif( %se_block_reply == $null, $style(1)) Desactivado:/set %se_block_reply $null .Notify List ..Agregar user a la lista: { var %newnick $$?="Enter your away message:" if ( $gettok(%newnick,2,58) == $null ) { %newnick = %newnick $+ : $+ 0 } iniadd %se_notifyfile notify %newnick } ..- ..$submenu($notiflst($1)) } ; ; Alias para menús dinámicos. ; alias notiflst { if ($1 == begin) return - var %cnt = $readini(%se_notifyfile, notify, 0) if ($1 <= %cnt) { var %itemdata = $readini(%se_notifyfile, notify, $1) return %itemdata } if ($1 == end) return - }