a ver, toi haciendo un pekeño script pa evitar el ping-overflow. tengo esto:
este primer evento ctcp mira a ver si existe la variable %ping.flood. Si existe y es igual a anti_on entonces detiene todos los mensajes ping. Si existe pero no es anti_on lo incrementa en uno. Si no existe la variable crea un timer que llama al alias checkping y crea la variable, poniéndola a uno
ctcp :ping:: {
if (%ping.flood) {
if (%ping.flood == anti_on) {
msg $nick All ctcp events are being halted due to PING overflow
halt
}
else {
inc %ping.flood 1
}
}
else {
.timerpings 1 10 checkping
set %ping.flood 1
}
}
este alias mira a ver si el número de pings en esos 10 segundos es igual a dos, y si lo es, pone la variable %ping.flood a anti_on para detener todos los eventos ctcp-ping y activa el timerpingwait para q desactive la proteccion en 5 minutos, además de desactivar el timerpings.
/checkping {
echo -s 1
if (%ping.flood == 2) {
msg $nick You have triggered the ping-flood protection
echo -s All CTCP ping messages are being halted
due to possible ping overflow
.timerpingwait 1 300 deactivatepingprotection
set %ping.flood anti_on
.timerpings off
}
else {
.timerpings off
unset %ping.flood
}
}
este último alias sirve para quitar la protección. se desactiva a si mismo y elimina la variable para que la próxima vez que se haga un ping vuelva todo a empezar.
/deactivatepingprotection {
.timerpingwait off
unset %ping.flood
}
la cuestión es que me envío a mi mismo dos pings dsd yo mismo y usando un bot y nada, q no se activa la protección. el hecho es q no me deja mandar un segundo ping hasta pasados los 10 segundos :S kiza el mirc no dja enviar mas d un ping en 10 segundos? a ver si alguien lo entiende