rendered paste body;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 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
}