Ayuda IRcap > Ayuda scripting IRcap

Anti-Repeticiones con Excepciones

(1/3) > >>

Zentinel:
Buenas tengo este codigo Anti-Repeticiones con avisos que me gustaria añadirle algunas excepciones de palabras como por ejemplo los xD o alguna otra cosa mas mediante archivo de texto .txt pero no ve loa forma y e prbado varias formas y nada a ver si alguien puede echarme una mano Gracias!

on *:text:*:#: {
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }
}

Aquí dejo el codigo a ver si alguien es tan amable de echarme una mano!

Randy:

--- Código: ---on *:text:*:#: {
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {

var %a 1
;Excepciones deben ser guardadas en el archivo 'Excepciones.txt' del directorio del mIRC.
;Una palabra por linea
while %a <= $lines(excepciones.txt) {
var %b 1
while %b <= $numtok($1-,32)   {
if $read(excepciones.txt,%a) == $gettok($1-,%b,32) {
halt
}
inc %b
}

inc %a
}

  if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }
}
--- Fin del código ---
No lo he probado xd asi que suerte.

Zentinel:
Randy así no funciona pero muchas gracias de todas formas

Ya encontré la forma para que funcione
El archivo .txt ExcepcionesTextos.txt tiene que en la misma carpeta que vaya el código, osease como lo pongan o script.mrc o antirepes.mrc.


--- Código: ---[b]on *:text:*:#: {
[color=red]if ($2 == $null) && ($read($scriptdirExcepcionesTextos.txt,w,$left($1,2) $+ *) != $null) return[/color]
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }[/b]
}
--- Fin del código ---

Aquí os lo dejo por si queréis probarlo o simplemente a alguien le interesa para su canal!

asturgijones:
Hola para que el bot de 3 avisos como hago? Gracias

Zentinel:
on *:text:*:#: {
if ($2 == $null) && ($read($scriptdirExcepcionesTextos.txt,w,$left($1,2) $+ *) != $null) return
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan  $nick  --> Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      } <--- primero aviso

      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-{ msg  $chan $nick --> Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos! (2º Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return 
      }  <--- segundo aviso

     else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg  $chan $nick --> Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una       vez ya le leemos! (3er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
}    <-- tercer aviso
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan Se le Advirtío  $nick $+  , De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }[/b]
}

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Responder

Ir a la versión completa