Autor Tema: NICK COMPLETION EN TODAS LAS PALABRAS  (Leído 27070 veces)

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

Rulyms

  • Visitante
NICK COMPLETION EN TODAS LAS PALABRAS
« en: Noviembre 26, 2009, 03:56:06 pm »
Buenas:
Quería saber cómo se puede hacer para que el nick completion funcione en todas las palabras, no solamente en la primera.

Pongo un ejemplo para explicarme mejor:

eyyyyyyy ANTONIO ¿Cómo estás?

Espero haberme explicado

Saludos

TuRNeR-uP

  • Visitante
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #1 en: Noviembre 28, 2009, 08:56:57 pm »
Para tener un nickcompletion en todos los Nick de la frase, deberás de cambiar un alias en el script ircap1.mrc.

El alias a cambiar es el  MOD^NCOMP
Estará más o menos en la línea 817 del archivo ircap1.mrc
Tendrás que borrar esto

#mod^ncomp2 off
alias mod^ncomp {
  if ($1 ison $active ) {
    %nick^comp = $1
    if ($gettok(%mod^ncomp,3,8) != off) { %nick^comp = $ [ $+ [ $replace($ifmatch,<t>,%nick^comp) ] ] }
    %nick^comp = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+ 
    %mi^frase = $deltok(%mi^frase,1,32)
  }
}
#mod^ncomp2 end
alias MOD^NCOMP return


Y en su lugar pones esto

#mod^ncomp on
alias MOD^NCOMP {
  %cuentaf = $1-
  %ModFN = $1-
  var %nf  = 1
  while %nf <= $numtok(%cuentaf,32) {
    var %nick^comp = $gettok(%cuentaf,%nf,32)
    if %nick^comp ison $active {
      var %cf = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+ 
      var %Yf = * $+ %nick^comp $+ *
      if %Yf iswm %yatanick  { goto L3 }
      var %ModFN = $replace(%ModFN,%nick^comp,%cf)
      var %yatanick = $addtok(%yatanick,%nick^comp,32)
    }
    :L3
    inc %nf
  }
  %mi^frase = %ModFN
  unset %ModFN
  unset %yatanick
  unset %cuentaf
  unset %nf
  return
}
#mod^ncomp end
alias MOD^NCOMP return


Cuidado al editar el archivo si lo haces mal podrias dañar el IRcap
Suerte
« última modificación: Noviembre 30, 2009, 03:09:59 pm por Lokiyo, Razón: Inidicación incorrecta del fichero ircap.ini »

Rulyms

  • Visitante
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #2 en: Noviembre 29, 2009, 01:59:54 am »
Graciasssssss funciona

Lo único que lo tuve que modificar desde el editor de script porque en el ircap.ini no me aparecen esas líneas
y la variable era comp a secas

Me has hecho un hombre! XDDDDDDDD

TuRNeR-uP

  • Visitante
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #3 en: Noviembre 29, 2009, 02:43:56 am »
Lo único que lo tuve que modificar desde el editor de script porque en el ircap.ini no me aparecen esas líneas
y la variable era comp a secas
ummm ¿que versión de IRcap usas? tengo varios y en todos esta como te he puesto
de todos modos me alegro que te funcione

Rulyms

  • Visitante
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #4 en: Noviembre 29, 2009, 04:53:47 pm »
Lo único que lo tuve que modificar desde el editor de script porque en el ircap.ini no me aparecen esas líneas
y la variable era comp a secas
ummm ¿que versión de IRcap usas? tengo varios y en todos esta como te he puesto
de todos modos me alegro que te funcione


IRCAP 8.3
Mil gracias nuevamente

Desconectado Lokiyo

  • Administrador
  • Héroe
  • *****
  • Mensajes: 739
  • Karma: +22/-5
  • Sexo: Masculino
    • El revoltijo de Lokiyo
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #5 en: Noviembre 30, 2009, 03:07:21 pm »
Corregido en el post original, ya que evidentemente no es ircap.ini, sino ircap1.mrc

Jazmin22

  • Visitante
Re: NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #6 en: Febrero 20, 2013, 04:55:20 pm »
Para tener un nickcompletion en todos los Nick de la frase, deberás de cambiar un alias en el script ircap1.mrc.

El alias a cambiar es el  MOD^NCOMP
Estará más o menos en la línea 817 del archivo ircap1.mrc
Tendrás que borrar esto

#mod^ncomp2 off
alias mod^ncomp {
  if ($1 ison $active ) {
    %nick^comp = $1
    if ($gettok(%mod^ncomp,3,8) != off) { %nick^comp = $ [ $+ [ $replace($ifmatch,<t>,%nick^comp) ] ] }
    %nick^comp = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+
    %mi^frase = $deltok(%mi^frase,1,32)
  }
}
#mod^ncomp2 end
alias MOD^NCOMP return


Y en su lugar pones esto

#mod^ncomp on
alias MOD^NCOMP {
  %cuentaf = $1-
  %ModFN = $1-
  var %nf  = 1
  while %nf <= $numtok(%cuentaf,32) {
    var %nick^comp = $gettok(%cuentaf,%nf,32)
    if %nick^comp ison $active {
      var %cf = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+
      var %Yf = * $+ %nick^comp $+ *
      if %Yf iswm %yatanick  { goto L3 }
      var %ModFN = $replace(%ModFN,%nick^comp,%cf)
      var %yatanick = $addtok(%yatanick,%nick^comp,32)
    }
    :L3
    inc %nf
  }
  %mi^frase = %ModFN
  unset %ModFN
  unset %yatanick
  unset %cuentaf
  unset %nf
  return
}
#mod^ncomp end
alias MOD^NCOMP return


Cuidado al editar el archivo si lo haces mal podrias dañar el IRcap
Suerte

me resulta pero yo tengo nick completion de dos colores y con ese no me funciona como puedo hacer para que me ande con el nick completion q yo utiliso?
« última modificación: Febrero 20, 2013, 05:10:50 pm por Jazmin22 »

nvidiap

  • Visitante
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #7 en: Febrero 25, 2013, 07:12:12 pm »
Hola.

He copiado ese script y funciona bien hasta que entras en un canal con un nick (en este caso es un bot de la red) que es el  o (se llama así O).

En ese caso, cuando se escribe algo que tenga una o suelta, se arma el lío.

Ejemplo:

Llovio ayer o hizo sol - (aplicando el nick completion )  ->  Ll[o]vi[o] ayer [o] hiz[o] s[o]l

¿Hay alguna forma de solucionar eso?

Un saludo.
« última modificación: Febrero 25, 2013, 07:17:51 pm por nvidiap »

Desconectado Lokiyo

  • Administrador
  • Héroe
  • *****
  • Mensajes: 739
  • Karma: +22/-5
  • Sexo: Masculino
    • El revoltijo de Lokiyo
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #8 en: Febrero 26, 2013, 06:54:39 pm »
Se podría incluir una lista de nicks que no se procesasen para el nick completion.

Desconectado S|Lv3R

  • Novato
  • *
  • Mensajes: 31
  • Karma: +3/-66
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #9 en: Abril 08, 2013, 03:39:57 pm »
Este codigo esta genial, pero le veo un pequeño fallo, por ejemplo yo siempre escribo en azul y cuando pones el nick en medio de una frase po ejemplo. HOla NICK estoy aqui, lo que viene detras sale sin el color, habria alguna manera de ponerle el color? Un saludo

TheMexicanForce

  • Visitante
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #10 en: Junio 25, 2013, 12:51:07 am »
Bueno, hoy alguien me pidio ayuda a solucionar el problema mensionado por nvidiap… y eh aqui la modificacion que hice:

Código: [Seleccionar]
#mod^ncomp on
alias mod^ncomp {
  %mi^frase = $null
  var %token = 1
  while ($gettok($1-,%token,32) != $null) {
    var %word = $v1
    if (%word ison $active) {
      if ($gettok(%mod^ncomp,3,8) != off) { %word = $ [ $+ [ $replace($ifmatch,<t>,%word) ] ] }
      %word = $+($gettok(%mod^ncomp,1,8),%word,$gettok(%mod^ncomp,2,8),,%colorDeLetra)
    }
    %mi^frase = %mi^frase %word
    inc %token
  }
}
#mod^ncomp end

Nota: tambien intento resolver el problema mencionado por S|Lv3R agregando un variable llamado %colorDeLetra el cual puedes setear utilizando: /set %colorDeLetra (color)
(color) = ctrl+k Numero

espero les sea util esto

Desconectado kn1ght

  • Miembro Junior
  • **
  • Mensajes: 63
  • Karma: +5/-93
  • Sexo: Masculino
  • Un simple Ayudante al servicio de la comunidad
    • http://www.foroircap.com
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #11 en: Junio 25, 2013, 12:56:09 am »
Muchas Gracias TheMexicanForce funciona exelente ahora no da  ese problema.
"Hay cosas que podeis y cosas que no podeis"
El Poder De IRC Persevera en el tiempo.
ChatHispano
http://www.foroircap.com
http://www.foroircap.net

Zarza

  • Visitante
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #12 en: Junio 25, 2013, 03:04:20 am »
Hola

TheMexicanForce muchas gracias, yo tambien lo he puesto y va genial :-)

Yo no entiendo mucho de sripting, he tonteado un poco a ver que se me ocurre, todavia me veo muy pez, pero habia pensado que estaria muy bien que hubiese un Addons, con un On/Off del completion de todas las palabras... eso os parece posible que se pueda hacer?

Un saludo

Bueno, hoy alguien me pidio ayuda a solucionar el problema mensionado por nvidiap… y eh aqui la modificacion que hice:

Código: [Seleccionar]
#mod^ncomp on
alias mod^ncomp {
  %mi^frase = $null
  var %token = 1
  while ($gettok($1-,%token,32) != $null) {
    var %word = $v1
    if (%word ison $active) {
      if ($gettok(%mod^ncomp,3,8) != off) { %word = $ [ $+ [ $replace($ifmatch,<t>,%word) ] ] }
      %word = $+($gettok(%mod^ncomp,1,8),%word,$gettok(%mod^ncomp,2,8),,%colorDeLetra)
    }
    %mi^frase = %mi^frase %word
    inc %token
  }
}
#mod^ncomp end

Nota: tambien intento resolver el problema mencionado por S|Lv3R agregando un variable llamado %colorDeLetra el cual puedes setear utilizando: /set %colorDeLetra (color)
(color) = ctrl+k Numero

espero les sea util esto

TheMexicanForce

  • Visitante
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #13 en: Junio 25, 2013, 04:46:31 am »
Bueno ya que hoy se siente como un dia de dar ayuda aqui les va un poco mas:

Primero: Zarza, no se si entiendo bien lo que quieres obtener. Lo que yo creo que quieres decir es combinar el original con el que se ah modificado y tener opcion de elegir cual de los dos se quiere utilizar. Si esto es lo que quieres entonces utiliza esto:

Código: [Seleccionar]
#mod^ncomp on
alias mod^ncomp {
  if (%fullnickComp != on) {
    if ($1 ison $active ) {
      %nick^comp = $1
      if ($gettok(%mod^ncomp,3,8) != off) { %nick^comp = $ [ $+ [ $replace($ifmatch,<t>,%nick^comp) ] ] }
      %nick^comp = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+
      %mi^frase = $deltok(%mi^frase,1,32)
    }
  }
  else {
    %mi^frase = $null
    var %token = 1
    while ($gettok($1-,%token,32) != $null) {
      var %word = $v1
      if (%word ison $active) {
        if ($gettok(%mod^ncomp,3,8) != off) { %word = $ [ $+ [ $replace($ifmatch,<t>,%word) ] ] }
        %word = $+($gettok(%mod^ncomp,1,8),%word,$gettok(%mod^ncomp,2,8),,%colorDeLetra)
      }
      %mi^frase = %mi^frase %word
      inc %token
    }
  }
}
#mod^ncomp end

con esto ultimo puedes utilizar: /set %fullnickcomp on|off

Segundo: ya que muchos de aqui entran al servidor de IRC-Hispano y no quieren que el nick completition afecte a los bots O B F entonces eh modificado lo siguiente:

Código: [Seleccionar]
#mod^ncomp on
alias mod^ncomp {
  %mi^frase = $null
  var %token = 1
  while ($gettok($1-,%token,32) != $null) {
    var %word = $v1
    if (%word ison $active)  && (!$regex(%word,^(o|b|f)$)) {
      if ($gettok(%mod^ncomp,3,8) != off) { %word = $ [ $+ [ $replace($ifmatch,<t>,%word) ] ] }
      %word = $+($gettok(%mod^ncomp,1,8),%word,$gettok(%mod^ncomp,2,8),,%colorDeLetra)
    }
    %mi^frase = %mi^frase %word
    inc %token
  }
}
#mod^ncomp end

y los dos codigos combinados aqui:

Código: [Seleccionar]
#mod^ncomp on
alias mod^ncomp {
  if (%fullnickComp != on) {
    if ($1 ison $active ) {
      %nick^comp = $1
      if ($gettok(%mod^ncomp,3,8) != off) { %nick^comp = $ [ $+ [ $replace($ifmatch,<t>,%nick^comp) ] ] }
      %nick^comp = $gettok(%mod^ncomp,1,8) $+ %nick^comp $+  $+ $gettok(%mod^ncomp,2,8) $+
      %mi^frase = $deltok(%mi^frase,1,32)
    }
  }
  else {
    %mi^frase = $null
    var %token = 1
    while ($gettok($1-,%token,32) != $null) {
      var %word = $v1
      if (%word ison $active) && (!$regex(%word,^(o|b|f)$)) {
        if ($gettok(%mod^ncomp,3,8) != off) { %word = $ [ $+ [ $replace($ifmatch,<t>,%word) ] ] }
        %word = $+($gettok(%mod^ncomp,1,8),%word,$gettok(%mod^ncomp,2,8),,%colorDeLetra)
      }
      %mi^frase = %mi^frase %word
      inc %token
    }
  }
}
#mod^ncomp end

bueno espero esto les ayude… (y perdon por mi mal uso del leguage español no soy muy bueno con ningun lenguage)

Zarza

  • Visitante
Re:NICK COMPLETION EN TODAS LAS PALABRAS
« Respuesta #14 en: Junio 25, 2013, 06:00:43 am »
Hola TheMexicanForce !!!

Impresionante!! tengo que admitir, que no esperaba una respuesta tan rapida a mi post :-)

Despues de explicarme tan mal, no era exactamente a lo que me referia, pero satisface de sobra el resultado que queria obtener.

Era tener la opcion de activarlo o de dejarlo como si no hubiese ningun cambio, y con la ultima opcion, ademas de conseguir ese proposito, quita las molestias de los bots de B O y F, lo cual hace que sea mucho mas agradable.

Muchisimas gracias, por tu rapidez, por las variables, tu explicacion, por tu molestia y por tus conocimientos :-)

Un saludo

 

anything