rendered paste bodyMenu * {
. MithX : dialog -md Clone Clone
}
Alias Clone {
If ($Dialog(Clone)) { Dialog -v Clone }
Else { Dialog -md Clone Clone }
}
dialog Clone {
title "MithX"
size -1 -1 577 512
option pixels
tab "Settings", 75, 8 8 559 463
box "Settings", 1, 18 41 540 420, tab 75
edit "irc.gudhak.net", 2, 356 78 135 21, tab 75 autohs
text "Server:", 3, 356 62 42 16, tab 75
edit "6667", 4, 494 78 44 20, tab 75 limit 5
text "Protocol:", 5, 241 237 42 16, tab 75
combo 6, 253 256 80 68, tab 75 size drop
box "Connection", 7, 352 49 196 204, tab 75
box "Nickname and Real Name", 8, 351 259 199 195, tab 75
text "Initial Sockets:", 9, 359 106 77 16, tab 75
edit "128", 10, 494 102 42 20, tab 75 limit 4
radio "Random", 11, 354 329 72 20, tab 75
radio "List:", 12, 354 288 42 20, tab 75
radio "Other:", 13, 354 309 54 20, tab 75
edit "Broken!", 14, 396 289 96 20, disable tab 75 autohs
edit "", 15, 409 310 130 20, disable tab 75 limit 10
button "&Browse", 16, 494 288 52 20, disable tab 75
text "UserMode:", 17, 370 165 53 16, tab 75
edit "+i", 18, 428 163 60 20, tab 75
edit "", 19, 366 200 168 45, tab 75 multi return autohs autovs
text "Raw:", 20, 371 183 31 16, tab 75
box "Proxy/Socks List", 26, 24 58 320 396, tab 75
edit "", 85, 413 401 126 21, tab 75 autohs limit 70
text "Host/IP:", 27, 31 75 43 16, tab 75
text "Port:", 28, 239 76 28 17, tab 75
edit "", 29, 79 72 157 20, tab 75 limit 15
edit "", 30, 269 74 70 20, tab 75 limit 5
button "Add", 31, 252 113 82 22, tab 75
button "Remove", 32, 251 138 82 22, tab 75
button "Import File", 33, 250 162 82 22, tab 75
list 34, 29 96 208 350, tab 75 size
button "Clear All", 35, 249 211 82 22, tab 75
check "Respond to CTCP?", 81, 359 126 113 18, tab 75
text "Real Name:", 82, 358 361 56 16, tab 75
button "Clipboard", 83, 250 187 82 21, tab 75
box "Perform On Connect", 86, 360 149 182 99, tab 75
radio "Random", 87, 358 420 72 20, tab 75
radio "Other:", 88, 358 400 54 20, tab 75
radio "List:", 89, 358 379 42 20, tab 75
edit "Broken!", 90, 401 379 96 20, disable tab 75 autohs
button "&Browse", 91, 498 378 52 20, disable tab 75
text "Local connections are broke once again!", 96, 243 337 96 43, tab 75 center
tab "Actions", 76
box "Actions", 36, 177 40 380 420, tab 76
box "Nicklist", 37, 16 40 156 356, tab 76
button "Join", 41, 184 79 67 20, disable tab 76
edit "", 42, 255 78 84 21, tab 76 autohs
button "Part", 43, 183 102 67 20, disable tab 76
edit "", 44, 255 101 83 21, tab 76 autohs
edit "", 45, 340 103 204 21, tab 76 autohs
button "Join Part", 46, 183 125 67 20, disable tab 76
edit "", 47, 253 355 84 21, hide tab 76 autohs
edit "", 48, 338 378 204 21, hide tab 76 autohs
button "Message", 49, 183 189 67 20, disable tab 76
edit "", 50, 254 190 83 21, tab 76 autohs
edit "", 51, 340 190 204 21, tab 76 autohs
button "Notice", 52, 183 213 67 20, disable tab 76
edit "", 53, 254 213 84 21, tab 76 autohs
edit "", 54, 340 213 204 21, tab 76 autohs
button "Describe", 55, 183 237 67 20, disable tab 76
edit "", 56, 254 237 84 21, tab 76 autohs
edit "", 57, 339 237 204 21, tab 76 autohs
button "CTCP", 58, 182 404 67 20, hide disable tab 76
edit "", 59, 253 404 84 21, tab 76 autohs
combo 60, 340 404 204 71, tab 76 size edit drop
button "DCC Send", 61, 182 380 67 20, hide disable tab 76
edit "", 62, 254 125 84 21, tab 76 autohs
edit "", 63, 340 125 204 21, tab 76 autohs
button "DCC Chat", 64, 182 355 67 20, disable tab 76
edit "", 65, 253 379 84 21, tab 76 autohs
button "Nick", 66, 99 363 67 20, tab 76
radio "Nicklist:", 68, 26 267 54 20, tab 76
radio "Other:", 69, 26 324 54 20, tab 76
radio "Random", 67, 25 249 58 20, tab 76
button "Browse", 72, 99 307 67 20, disable tab 76
edit "Broken!", 70, 25 285 141 21, disable tab 76 autohs
edit "", 74, 253 430 292 21, tab 76 multi return autohs autovs
button "Raw", 73, 182 430 67 20, disable tab 76
edit "", 71, 25 340 141 21, disable tab 76 limit 10
list 38, 24 56 140 192, tab 76 size extsel vsbar
text "Control:", 39, 413 57 42 16, tab 76
combo 40, 461 53 92 60, tab 76 size drop
box "Statistics", 21, 16 400 156 60, tab 76
text "Total Sockets:", 23, 20 436 96 16, tab 76 center
text "Connected Sockets:", 22, 20 420 96 16, tab 76 center
text "0", 24, 120 420 42 16, tab 76
text "0", 25, 120 436 42 16, tab 76
text "---------------------------------------------------------------------------------------", 92, 183 150 367 13, tab 76 center
tab "Leech!", 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 261, tab 97
list 103, 376 56 172 197, tab 97 size
button "Export", 104, 465 254 84 20, tab 97
text "Completed:", 105, 368 327 58 16, tab 97
text "0", 106, 432 346 122 16, tab 97
button "Get List", 107, 368 366 187 25, tab 97
button "Move to Proxy/Socks List", 109, 376 275 173 20, tab 97
text "Total Sites:", 110, 368 345 58 16, tab 97
text "0", 111, 432 327 122 16, tab 97
text "Socks/Proxies Taken:", 112, 368 307 106 16, tab 97
text "0", 113, 480 307 74 16, tab 97
button "Clear", 108, 376 253 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, 28 473 98 35
button "&Disconnect", 78, 142 472 99 36
button "Clos&e", 79, 490 480 75 25
button "Connected &IP:Ports", 80, 449 4 115 23
button "Close Open &Sockets", 84, 379 480 107 25
text "MithX Devo v0.6", 93, 213 7 99 16, center
link "#Remy", 94, 326 7 44 16
link "Known Bugs", 95, 376 7 63 16
}
On *:Dialog:Clone:Init:*: {
Did -a $DName 6 Normal
Did -a $DName 6 Proxy
Did -a $DName 6 Sock
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
}
}