Autor Tema: Cuando entre cierta ipvirtual active el modo.  (Leído 519 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 25
  • Karma: +1/-5
Cuando entre cierta ipvirtual active el modo.
« en: Mayo 08, 2020, 03:30:58 am »
Hola.

Llevo todo el día intentándolo, me gustaría hacer que cuando entre un trozo de una ipvirtual se active el modo 20 minutos y pasado ese tiempo que se borre.

Código: [Seleccionar]
on *:JOIN:#:{
  if (*time* isin $address($nick,2)) && ($me isop $chan) {
    timerpesado 0 1 mode $chan +W
    timerpesado 0 1200 mode $chan -W
  }
}

Un saludo, gracias!

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 141
  • Karma: +203/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #1 en: Mayo 08, 2020, 03:59:44 am »
Hola Gyk

El problema es que estas sobre escribiendo el timer, debido a que usas el mismo nombre(timerpesado) en los dos eventos que quieres ejecutar, debes cambiarle el nombre o no usar el primero ya que es para un conteo de un seg. Pero el problema no termina en eso, ya que es un trozo de código que comparas, puede haber mas coincidencias al entrar uno o más nick que cumplan el requisito, en tal caso seria mejor hacer una comparación si el modo de +W esta presente en el canal y en caso de estarlo, que no entre en la comparación y reinicie el timer sucesivamente.

pudiendo ser estos dos
Código: [Seleccionar]
on *:JOIN:#:{
   if ((*time* isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    timerpesado_1 0 1 mode $chan +W
    timerpesado_2 0 1200 mode $chan -W
  }
}
o sencillamente
Código: [Seleccionar]
on *:JOIN:#:{
   if ((*time* isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    mode $chan +W | timerpesado 0 1200 mode $chan -W
  }
}

use la comparación el código ascii equivalente a la W mayúscula $chr(87), ya que no es lo mismo W que w, si es que existiera ese modo en minúsculas en el server en el que se aplicara(W = 87 w = 119)

Saludos

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 25
  • Karma: +1/-5
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #2 en: Mayo 08, 2020, 04:12:43 am »
Hola Quetzalcoatl

He probado las 2 maneras y no me funciona ninguna.

He cerrado y abierto el script y tampoco :/

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 141
  • Karma: +203/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #3 en: Mayo 08, 2020, 04:17:30 am »
¿tienes otro evento JOIN dentro de donde has colocado eso?, si es eso recuerda que solo toma al primero.
 o igual es esto

if ((*time* isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {

dejalo como
Código: [Seleccionar]
if ((time isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {sin los *

espero te funcione

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 25
  • Karma: +1/-5
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #4 en: Mayo 08, 2020, 04:26:22 am »
Hola.

He borrado el que tenia hecho y he puesto este.

Y he probado los 2 ejemplos.

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 141
  • Karma: +203/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #5 en: Mayo 08, 2020, 04:34:06 am »
lo he probado y me funciona correctamente sin los *
Código: [Seleccionar]
on *:JOIN:#:{
   if ((time isin $address($nick,2)) && ($me isop $chan) && ($chr(87) !isin $chan(#).mode)) {
    mode $chan +W | timerpesado 0 1200 mode $chan -W
  }
}

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 25
  • Karma: +1/-5
Re:Cuando entre cierta ipvirtual active el modo.
« Respuesta #6 en: Mayo 08, 2020, 05:10:41 am »
Hola.

Ahora si funciona perfectamente, o sea que al final todo era por los asteriscos, no?

Un saludo y muchas gracias.

PD: Voto para ti