rendered paste bodyAlias 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)
}