This file is part of ProScript ver 0.1 by kibo
;ProScript ver 0.1
;Autore: kibo
;File: Pro_AntiFlood ver 0.1
alias Pro_AntiFlood { dialog -m Pro_AntiFlood Pro_AntiFlood }
;Dialog
dialog Pro_AntiFlood {
title "ProScript - ProAntiFlood"
size -1 -1 100 60
option dbu
box "ProAntiFlood", 1, 1 0 98 50
button "Ok", 4, 70 50 30 10, ok
text "ProAntiFlood", 11, 1 52 30 8, disable
check "AntiFlood - Query", 12, 10 12 60 10 push
check "AntiFlood - Richiamo Nick", 13, 10 26 80 10 push
}
on *:dialog:Pro_AntiFlood:*:*: {
if ($devent == init) { } ;ripristino valori dei check asseconda se il gruppo è attivato o meno
if ($devent == sclick) {
if ($did(12).state == 1) { .enable #QAflood }
else { .disable #QAflood }
if ($did(13).state == 1) { .enable #Aflood_me_chan }
else { .disable #Aflood_me_chan }
}
}
/*
Se abilitato (settato ad on) il sottostante alias fornisce un protezione antiflood
in una sessione di chat privata (query) con un altro utente.
In specifico la protezione si attiva quando si ricevono in privato un numero di messaggi
a distanza di tempo inferiori ad un certo intervallo.
NOTA BENE:
E' possibile cambiare i valori della variabile di setting e del tempo dell' ignore,
si rammenta che l'adozione di valori eccessivamente piccoli o eccessivamente
grandi potrebbe compromettere la funzionalità logica dello script in questione.
*/
#QAflood on
on *:TEXT:*:?: {
if ( %Pro_flood_query_ [ $+ [ $nick ] ] ) {
if (%Pro_flood_query_ [ $+ [ $nick ] ] <= 7) { inc %Pro_flood_query_ [ $+ [ $nick ] ] } ;max 7 ripetizioni
if (%Pro_flood_query_ [ $+ [ $nick ] ] == 8) { .!ignore -u20 $nick | msg $nick 4ATTENZIONE : 15 $nick Ho rilevato attività di flodding , sarai ignorato da $me per 20 secondi .::ProScript::. ver 0.1 [by kibo] }
}
else { set -u10 %Pro_flood_query_ [ $+ [ $nick ] ] | inc %Pro_flood_query_ [ $+ [ $nick ] ] }
}
#QAflood end
/*
Se abilitato (settato ad on) il sottostante alias fornisce un protezione antiflood
del "richiamo nick" in un canale.
In specifico la protezione si attiva quando in un canale un utente menziona il vostro nickname
ripetutamente a distanza di tempo inferiore ad un certo intervallo.
*/
#Aflood_me_chan on
on *:TEXT:*:#: {
if ($me isin $1-) {
if ( %Pro_flood_me_ [ $+ [ $nick ] ] ) {
if (%Pro_flood_me_ [ $+ [ $nick ] ] <= 7) { inc %Pro_flood_me_ [ $+ [ $nick ] ] } ;max 7 ripetizioni
if (%Pro_flood_me_ [ $+ [ $nick ] ] == 8) { .!ignore -u20 $nick | msg $chan 4ATTENZIONE : 15 $nick Ho rilevato attività di flodding , sarai ignorato da $me per 20 secondi .::ProScript::. ver 0.1 [by kibo] }
}
else { set -u10 %Pro_flood_me_ [ $+ [ $nick ] ] | inc %Pro_flood_me_ [ $+ [ $nick ] ] }
}
}
#Aflood_me_chan end