Autor Tema: Rawmode  (Leído 125 veces)

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

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Rawmode
« en: Marzo 20, 2020, 05:00:37 pm »
Hola.

He probado el rawmode que hizo Quetzalcoatl, muy bueno por cierto.

Pero me he dado cuenta, que cuando le salta un akick alguien, ahora lo da el servidor y no el chan como antiguamente.

Ejemplo:

Código: [Seleccionar]
[14:22] –› edinburgh.chathispano.com Pone el modo +b *!*@f9A.0b9.MO1U63.virtual
[14:22] –› Baneados:
[14:22] –› edinburgh.chathispano.com: Akick *!Escribe@* affects Escribe (Escribe@f9A.0b9.MO1U63.virtual): Molestias reiteradas en el canal (antoniocepeda)

Como veis la pestaña "Baneados" se queda en blanco.

Aunque en cambio si el usuario que pone el BAN lo pone un moderador, si sale el nick que ha sido baneado:

Código: [Seleccionar]
[14:23] –› CabronceteMadrid Pone el modo +b *!*@lpI.p0b.6UUnIG.virtual
[14:23] –› Baneados: Sergio24
[14:23] –› Kick: Sergio24 ha sido kickeado por CabronceteMadrid [ Reflexione sobre su comportamiento ]

El código que hizo Quetzalcoatl es este:

Código: [Seleccionar]
on ^*:RAWMODE:#:{
  echo $chan $timestamp –› $nick Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan baneado $+($chr(3),03,$ial($2).nick) } | elseif ($1 == -b) { echo $chan desbaneado $+($chr(3),03,$ial($2).nick) }
  haltdef
}

¿Alguna solución para ello?

Un saludo y muchas gracias.

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 75
  • Karma: +131/-3
  • Sexo: Masculino
    • ElChatIRC.com
Re:Rawmode
« Respuesta #1 en: Marzo 20, 2020, 05:19:50 pm »
Para cambios de modo por el servidor se usa el evento on SERVERMODE que sigue el mismo formato que los eventos on MODE y on RAWMODE.

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Re:Rawmode
« Respuesta #2 en: Marzo 20, 2020, 05:23:33 pm »
Hola Cadaver

Entonces tendria que añadir un on SERVERMODE si no te he entendido mal.

Código: [Seleccionar]
on ^*:SERVERMODE:#:{
  echo $chan $timestamp –› $nick Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan baneado $+($chr(3),03,$ial($2).nick) } | elseif ($1 == -b) { echo $chan desbaneado $+($chr(3),03,$ial($2).nick) }
  haltdef
}

¿Asi no?

Un saludo.

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 75
  • Karma: +131/-3
  • Sexo: Masculino
    • ElChatIRC.com
Re:Rawmode
« Respuesta #3 en: Marzo 20, 2020, 05:24:42 pm »
Es correcto, teóricamente debe de funcionar así.

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Re:Rawmode
« Respuesta #4 en: Marzo 20, 2020, 05:42:08 pm »
Hola.

Acabo de probarlo y sigue la pestaña de "Baneados" en blanco.

Código: [Seleccionar]
on ^*:SERVERMODE:#:{
  echo $chan $timestamp $+ 12 –› 12 12 12 12 12 $nick 2Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan $timestamp $+ 12 –› 12 12 12 12 12 Baneados: $+($chr(3),03,$ial($2).nick) | elseif ($1 == -b) { echo $chan desbaneado $+($chr(3),03,$ial($2).nick) }
  haltdef
}

Un saludo.

Desconectado Cadaver

  • Miembro Junior
  • **
  • Mensajes: 75
  • Karma: +131/-3
  • Sexo: Masculino
    • ElChatIRC.com
Re:Rawmode
« Respuesta #5 en: Marzo 20, 2020, 06:44:19 pm »
NOTA: IAL (Internal Address List) funciona siempre y cuando al que se le aplica el BAN/KICK entra después que tu ingresaste al canal, de lo contrario no te aparecerá el NICK al cual estas solicitando a IAL el NICK de dicha ADDRESS ya que no tiene esa información registrada, para recabar toda la información de NICK/ADDRESS de todos los usuarios que ya están en el CANAL cuando tu ingresas tendrías que hacer un /WHO #CANAL cada vez que ingreses al CANAL para que el mIRC guarde temporalmente toda la información en su IAL, esto no se recomienda cuando son muchos usuarios en el canal solicitado ya que te ocasionaría otros problemas de lag con autojoins, etc.

Código: [Seleccionar]
on ^*:SERVERMODE:#:{
  echo $chan $timestamp $+ 12 –› $nick 2Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan $timestamp 12–› Baneados: $+($chr(3),03,$ial($2).nick) }
  if ($1 = -b) { echo $chan $timestamp 12–› Desbaneados: $+($chr(3),03,$ial($2).nick) }
  haltdef
}

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Re:Rawmode
« Respuesta #6 en: Marzo 20, 2020, 07:28:41 pm »
Hola.

Es el mismo que tenia, si te fijas bien, estaba ya añadida el ial, pero no la guarda de forma temporal, porque sigue poniendo en blanco lo de los baneados.

Desconectado Jota

  • Novato
  • *
  • Mensajes: 17
  • Karma: +0/-0
Re:Rawmode
« Respuesta #7 en: Marzo 21, 2020, 05:15:47 am »
Hola chicos.

Yo he probado tanto uno como otro... y es cierto que en algunos banes, como el que pone Gyk, no te dice el nick que ha Baneado.

Y si por ejemplo pongo:
Código: [Seleccionar]
/mode #canal +b *!*@785.aw3.rtgda.virtual (Sale el Baneado en blanco)

Igual el +b y -b había que retocarlo, que no lo sé, porque no se mucho de esto.

igual en vez de $2 no seria $bnick o estoy en un error?

Un saludo.



Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 128
  • Karma: +171/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Rawmode
« Respuesta #8 en: Marzo 23, 2020, 07:01:41 pm »
Hola a Todos

Por lo que leo, en el post original, se menciona los cambios de que ahora chan no actúa directamente sino que es el servidor quien lo hace, o por lo menos asi aparece igual cuando pone +/ o,V, y dado que aplico un akick
Citar
[14:22] –› edinburgh.chathispano.com Pone el modo +b *!*@f9A.0b9.MO1U63.virtual
[14:22] –› Baneados:
[14:22] –› edinburgh.chathispano.com: Akick *!Escribe@* affects Escribe (Escribe@f9A.0b9.MO1U63.virtual): Molestias reiteradas en el canal (antoniocepeda)
Pudiera ser que no este actualizado el ial como menciona Cadaver o quizás no correspondiente al usuario por que usa un VHOST y no una ip.virtual.
NOTA: IAL (Internal Address List) funciona siempre y cuando al que se le aplica el BAN/KICK entra después que tu ingresaste al canal, de lo contrario no te aparecerá el NICK al cual estas solicitando a IAL el NICK de dicha ADDRESS ya que no tiene esa información registrada, para recabar toda la información de NICK/ADDRESS de todos los usuarios que ya están en el CANAL cuando tu ingresas tendrías que hacer un /WHO #CANAL cada vez que ingreses al CANAL para que el mIRC guarde temporalmente toda la información en su IAL, esto no se recomienda cuando son muchos usuarios en el canal solicitado ya que te ocasionaría otros problemas de lag con autojoins, etc.
En todo caso primero debemos saber si el ial esta activo de lo contrario activarlo, para eso usamos
//echo -s $ial
si da un resultado diferente de $true entonces lo activamos con /ial on
Una ves dicho eso tenemos en cuenta lo que menciona Cadaver
Citar
Para cambios de modo por el servidor se usa el evento on SERVERMODE que sigue el mismo formato que los eventos on MODE y on RAWMODE.
El codigo que menciona originalmente Gyk, fue en respuesta a una pregunta del foro, donde estaba trabajando con ese codigo, ya que quien lo requeria lo posteo, pero igual lo mas indicado seria usar on MODE
Jota como comentario previo a este menciona a $bnick, aunque seria una solucion sencilla, no es lo indicado por dos motivos, la primera es que creo que solo aplica al evento ON MODE y no a los anteriores mencioanados y la segunda es que pasa si el nick sancionado en la ip.virtual corresponde a mas de uno (clones) o es un ban generico como *!SoyUNclonador@*, en ese caso $bnick no existiria e igual apareceria Baneado en blanco.
Pero sin embargo el comentario de Jota tiene mucha congruencia el usar $bnick y usando el evento on mode pudiera ser la solucion que requieren
Código: [Seleccionar]
alias -l listabn { var %a 1, %b | while ($ial($1,%a).nick) { %b = %b $v1 | inc %a } | return %b }
on *:ban:#:{ echo -t $chan Baneado $+ $iif($bnick,: $bnick,s: $listabn($banmask)) }
on *:unban:#:{ echo -t $chan Desbaneado $+ $iif($bnick,: $bnick,s: $listabn($banmask)) }
en los eventos de ban y unban, se hace una comparacion si existe bnick, de lo contrario con la mascara de baneo obtiene los resultados, por medio del alias listabn, que retornara los nicks coincidentes con esa mascara, pero es necesario tener en cuenta que el ial debe estar activado.

Saludos

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Re:Rawmode
« Respuesta #9 en: Marzo 23, 2020, 08:04:23 pm »
Citar
En todo caso primero debemos saber si el ial esta activo de lo contrario activarlo, para eso usamos
//echo -s $ial
si da un resultado diferente de $true entonces lo activamos con /ial on

$true ( o esa activo).

Lo demas me he liado todo lo que has dicho. xD

Si no lo entendido mal

1º Paso: SERVERMODE

Código: [Seleccionar]
on ^*:SERVERMODE:#:{
  echo $chan $timestamp $+ 12 –› $nick 2Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan $timestamp 12–› Baneados: $+($chr(3),03,$ial($2).nick) }
  if ($1 = -b) { echo $chan $timestamp 12–› Desbaneados: $+($chr(3),03,$ial($2).nick) }
  haltdef
}

2º Paso:

Código: [Seleccionar]
alias -l listabn { var %a 1, %b | while ($ial($1,%a).nick) { %b = %b $v1 | inc %a } | return %b }
on *:ban:#:{ echo -t $chan Baneado $+ $iif($bnick,: $bnick,s: $listabn($banmask)) }
on *:unban:#:{ echo -t $chan Desbaneado $+ $iif($bnick,: $bnick,s: $listabn($banmask)) }

3º Paso: Borraria el RAWMODE ?

Código: [Seleccionar]
on ^*:RAWMODE:#:{
  echo $chan $timestamp –› $nick Pone el modo $+($chr(3),12,$1-)
  if ($1 = +b) { echo $chan baneado $+($chr(3),03,$ial($2).nick) } | elseif ($1 == -b) { echo $chan desbaneado $+($chr(3),03,$ial($2).nick) }
  haltdef
}

Ya me diras.

¡Gracias!

Desconectado Gyk

  • Novato
  • *
  • Mensajes: 18
  • Karma: +1/-4
Re:Rawmode
« Respuesta #10 en: Marzo 25, 2020, 01:29:26 am »
Hola de nuevo.

¿Alguna idea?

Gracias!

 

anything