Responder al mensaje

Advertencia: No se ha publicado ninguna respuesta a este tema desde hace 40 días como mínimo.
A menos que estés seguro de que quieres responder, por favor, considera el empezar un nuevo tema.

Nota: este mensaje no se mostrará hasta que sea aprobado por un moderador.

Nombre:
Email:
Asunto:
Icono del mensaje:

Verificación:
Escribe las letras mostradas en la imagen
Escuchar el texto / Solicitar otra imagen

Escribe las letras mostradas en la imagen:
¿Cuánto es uno menos uno? (en letra y en minúscula):

teclas método abreviado (sólo IE y Mozilla): presiona alt+s para enviar formulario/publicar o alt+p para previsualizar


Sumario de Temas

Publicado por: rank
« en: Agosto 27, 2019, 03:08:28 pm »

Muchas gracias!!!!!

Publicado por: Quetzalcoatl
« en: Agosto 23, 2019, 08:03:08 am »

Que tal RANK

 Aunque no se si entendí bien, pero tu código es para que cuando se cambien los modos restrictivos en el canal ya sea por cualquier @op, estos sean quitados después de expirar X tiempo después, variando de acuerdo al tipo.

Después de ver tu código a simple vista encontré tres detalles siendo el ultimo el de tú duda
1.- No se debe tener mas de un evento repetido, es mejor poner solo un evento ya que en algunas versiones del mIRC, solo toma el primero que le hará caso(varia de acuerdo a la versión)
2.- El identificador de $1 aplica solo a los modos que se aplican al canal, por lo que cuando mandas un notice $me $2 no te aparece quien puso el modo, para ello se usa $nick
3.- La razón por la que los modos se quiten, es por que estas creando timers infinitos la sintaxis es timer<nombre/opcional> <repeticiones> <Tiempo en seg> <Comando(s)> y en tu ejemplo pones 0, el cual es indicativo para que sea infinito, es por ello que cuando alguien pone un modo restrictivo, este se removerá si es que el ciclo de su remoción llego de nuevo.

Quizás este código te sea útil para lo que intentas realizar:
Código: [Seleccionar]
on @*:mode:#xe:{
  var %a $remove($1,+), %b
  if (($left($1,1) == +) && (%a isin RWMm)) {
    if ($asc(%a) == 109) { %b = 250 } | elseif ($asc(%a) == 77) { %b = 600 } | else { %b = $replace(%a,$chr(82),300,$chr(87),1800) }
    .notice $me $nick pone modo $1-
    .timerMODE_ $+ $asc(%a) 1 %b mode $chan $replace($1,+,-)
  }
}

Saludos cordiales.

PD: la variable %a es el modo y %b se usara para el tiempo, de acuerdo al valor ascii del modo, es como se asigna el tiempo en %b
Publicado por: rank
« en: Agosto 23, 2019, 05:28:32 am »

Hola.

He intentado hacer un pequeño código, para cuando pongan algún moderador de mi canal, un modo restrictivo, el mismo bot cuando pase cierto tiempo lo quite, por si en algún momento se le va la pinza y cierra y deja el modo puesto.

Código: [Seleccionar]
on @*:mode:#xe:{

   notice $me $2 pone modo +R | .timerModeR 0 300 mode #xe -R
}

on @*:mode:#xe:{

   notice $me $2 pone modo +W | .timerW 0 1800 mode #xe -W

}

on @*:mode:#xe:{

   notice $me $2 pone modo +M | .timereme 0 600 mode #xe -M
}

on @*:mode:#xe:{

   notice $me $2 pone modo +m | .timerres 0 250 mode #xe -m
}

El problema es que solo quita el tiempo por el tiempo que le he puesto.

Los demás cuando ponen el modo lo quita al instante.

¿qué hago mal?

Un saludo.

anything