;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 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 if ( %se_securon == 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 isin $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) isincs "+CN.") { var %nickdata = $null var %nickpass = $null var %nickname = $null var %nickid = $right($1, 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 } } } } ; ; Operaciones con nicks. ; %nick = $nick($chan,%i) while ( %nick != $null) { %nick = $nick($chan,%i) if (%nick isin $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 ; if ( $1 isin "!shit" ) { var %shitcnt = $readini(%se_shitfile, shitlist, 0) if ( $2 isin "add" ) { ; ; Agregar usuario a la shitlist. ; iniadd %se_shitfile shitlist $3 if ( $return == 1 ) { say 4[ $3 added to shitlist :). ] } else { echo 7 $chan * $3 ya está en la lista de notify. } } elseif ( $2 isin "del" ) { ; ; Eliminar usuario de la shitlist. ; var %shitnewcnt = %shitcnt - 1 if ( $3 isin "+last" ) { ; ; Eliminar al último usuario de la shitlist. ; var %tmpnick = $null %tmpnick = $readini(%se_shitfile, "shitlist", %shitcnt) /writeini %se_shitfile "shitlist" %shitcnt " " /writeini %se_shitfile "shitlist" 0 %shitnewcnt say 4* Removed %tmpnick from shitlist :(. } else { ; ; Eliminar al usuario especificado de la shitlist. ; var %i = 1 while ( %i <= %shitcnt ) { %tmpnick = $readini(%se_shitfile,shitlist,%i) if ( %tmpnick isincs $3 ) { /writeini %se_shitfile "shitlist" %i " " /writeini %se_shitfile "shitlist" 0 %shitnewcnt } inc %i } say 4* Removed %tmpnick from shitlist :(. } } elseif ( $2 isin "debug" ) { /ignore -r echo 9 * Se limpió la lista de ignores :( } } :shitout ; ; Notify list handler. ; if ( $1 isin "!notify" ) { var %notifcnt = $readini(%se_notifyfile, shitlist, 0) if ( $2 isin "add" ) { iniadd %se_notifyfile notify $3 $4 if ( $return == 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 { say 8[ No se pudo agregar $3 a la lista de notify :S. ] } } elseif ( $2 isin "del" ) { ; ; Eliminar usuario de la lista de notify. ; inidel %se_notifyfile notify $3 if ( $return == 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. } } } :notifyout ; ; Blowfish Encryption ; var %code = $left($1, 3) ;echo 4 $chan %code if ( %code isincs "BWF" ) { } } } on ^*:NICK { if (%se_securon == 1) { halt } var %num = 1 while ( $comchan($newnick,%num) ) { echo 9 $comchan($newnick,%num) ( $+ $time $+ ) * $nick ha mutado a $newnick $+ ... inc %num } halt } on ^*:QUIT { if (%se_securon == 1) { halt } } on ^*:PART:# { ; ; Auto-Notice on Part. ; if ( ($nick != $me) && (%se_anoticeenablepart == 1) ) { notice $nick %se_anoticepart } if (%se_securon == 1) { halt } } on ^*:KICK:# { if (%se_securon == 1) { halt } echo 9 $chan ( $+ $time $+ ) * $knick fue desterrado de $chan por $nick ( $+ $1- ¬¬) ... halt } on *:TEXT:*edad*:# { notice $nick Qué te importa la edad ¬¬. } on ^*:NOTICE:*:* { if (%se_securon == 1) { halt } if ( %se_block_notice != 0 ) { 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 } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 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 isin $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 ( $return != 0) { ; ; La protección está activada en el canal actual. ; /me el aura contra las 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 *!*@* /me ha activado la protección contra sombras malignas en $chan $+ ... } } alias /securoff { set %se_securon 0 /ignore -r *!*@* ; /me sets antibots mode: Off } alias /iniexist { var %i = 1 var %cnt = $readini($1, $2, 0) var %item = $null if ( %cnt == $null ) goto done :next %item = $readini($1,$2,%i) if ( %item isincs $3 ) { /set %se_inipos %i /return 1 goto success } inc %i if ( %i > %cnt) { goto done } goto next :done /set %se_inipos 0 return 0 :success } 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 ( $return != 0 ) { return 0 halt } 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 isincs $3) { %itempos = %i + 1 %bitemfound = 1 /writeini $1 $2 0 %newcnt } if ( %bitemfound == 1 ) { ; echo 4 $readini($1,$2,%itempos) /writeini $1 $2 %i $readini($1,$2,%itempos) inc %itempos } inc %i } /writeini $1 $2 %cnt $chr(0160) if (%found==1) { return 1 } else { return 0 } halt } alias /number { /echo 4 $chan saddsfgdfsg } 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_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_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 } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Dialogs ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; dialog MyDialog { title "Aquí el título" size 10 10 500 500 button "Texto_del_boton",1000,10 10 50 50,default } dialog mitabla2 { title "Qué información se muestra dónde" size 30 30 330 260 box "Mostrar información",1,10 10 150 100 radio "En Status",2,20 30 130 20,right,group radio "En Ventana aparte",4,20 80 130 20,right box "Otras opciones",5,170 10 150 100 check "Mostrar Nombre",6,180 30 130 20,push check "Mostrar E-Mail",7,180 55 130 20,push check "Mostrar Web",8,180 80 130 20,push box "Datos",9,10 115 310 100 text "Su Nombre:",10,20 135 100 20 text "Su E-Mail:",11,20 160 100 20 text "Su Web:",12,20 185 100 20 edit "",13,100 135 180 20 edit "",14,100 160 180 20 edit "",15,100 185 180 20 button "Mostrar Información",16,40 225 130 25,ok button "Cancelar",17,190 225 90 25,cancel }