;.::Alias para clones::. por BaZoOkA www.ViKIrC.tk
;el siguiente codigo debes colocarlo dentro de la seccion REMOTOS puedes abirlos asi Alt + R ;)

;inicio del alias -> clones.nick
alias clones.nick { 
;declaramos una variable local con el valor de cantidad nick de dentro del la mascara del tipo *!*@host.com.mx
  var %total.clones = $ialchan($wildsite,#,0)
;si el total de nick dentro de la mascara es mayor a uno, si es mayor entrara a las funciones del alias y si no es mayor ke uno no lo hara :DDD
  if (%total.clones > 1) {
;declaramos una variable local con valor 1 
    var %inc.clones 1
;mientras existan nick dentro de la mascara hara la accion
    while ($ialchan($wildsite,#,%inc.clones).nick) {
;incrementamos la variable para no caer en un bucle infinito, ademas ke eso nos servira para evaluar los nicks dentro de la mascara -> $ialchan($wildsite,#,%inc.clones).nick
      inc %inc.clones
;asignamos los nicks encontrados en una variable, el $addtok es para asignarle un token ke sera el espacio el numero 32 para ke keden de esta forma-> Clon Clon2 y no asi ClonClon2
;igual y pueden meterle otro token el ke gusten una "," por ejemplo la coma es el numero ascii  44
      var %Clones.nicks = $addtok(%Clones.nicks,$ifmatch,32)
;cerramos el while
    }
;retornamos los nicks que ya estan guardados en %Clones.nicks
    return %Clones.nicks
;cerramos la condicion if (%total.clones > 1)
  }
;y cerramos el alias y con esto terminamos :)
}
;como podemos usar /clones.nick , primero ke nada la sintaxis es asi $clones.nick(nick), podemos ver los clones de un nick asi
;//echo -a $clones.nick(BaZoOkA) por ejemplo  o algo mas util lo puede meter en un evento on join y asi ver los clones del
;nick ke entra a determinado canal...


;bien antes habiamos visto como ver los clones, bueno ahora veamos como poder sacar del canal a esos clones... ;)
;inicio del alias -> kick.clones
alias kick.clones { 
;declaramos una variable local con el valor de cantidad nick de dentro del la mascara del tipo *!*@host.com.mx
  var %kick.total.clones = $ialchan($address($1,2),#,0)
;esto es igual ke el primer alias si es mayor que uno iniciamos.
  if (%kick.total.clones > 1) { 
;declaramos una variable local con valor 1
    var %kick.inc.clones 1
;igual ke el primero mientras existan nicks dentro de la mascara que haga la accion
    while ($ialchan($address($1,2),#,%kick.inc.clones).nick) {
;incrementamos la %kick.inc.clones, igual que el primer alias :)
      inc %kick.inc.clones
;si el nick encontrado es diferente de mi, entonces hace la funcion y si es igual que mi no la hace
;es obvio porke no kreo ke alguien kiera patearse xDD
      if ($ifmatch != $me) {
;pateamos al clon encontrado, "el mensaje de kick puedes cambiarlo a tu gusto :)
        kick $chan $ifmatch Adios a tus clones [ $+ %kick.total.clones Clones en $address($1,2) $+ ]
;cerramos la condicion if ($ifmatch != $me)
      }
;cerramos el while
    }
;cerramos la condicion if (%kick.total.clones > 1)
  }
;y terminamos cerrando el alias
}

;la utilizacion de este alias y el siguiente lo explico al final del siguiente alias

;bueno esto es un alias sencillo en el cual banearemos el host del clon 
alias ban.clones { 
;declaramos una variable local con el valor de cantidad nick de dentro del la mascara del tipo *!*@host.com.mx
  var %ban.total.clones = $ialchan($address($1,2),#,0)
;esto es igual ke todos los alias si el total de nick dentro de la mascara es mayor que 1 iniciamos.
;esto lo hago para no banear a nicks sin ke tengan clones ;)
  if (%ban.total.clones > 1) {
;ponemos un ban de tipo *!*@host.com.mx para asegurar que los clones no vuelvan a entrar :)
mode $chan +b $address($1,2)
;aqui mandamos a llamar al alias /kick.clones para patear todos los clones de tal mascara
kick.clones $1 
;cerramos la condicion if (%ban.total.clones > 1)
}
;cerramos el alias
}

;bien, bien ya tenemos un alias para patear clones y otro para banear y patear, bueno ahora vamos a la utilizacion
;puedes meterlo dentro de un hotlink en el evento join un ejemplo .::Entra::. BaZoOkA (ViKIrC@host.mx) Clones: $clones.nick($nick) -- [Kick] [KickBan]
;asi cuando tu veas ke tenga clones desides si lo pateas o kickban 
;bien no explico lo de los hotlinks porke no entra dentro de esto :)
;ahora veamos otra cosita un ejemplo de la utilizacion y proteccion contra clones :)

;iniciamos el evento on join que es el evento que se realiza a la entrada de un nick a determinado canal
on *:JOIN:#: {
  ;iniciamos ua variable local en donde veremos que cantidad de clones encontrados en el host
  var %proteccion.total.clones = $ialchan($wildsite,#,0)
  ;hacemos una condicion que si los clones encontrados son = que 2 , el numero dos puedes cambiarlo a tu gusto , segun tu consideracion
  if (%proteccion.total.clones = 2) {
    ;mandamos a llamar el alias kick.clones para patear los clones del host con clones :)
    kick.clones $nick
    ;cerramos la condicion if (%proteccion.total.clones = 2)
  }
  ;hacemos otra condicion que si los clones encontrados son mayor de 2 , igual que antes puede modificar el numero 2 en la condicion ;)
  elseif (%proteccion.total.clones > 2) {
    ;mandamos a llamar el alias ban.clones para banear y patear los los clones
    ban.clones $nick
    ;cerramos la condicion elseif (%proteccion.total.clones > 2)
  }
  ;cerramos el evento on join ;) y fin :D
}

;bien creo que todo quedo claro :) y acaso alguien llegara a tener alguna duda puede encontrarme en IRC-Hispano en el canal #scripting
;o bien puedes mandarme un mail , al igual en el caso de haya algun error en el codigo :) bueno suerte y a patearles el culo a los clones xDDDD
;www.ViKIrC.tk 
