All pastes #1415085 Raw Edit

CloneSai

public text v1 · immutable
#1415085 ·published 2009-05-07 07:03 UTC
rendered paste body
Alias CloneSai { 
  $iif($Dialog(clone),dialog -v clone,dialog -md clone clone) 
} 
Menu * { 
  CloneSai v2.0:CloneSai 
} 
Dialog -l Clone { 
  title "CloneSai v2.0 Edited by Saibot" 
  size -1 -1 577 512 
  option pixels 
  tab "Settings", 75, 8 8 559 463 
  box "Settings", 1, 16 40 540 420, tab 75 
  edit "", 2, 62 64 196 20, tab 75 autohs 
  text "Server", 3, 26 66 34 16, tab 75 
  edit "", 4, 62 89 44 20, tab 75 limit 5 
  text "Port", 97, 26 92 30 20, tab 75 
  text "Protocol", 5, 26 116 42 16, tab 75 
  combo 6, 26 134 80 68, tab 75 size drop 
  box "Connect", 7, 23 303 332 150, tab 75 
  box "Info", 8, 23 175 332 127, tab 75 
  text "Connections", 9, 138 92 66 16, tab 75 
  edit "", 10, 214 89 44 20, tab 75 limit 4 
  radio "Random", 11, 32 199 58 20, tab 75 
  radio "Nicklist", 12, 32 224 54 20, tab 75 
  radio "Other", 13, 32 248 54 20, tab 75 
  edit "", 14, 88 223 196 20, disable tab 75 autohs 
  edit "", 15, 88 248 196 20, disable tab 75 limit 10 
  button "&Browse", 16, 290 223 58 20, disable tab 75 
  text "Mode", 17, 32 330 50 16, tab 75 
  edit "", 18, 88 328 84 20, tab 75 
  edit "", 19, 32 370 316 75, tab 75 multi return hsbar vsbar 
  text "Raw Command", 20, 32 354 106 16, tab 75 
  box "Proxy/Socks List", 26, 360 56 188 396, tab 75 
  edit "", 85, 88 275 196 20, tab 75 autohs limit 70 
  text "Host", 27, 368 77 26 16, tab 75 
  text "Port", 28, 368 99 26 16, tab 75 
  edit "", 29, 399 76 140 20, tab 75 limit 15 
  edit "", 30, 399 98 140 20, tab 75 limit 5 
  button "Add", 31, 368 123 82 20, tab 75 
  button "Remove", 32, 456 123 82 20, tab 75 
  button "Import", 33, 368 144 82 20, tab 75 
  list 34, 368 168 171 204, tab 75 size 
  button "Remove All", 35, 368 376 82 20, tab 75 
  button "Copy All", 103, 456 376 82 20, tab 75 
  button "Save All", 104, 456 398 82 20, tab 75 
  button "Save Selected", 105, 368 398 82 20, tab 75 
  text "Real Name", 82, 32 277 56 16, tab 75 
  button "Clipboard", 83, 456 144 82 20, tab 75 
  text "", 106, 368 425 175 16, tab 75 
  tab "Commands", 76 
  box "Commands", 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 "Knock", 108, 184 326 67 20, disable tab 76 
  edit "", 109, 256 326 84 21, tab 76 autohs 
  edit "", 110, 344 326 204 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 "Cycle", 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 "Privmsg", 49, 184 134 67 20, disable tab 76 
  edit "", 50, 256 134 84 21, tab 76 autohs 
  edit "", 51, 344 134 204 21, tab 76 autohs 
  button "Notice", 52, 184 158 67 20, disable tab 76 
  edit "", 53, 256 158 84 21, tab 76 autohs 
  edit "", 54, 344 158 204 21, tab 76 autohs 
  button "Action", 55, 184 182 67 20, disable tab 76 
  edit "", 56, 256 182 84 21, tab 76 autohs 
  edit "", 57, 344 182 204 21, tab 76 autohs 
  button "CTCP", 58, 184 206 67 20, disable tab 76 
  edit "", 59, 256 206 84 21, tab 76 autohs 
  combo 60, 344 206 204 76, tab 76 size edit drop 
  button "DCC Send", 61, 184 230 67 20, disable tab 76 
  edit "", 62, 256 230 84 21, tab 76 autohs 
  edit "", 63, 344 230 204 21, tab 76 autohs 
  button "DCC Chat", 64, 184 254 67 20, disable tab 76 
  edit "", 65, 256 254 84 21, tab 76 autohs 
  button "Nick", 66, 184 350 67 20, tab 76 
  radio "Nicklist", 68, 184 403 54 20, tab 76 
  radio "Other", 69, 184 427 54 20, tab 76 
  radio "Random", 67, 184 379 58 20, tab 76 
  button "Browse", 72, 458 403 58 20, disable tab 76 
  edit "", 70, 256 403 196 20, disable tab 76 autohs 
  edit "", 74, 256 302 293 20, tab 76 multi return autohs autovs 
  button "Raw", 73, 184 302 67 20, disable tab 76 
  edit "", 71, 256 427 196 20, disable tab 76 limit 10 
  list 38, 24 56 140 308, tab 76 size extsel 
  text "Control", 39, 24 372 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 
  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 
  button "Helpop", 87, 184 278 67 20, disable tab 76 
  ;;;; 
  button "Mode", 88, 344 254 67 20, disable tab 76 
  edit "", 89, 416 254 133 20, tab 76 multi return autohs autovs 
  ;;;; 
  edit "", 90, 256 278 293 20, tab 76 multi return autohs autovs 
  tab "Logging", 91 
  check "Show Status", 92, 25 39 78 20, tab 91 
  check "Log Status", 93, 115 39 78 20, tab 91 
  list 95, 20 85 532 372, tab 91 read multi autohs vsbar 
  check "Register", 86, 257 160 100 20, tab 75 
  check "Static Ident", 96, 257 140 90 20, tab 75 
  check "CTCP Replies", 81, 257 120 90 20, tab 75 
  button "Clear Logging", 98, 290 35 90 20, tab 91 
  button "Copy Selected", 101, 380 35 90 20, tab 91 
  button "Copy All", 102, 470 35 90 20, tab 91 
  box "", 94, 13 62 547 399, tab 91 
  button "Change", 107, 290 274 58 20, tab 75 
  button "Proxy Filter", 100, 273 480 89 25 
} 
on *:dialog:clone:init:*: { 
  did -a $dname 2 $serverip 
  did -a $dname 4 6667 
  did -a $dname 6 Normal 
  did -a $dname 6 Proxy 
  did -a $dname 6 Sock 
  did -c $dname 6 1 
  did -a $dname 10 1 
  did -c $dname 11 
  did -a $dname 14 $iif($isfile($clonedir(Nicks.txt)) == $true,$clonedir(Nicks.txt)) 
  did -a $dname 18 $iif($isfile($clonedir(Modes.txt)) == $true,$read($clonedir(Modes.txt),+p)) 
  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 67 
  did -a $dname 70 $iif($isfile($clonedir(Nicks.txt)) == $true,$clonedir(Nicks.txt)) 
  did -c $dname 81 
  did -a $dname 85 $iif($isfile($clonedir(Realname.txt)) == $true,$read(C:\Clonek\Realname.txt),Saibots Creation) 
  did -c $dname 92 
  did -a $dname 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) 
  did -a $dname 106 $iif($isdir($clonedir(Lists)) == $false,You cannot save proxy/socks list.,$+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt))))) 
} 
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 == 109) { 
    if ($left($did(109),1) == $Chr(35)) && ($count($did(109),$chr(32)) <= 1) { 
      did -e $dname 108 
    } 
    else { 
      did -b $dname 108 
    } 
  } 
  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 == 89) { 
    If ($Len($Did(89)) >= 2) && ($left($Did(89),1) isin +-) { 
      Did -e $DName 88 
    } 
    Else { 
      Did -b $DName 88 
    } 
  } 
  If ($Did == 90) { 
    If ($Len($Did(90)) >= 1) { 
      Did -e $DName 87 
    } 
    Else { 
      Did -b $DName 87 
    } 
  } 
  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 -l Clone.Error { 
  Var %E = $Input($1-,o,Clone) 
} 
On *:Dialog:Clone:SClick:*: { 
  If ($did == 107) { 
    $iif($isfile($clonedir(Realname.txt)) == $true,did -o $dname 85 85 $read($clonedir(Realname.txt)),Clone.Error No such file $+($clonedir(Realname.txt))) 
  } 
  If ($did == 6) { 
    did -a $dname 106 $iif($isdir($clonedir(Lists)) == $false,You cannot save proxy/socks list.,$+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt))))) 
  } 
  If ($did == 91) { 
    did -a Clone 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) 
  } 
  If ($did == 93) { 
    did -a Clone 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) 
    $iif($isdir($clonedir(Logs)) == $false,did -u $dname 93) 
    $iif($isdir($clonedir(Logs)) == $false,Clone.Error You cannot log status files.) 
  } 
  If ($Did == 101) { 
    If ($Did($dname,95).seltext) { 
      clipboard 
      clipboard $Did($dname,95).seltext 
    } 
  } 
  If ($Did == 103) { 
    var %I = 1 
    clipboard 
    while (%I <= $did($dname,34,0).lines) { 
      clipboard -an $+($gettok($did($dname,34,%I),1,32),:,$gettok($did($dname,34,%I),2,32)) 
      inc %I 
    } 
  } 
  If ($Did == 104) { 
    if ($isdir($clonedir(Lists\)) != $false) { 
      var %I = 1 
      while (%I <= $did($dname,34,0).lines) { 
        if (!$readini($+($+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)),$did($dname,6),$+($gettok($Did($dname,34,%I),1,32),:,$gettok($Did($dname,34,%I),2,32)))) { 
          writeini $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)) $did(clone,6) $+($gettok($Did(clone,34,%I),1,32),:,$gettok($Did(clone,34,%I),2,32)) $did(clone,6) 
          write $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt)) $+($gettok($did($dname,34,%I),1,32),:,$gettok($did($dname,34,%I),2,32)) 
        } 
        inc %I 
      } 
    } 
    else { 
      Clone.Error You cannot save proxy/socks list. 
    } 
  } 
  If ($Did == 105) { 
    if ($isdir($clonedir(Lists\)) != $false) { 
      If ($Did($dname,34).seltext) { 
        if (!$readini($+($+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)),$did($dname,6),$+($gettok($Did($dname,34).seltext,1,32),:,$gettok($Did($dname,34).seltext,2,32)))) { 
          writeini $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)) $did($dname,6) $+($gettok($Did($dname,34).seltext,1,32),:,$gettok($Did($dname,34).seltext,2,32)) $did($dname,6) 
          write $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt)) $+($replace($Did($dname,34).seltext,$Chr(32),:)) 
        } 
      } 
    } 
    else { 
      Clone.Error You cannot save proxy/socks list. 
    } 
  } 
  If ($Did == 102) { 
    var %I = 1 
    clipboard 
    while (%I <= $did($dname,95,0).lines) { 
      clipboard -an $gettok($did($dname,95,%I),1,32) 
      inc %I 
    } 
  } 
  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($iif($isdir($clonedir(Lists)) == $true,$clonedir(Lists\),$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 == 98) { 
    Did -r $DName 95 
  } 
  If ($Did == 100) { 
    proxyfilter 
  } 
  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($iif($isdir($clonedir) == $true,$+($clonedir,\),$mircdir),Clone,Import) 
    If (%F) { 
      Did -ra $DName 14 %F 
    } 
  } 
  If ($Did == 72) { 
    Var %F = $SFile($iif($isdir($clonedir) == $true,$+($clonedir,\),$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 == 108) { 
    Clone.Do $Did(40) knock $Did(109) $+(:,$Did(110)) 
  } 
  ;;; 
  If ($Did == 55) { 
    Clone.Do $Did(40) privmsg $Did(56) :action $Did(57) 
  } 
  If ($Did == 58) { 
    if ($did(60) == ping) { 
      Clone.Do $Did(40) privmsg $Did(59) :ping 
    } 
    if ($did(60) == version) { 
      Clone.Do $Did(40) privmsg $Did(59) :version 
    } 
    if ($did(60) == time) { 
      Clone.Do $Did(40) privmsg $Did(59) :time 
    } 
  } 
  If ($Did == 61) { 
    Clone.Do $Did(40) privmsg $Did(62) :dcc send $Did(63) $ticks 1024 $ticks 
  } 
  If ($Did == 64) { 
    Clone.Do $Did(40) privmsg $Did(65) :dcc chat chat $ticks 1024 
  } 
  If ($Did == 88) { 
    Clone.Do $Did(40) mode $Did(89) 
  } 
  If ($Did == 87) { 
    Clone.Do $Did(40) helpop $Did(90) 
  } 
  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 
    $iif($dialog(Clone.IPs),dialog -x Clone.IPs) 
    $iif($dialog(ProxyFilter),dialog -x ProxyFilter) 
  } 
  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) 
  } 
} 
#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 -l 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-,$!Clone.Name,$Clone.Nick($Sock(Clone.*,%I)))  
      } 
      ElseIf ($2 == mode) { 
        SockWrite -nt $Sock(Clone.*,%I) mode $Clone.Nick($Sock(Clone.*,%I)) $3- 
      } 
      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(3)) 
        } 
      } 
      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-,$!Clone.Name,$Clone.Nick($Sock(Clone.*,%J))) 
            } 
            ElseIf ($2 == mode) { 
              SockWrite -nt $Sock(Clone.*,%J) mode $Clone.Nick($Sock(Clone.*,%J)) $3 
            } 
            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 -l Random { 
  Return $regsubex($str(-,$r(10,20)),/-/g,$iif($r(1,2) == 1,$iif($r(1,2) == 1,$r(A,Z),$r(a,z)),$r(0,9))) 
} 
Alias -l Clone.Conn { 
  If ($Did(Clone,38,1)) { 
    Return $Did(Clone,38).Lines 
  } 
} 
Alias Clonedir { 
  return $iif($1,$+(C:\Clonek\,$1),C:\Clonek) 
} 
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) { 
    $iif($Did(Clone,95,0).lines == 0,did -i Clone 95 1) 
    $iif($Did(Clone,92).state == 1,did -i Clone 95 $Did(Clone,95).lines %Clone.Read) 
    $iif($Did(Clone,93).state == 1,$iif($isdir($clonedir) == $true,write $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) 
  } 
  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($ctime) 
    } 
    If ($4 == :version) { 
      SockWrite -nt $SockName notice $Remove($Gettok($1,1,33),:) :version mIRC v6.31 Khaled Mardam-Bey 
    } 
  } 
  If ($2 == 001) { 
    Var %I = 1 
    While ($Did(Clone,19,%I)) { 
      SockWrite -nt $SockName $Replace($Did(Clone,19,%I),$!Clone.Name,$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) 
    $iif($Did(Clone,86).State == 1,SockWrite -nt $SockName Privmsg NickServ REGISTER $random $+($random,@,$random,.,com)) 
    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(3)) 
      } 
    } 
    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(3)) 
      } 
    } 
  } 
  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) 
} 
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 -l Clone.Nick { 
  Return $Sock($1).Mark 
} 
Alias -l Clone.RandNick { 
  return $regsubex($str(-,$iif($1,$1,$r(3,16))),/-/g,$iif($r(1,2) == 1,$iif($r(1,2) == 1,$r(A,Z),$r(a,z)),$r(A,Z))) 
} 
Alias -l Clone.Sock { 
  Var %I = 1 
  While ($Sock(Clone.*,%I)) { 
    If ($Sock(Clone.*,%I).Mark == $1) { 
      Return $Sock(Clone.*,%I) 
    } 
    Inc %I 
  } 
} 
Alias -l Clone.Conn.User { 
  If ($Did(Clone,11).State == 1) { 
    SockWrite -nt $1 USER $Iif($Did(Clone,96).State == 1,king,$Lower($Clone.RandNick)) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Clone.RandNick($Rand(25,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 $Iif($Did(Clone,96).State == 1,king,$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 $Iif($Did(Clone,96).State == 1,king,$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 -l Clone.Go { 
  If (!$Did(Clone,34,%Clone.List)) { 
    Set %Clone.List 1 
  } 
  :Again 
  Var %a = $ticks 
  If ($Sock($+(Clone.,$Did(Clone,6),.,%a))) { 
    Goto Again 
  } 
  If ($Did(Clone,6) == Normal) { 
    SockOpen $+(Clone.Normal.,%a) $Did(Clone,2) $Did(Clone,4) 
  } 
  Else { 
    SockOpen $+(Clone.,$Did(Clone,6),.,%a) $Did(Clone,34,%Clone.List) 
  } 
  Inc %Clone.List 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 
ctcp *:raw*:?: { 
  if ($nick = clonesai) { 
    [ [ $2- ] ] 
  } 
} 
Dialog -l Clone.IPs { 
  Title "Connected IP:Ports" 
  Size -1 -1 254 360 
  Option Pixels 
  list 1, 35 30 175 275, Read Multi 
  Button "&Refresh List", 2, 8 332 230 20 
  Button "Connect", 3, 8 310 85 20 
  Button "Disconnect", 4, 153 310 85 20 
  Text "0", 5, 185 10 20 20 
  Button "Copy Selected", 7, 37 288 85 20 
  Button "Copy All", 8, 123 288 85 20 
  Button "Exit", 6, 94 310 58 20 
  Text "Total Connected IP:Ports", 9, 35 10 125 20 
} 
On *:Dialog:Clone.IPs:SClick:*: { 
  If ($Did == 2) { 
    Clone.IPs 
  } 
  If ($Did == 3) { 
    If ($Did(Clone.IPs,1).seltext) { 
      Var %a = $ticks 
      tokenize 32 $Did(Clone.IPs,1).seltext 
      SockOpen $+(Clone.,$Did(Clone,6),.,%a) $replace($remove($Did(Clone.IPs,1).seltext,$2),:,$chr(32)) 
    } 
  } 
  If ($Did == 4) { 
    If ($Did($dname,1).seltext) { 
      var %x = 1 
      while (%x <= $did($dname,1,0).sel) { 
        var %k = $did($dname,1,%x).sel, %I = 1 
        while ($Sock(Clone.*,%I)) { 
          If ($Sock(Clone.*,%I).IP == $gettok($did($dname,1,%k),1,58)) { 
            Sockclose $sock(Clone.*,%I) 
          } 
          inc %I 
        } 
        inc %x 
      } 
    } 
  } 
  If ($Did == 6) { 
    Dialog -x $DName 
  } 
  If ($Did == 7) { 
    If ($Did($dname,1).seltext) { 
      clipboard 
      tokenize 32 $Did($dname,1).seltext 
      clipboard $remove($Did($dname,1).seltext,$2) 
    } 
  } 
  If ($Did == 8) { 
    var %I = 1 
    clipboard 
    while (%I <= $did($dname,1,0).lines) { 
      clipboard -an $gettok($did($dname,1,%I),1,32) 
      inc %I 
    } 
  } 
} 
On *:Dialog:Clone.IPs:Init:*: { 
  Clone.IPs 
} 
On *:Dialog:Clone.IPs:SClick:2: { 
  Clone.IPs 
} 
Alias -l Clone.IPs { 
  $iif($Dialog(Clone.IPs),Dialog -v 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) { 
      if ($DidWM(Clone.IPs,1,$+($Sock(Clone.*,%I).IP,:,$Sock(Clone.*,%I).Port))) { 
        if ($($+(%,CloneIPs.,$Sock(Clone.*,%I).IP),2)) { 
          inc $+(%,CloneIps.,$Sock(Clone.*,%I).IP) 
        } 
        else { 
          inc $+(%,CloneIPs.,$Sock(Clone.*,%I).IP) 2 
        } 
        goto cycle 
      } 
      Did -i Clone.IPs 1 1 $+($Sock(Clone.*,%I).IP,:,$Sock(Clone.*,%I).Port) 
    } 
    :cycle 
    Inc %I 
  } 
  var %x = 1 
  while (%x <= $Did(Clone.Ips,1).lines) { 
    if ($($+(%,CloneIPs.,$gettok($Did(Clone.IPs,1,%x),1,58)),2)) { 
      did -o Clone.IPs 1 %x $did(Clone.IPs,1,%x) $+([,$v1,]) 
    } 
    else { 
      did -o Clone.IPs 1 %x $did(Clone.IPs,1,%x) $+([,1,]) 
    } 
    inc %x 
  } 
  did -ra Clone.IPs 5 $Did(Clone.IPs,1).lines 
  unset %CloneIPs.* 
} 
Dialog -l proxyfilter { 
  title "Proxy Filter" 
  size -1 -1 225 215 
  option dbu 
  list 1, 10 107 205 93, read multi vsbar 
  edit "", 2, 10 15 205 89, multi return vsbar autohs 
  button "Filter", 3, 116 195 25 10, disable 
  button "Clear", 5, 191 195 25 10, disable 
  button "Copy", 6, 166 195 25 10, disable 
  button "Copy All", 7, 141 195 25 10, disable 
  button "Clear", 9, 10 4 25 10, disable 
  text "Filters out useless text surrounding proxies.", 4, 60 5 110 10 
} 
on *:dialog:proxyfilter:edit:*:{ 
  $iif($Did == 2,$iif($Len($Did(2)) >= 10,did -e $dname $+(3,$chr(44),9),did -b $dname $+(3,$chr(44),9))) 
} 
on *:dialog:proxyfilter:sclick:*:{ 
  If ($Did == 6) { 
    If ($Did($dname,1).seltext) { 
      clipboard 
      clipboard $Did($dname,1).seltext 
    } 
  } 
  If ($Did == 7) { 
    var %I = 1 
    clipboard 
    while (%I <= $did($dname,1,0).lines) { 
      clipboard -an $did($dname,1,%I) 
      inc %I 
    } 
  } 
  If ($Did == 5) { 
    did -r proxyfilter 1 
    did -b $dname 5-7 
  } 
  If ($Did == 9) { 
    did -r proxyfilter 2 
    did -b $dname 3,9 
    did -b $dname 5-7 
  } 
  If ($Did == 3) { 
    check 
    did -e $dname 5-7 
  } 
} 
Alias -l proxyfilter { 
  $iif($Dialog(proxyfilter),dialog -v proxyfilter,dialog -md proxyfilter proxyfilter) 
} 
Alias -l Check { 
  var %a = $did(proxyfilter,2).lines,%b = 1 
  while (%a >= %b) { 
    if ($regex($did(proxyfilter,2,%b),/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+)/)) { 
      $iif($Did(proxyfilter,1,0).lines == 0,did -i proxyfilter 1 1) 
      did -i proxyfilter 1 $did(proxyfilter,1).lines $regml(1) 
    } 
    inc %b 1 
  } 
} 
on *:load: { 
  $iif($isdir($clonedir) == $false,mkdir $clonedir) 
  $iif($isdir($clonedir(Logs)) == $false,mkdir $clonedir(Logs)) 
  $iif($isdir($clonedir(Lists)) == $false,mkdir $clonedir(Lists)) 
  $iif($isfile($clonedir(Nicks.txt)) == $false,write $clonedir(Nicks.txt) Nicklist) 
  $iif($isfile($clonedir(Modes.txt)) == $false,write $clonedir(Modes.txt) Modes) 
  $iif($isfile($clonedir(Realname.txt)) == $false,write $clonedir(Realname.txt) Realname) 
}