;Seen logger

#seen off
On *:TEXT:!seen*:#: {
  if ($2- == $me) { msg # $+(%pc,i'm %sc,right here.) | halt }
  if ($2- == $nick) { msg # $+(%pc,$nick %sc,you are right there.) | halt }
  if ($2- ison $chan) { msg # $+(%pc,$2- %sc,is currently in this channelt.) | halt }
  if (!$readini $shortfn($mircdircore) $+ \seen.ini $2- info:) { msg # $+(%pc,I haven't seen that nick since i've started logging $chan,.) | halt }
  else { msg # $+(%pc,$readini $shortfn($mircdircore) $+ \seen.ini $2- Info:) | halt }
}       
#seen end

#write off
On *:NICK:{
  if ($file($shortfn($mircdircore\seen.ini).size) >= 64000) && (%fillcheck == On) { remove $shortfn($mircdircore\seen.ini) | $note(seen.ini file has been cleared.) }
  if ($file($shortfn($mircdircore\seen.ini).size) < 64000) || ($exists($shortfn($mircdircore\seen.ini)) == $false) { writeini $shortfn($mircdircore) $+ \seen.ini $nick Info: $nick was last seen changing their nick to $newnick on $adate at $AscTime($CTime,h:nntt) ( $+ $Asctime(ZZZ) $+ -). }
}
On *:QUIT:{
  if ($file($shortfn($mircdircore\seen.ini).size) >= 64000) && (%fillcheck == On) { remove $shortfn($mircdircore\seen.ini) | $note(seen.ini file has been cleared.) }
  if ($file($shortfn($mircdircore\seen.ini).size) < 64000) || ($exists($shortfn($mircdircore\seen.ini)) == $false) { writeini $shortfn($mircdircore) $+ \seen.ini $nick Info: I last saw $nick leaving IRC on $adate at $AscTime($CTime,h:nntt) ( $+ $Asctime(ZZZ) $+ -). Reason for leaving was: ( $+ $1- $+ ) }
}
On *:PART:#:{
  if ($file($shortfn($mircdircore\seen.ini).size) >= 64000) && (%fillcheck == On) { remove $shortfn($mircdircore\seen.ini) | $note(seen.ini file has been cleared.) }
  if ($file($shortfn($mircdircore\seen.ini).size) < 64000) || ($exists($shortfn($mircdircore\seen.ini)) == $false) { writeini $shortfn($mircdircore) $+ \seen.ini $nick Info: $nick was last seen parting channels on $adate at $AscTime($CTime,h:nntt) ( $+ $asctime(ZZZ) $+ -). }
}
#write end

;help system

dialog help {
  title "help (/helpme)"
  size -1 -1 220 90
  option dbu
  list 1, 54 4 165 84, size vsbar
  list 2, 1 4 50 70, size
  button "Done", 3, 14 78 25 10, ok
}

on 1:dialog:help:*:*: {
  if ($devent == init) {
    did -a help 1 Welcome to the n2k help system. Use the menu on
    did -a help 1 the left to get help for a specific topic.
    did -f help 3
    did -a help 2 Away
    did -a help 2 Commands
    did -a help 2 [+]-Config
    did -a help 2 [+]-Extras
    did -a help 2 [+]-Protection
    did -a help 2 Services
  }
  if ($devent == sclick) {
    if ($did(help,2).seltext == Away) { 
      did -ra help 1 ** Away
      did -a help 1 The away system is used to set yourself in "away" mode to let
      did -a help 1  others know you are currently busy or away from your system.
      did -a help 1 To get to the setup, type /a, and a dialog will appear. On this
      did -a help 1 dialog you can set various options on how you want the system
      did -a help 1 to work. 
      did -a help 1 First off, you need to set your away reason. This is done by
      did -a help 1 selecting from a list of most frequently used away messages, or
      did -a help 1 you can select "Custom" to input your own reason.
      did -a help 1 Second, you click the "Go" button on the right, and you are
      did -a help 1 then asked to select the amount of time you would like to
      did -a help 1 announce that you are away to users in channels. Most
      did -a help 1 channels are strict with away messages and limit the timers to
      did -a help 1 at least 20 minutes.
      did -a help 1 Lastly, when you're ready to return, click "Return" and the
      did -a help 1 script will set you out of away mode.
      did -a help 1 Options are included in the away system to offer better
      did -a help 1 customization for you.
      did -a help 1
      did -a help 1 Auto-idle: Check this to set yourself in away mode after a
      did -a help 1 specified amount of idle time (idle means not entering any
      did -a help 1 text.)
      did -a help 1
      did -a help 1 Pager: The pager is used to alert you that a user is trying
      did -a help 1 to reach you while you're away. The script will play a beep
      did -a help 1 when this occurs, so try to be near the script or have the
      did -a help 1 volume up.
      did -a help 1
      did -a help 1 Silent: Silent-away sets you in away mode just as normal,
      did -a help 1 only it does not display you are away to any channels.
      did -a help 1 If someone messages you in private, they will still receive
      did -a help 1 an away msg from you however.
      did -a help 1
      did -a help 1 Set global away: This only applies if you are on more than
      did -a help 1 one server or network. If enabled you will be set away
      did -a help 1 on all servers, otherwise you will only have away mode
      did -a help 1 set on the server you first went away on.
      did -a help 1
      did -a help 1 Note: You will still retain your away mode even if you
      did -a help 1 disconnect from a server or close mIRC entirely. You
      did -a help 1 will remain "Away" until you click "Return."
    }
    if ($did(help,2).seltext == Commands) { 
      did -ra help 1 ** Commands
      did -a help 1 Here's a brief list of commands/aliases used in the script.
      did -a help 1
      did -a help 1 /a (away dialog)
      did -a help 1 /acro (brings up the Acronym editor)
      did -a help 1 /aj (displays the autojoiner)
      did -a help 1 /chanstats (echo channel stats)
      did -a help 1 /chat 'nick' (Dcc chat with a user)
      did -a help 1 /cp (displays the Control Panel)
      did -a help 1 /do (Channel Services deops you)
      did -a help 1 /download (opens the last folder a file was downloaded to)
      did -a help 1 /dqm (fserve queue manager)
      did -a help 1 /fkey (f-keys setup dialog)
      did -a help 1 /fs (displays the fserve setup)
      did -a help 1 /ftp (displays the ftp ad setup)
      did -a help 1 /helpme (displays this help dialog)
      did -a help 1 /ident (identify your nick with Nick Services)
      did -a help 1 /j 'channel' (shortcut for /join)
      did -a help 1 /k 'nick' (shortcut for /kick)
      did -a help 1 /mp3 (displays the MP3 player, nXamp)
      did -a help 1 /n (shortcut for /names)
      did -a help 1 /o (Channel Services ops you)
      did -a help 1 /op 'nick' (Op another user)
      did -a help 1 /otalk (op talker)
      did -a help 1 /p (shortcut for /part)
      did -a help 1 /pchan (setup for selectable protected channels)
      did -a help 1 /ping 'nick' (CTCP pings a user)
      did -a help 1 /protect (brings up the Protection setup)
      did -a help 1 /q 'nick' (shortcut for /query)
      did -a help 1 /qreset (used to reset the queues on your fserve)
      did -a help 1 /rejoin (Rejoins current channel, can also use /hop)
      did -a help 1 /repeat (repeats the last thing you entered)
      did -a help 1 /req (displays the announcer/requester)
      did -a help 1 /send 'nick' 'filename' (DCC send a file to a user)
      did -a help 1 /setup (Brings up the config dialog)
      did -a help 1 /tdcc (displays the tdcc setup)
      did -a help 1 /themes (displays the MTS theme setup)
      did -a help 1 /v 'nick' (Voices another user)
      did -a help 1 /w 'nick' (shortcut for /whois)
    }
    if ($did(help,2).seltext == [+]-Config) {
      did -ra help 1 ** Config
      did -a help 1 n2k combines all of it's main features in one easy to use 
      did -a help 1 dialog known as Config. You'll soon find this is the most used
      did -a help 1 part of the script. Type /setup to make it appear, or select
      did -a help 1 it from the n2k menu in the menu bar.
      did -a help 1
      did -a help 1 Note: Double-click Config on the left for more options.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Status) {
      did -ra help 1 ** Status
      did -a help 1 Status lists some important settings as they are setup on your
      did -a help 1 system. It tells you if you're in Away mode or not, whether or
      did -a help 1 not Acronyms are on, autoping, and shows if you have any
      did -a help 1 DCC sends/gets. Also listed is the current IRC network/server
      did -a help 1 (if any) and it shows you the current version of your script.
      did -a help 1
      did -a help 1 Note: You can click "Upgrade" to check if a new version is
      did -a help 1 available on the website.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Serving) {
      did -ra help 1 ** Serving
      did -a help 1 n2k features several options for file serving. The three
      did -a help 1 are F-serve, Ftp Ad, and TDCC. Also included is an announcer/
      did -a help 1 requester to be used to make announcements or request
      did -a help 1 files from users in a file-serving channel.
      did -a help 1 
      did -a help 1 F-serve: used to serve files from a folder on your computer.
      did -a help 1
      did -a help 1 FTP Ad: used to advertise an FTP server you are running.
      did -a help 1
      did -a help 1 Requester: used for requesting files or making announcements.
      did -a help 1
      did -a help 1 TDCC: used for single-file serving
      did -a help 1
      did -a help 1 Note: The file servers in this script are all independant from
      did -a help 1 one another. It is possible however, for the fserve to
      did -a help 1 associate other DCC transfers with itself, whether the DCC
      did -a help 1 was triggered by the Fserve or not. In other words, if you
      did -a help 1 are sending someone a file manually, and someone is on
      did -a help 1 your fserve's Queue system, the fserve will hold the queue
      did -a help 1 until your manual send is completed, etc.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Display) {
      did -ra help 1 ** Display
      did -a help 1 Display is where all your custom script colors and back
      did -a help 1 grounds will be set.
      did -a help 1
      did -a help 1 Colors
      did -a help 1 ---------------
      did -a help 1 These colors are used in script messages and public ads
      did -a help 1 (fserve, tdcc, acronyms, etc). They can be any color
      did -a help 1 you wish from the list provided. Or you can select "Plain"
      did -a help 1 to disable colors.
      did -a help 1
      did -a help 1 1st Color: main topics of an ad.
      did -a help 1
      did -a help 1 2nd Color: results of a topic, ie. usually in brackets
      did -a help 1 (example: 1st->fserve:2nd->(!trigger)).
      did -a help 1 
      did -a help 1 Separator: changes the color of the separator icon.
      did -a help 1
      did -a help 1 Enable Logo
      did -a help 1 ---------------
      did -a help 1 This (en/dis)ables the script logo (n2k) for ads. This
      did -a help 1 is disabled by default.
      did -a help 1
      did -a help 1 Separator Icon
      did -a help 1 ---------------
      did -a help 1 You can select the way the separation "icons" look using
      did -a help 1 this feature. The default icon is a bold, underlined colon.
      did -a help 1 
      did -a help 1 *Tip: You can add your own color codes (ctrl k, etc) to
      did -a help 1 override the script's colors (if any) you've chosen.
      did -a help 1
      did -a help 1 Nick Brackets
      did -a help 1 ---------------
      did -a help 1 These are the symbols that "wrap" a nick in channels and
      did -a help 1 private messages. The default brackets are bold parentheses.
      did -a help 1 
      did -a help 1 Script Brackets
      did -a help 1 ---------------
      did -a help 1 These are the symbols that "wrap" the results portion of
      did -a help 1 a script ad/msg. The default brackets are parentheses 
      did -a help 1 (not bold).
      did -a help 1
      did -a help 1 Whois Display
      did -a help 1 ---------------
      did -a help 1 You can change the look of the info you receive on a
      did -a help 1 /whois request. The output is decorated with your custom
      did -a help 1 colors in the script by default and little design patterns. You
      did -a help 1 may change them to whatever you like.
      did -a help 1 Main: this is the header/footer of the output
      did -a help 1 Middle: the info portion between the header/footer
      did -a help 1
      did -a help 1 MTS Themes
      did -a help 1 ---------------
      did -a help 1 n2k now supports MTS (MIRC Theme Standard) themes by
      did -a help 1 using a modified version of Kamek's MTS engine, KTE v1.5. 
      did -a help 1 Themes allow you to change the appearance of mIRC to your
      did -a help 1 own liking by altering the colors and output of IRC events.
      did -a help 1 A few themes are included to get you started, using MTS is
      did -a help 1 optional of course. 
      did -a help 1
      did -a help 1 Loading: To load a theme click "Themes..." at the top
      did -a help 1 and it will list the themes available in the nx2k2 themes folder (al-
      did -a help 1 ways put themes in this folder). To load a theme select it from the
      did -a help 1 listbox and click "Apply" at the bottom, you can also Preview a
      did -a help 1 theme before applying it. 
      did -a help 1
      did -a help 1 Disable nX2k Whois: Checking this will allow the themes to display
      did -a help 1 their own /whois output rather than the script's built in output.
      did -a help 1
      did -a help 1 Unloading: To unload a theme simply click "Unload" on
      did -a help 1 the dialog and mIRC's previous colors and settings will be
      did -a help 1 restored.
      did -a help 1
      did -a help 1 Note: If you'd like more themes, check out hundreds more at
      did -a help 1 http://www.mircscripts.org/archive.php?type=theme
      did -a help 1
      did -a help 1 --------------------------------------------------------------------------------
      did -a help 1 *Important Note: All the above design options allow you
      did -a help 1 to virtually make n2k look like anything you want.
      did -a help 1 Please be aware though, if you want spaces between your
      did -a help 1 custom designs (Nick/Script brackets, Separator Icon), you
      did -a help 1 MUST put one space in front, and two spaces behind in order
      did -a help 1 for it to look right. (output example: fserve : [!trigger])
    } 
    if ($did(help,2).seltext == $chr(160) $chr(160) Info) {
      did -ra help 1 ** Info
      did -a help 1 Info presents you with fields to input the various
      did -a help 1 features the script is capable of reporting and using. You
      did -a help 1 don't have to fill in the fields if you don't want to.
      did -a help 1
      did -a help 1 AIM SN
      did -a help 1 ---------------
      did -a help 1 This displays your AIM (AOL) name to other users when
      did -a help 1 selected from the "Specs" submenu under "Extras" in
      did -a help 1 the main menu, or by right-clicking a channel.
      did -a help 1
      did -a help 1 ICQ UIN
      did -a help 1 ---------------
      did -a help 1 This displays your ICQ number in the same way above.
      did -a help 1
      did -a help 1 Email
      did -a help 1 ---------------
      did -a help 1 This displays your email address in the same way above.
      did -a help 1
      did -a help 1 Away nick
      did -a help 1 ---------------
      did -a help 1 This is used with the away system in case you want
      did -a help 1 your nick to change when going in away mode. If
      did -a help 1 left at n/a, or blank; the script will automatically
      did -a help 1 append [Away] to the end of your nick when you
      did -a help 1 go away. If you don't want this to happen, enter
      did -a help 1 your current nick as the away nick and it won't change.
      did -a help 1
      did -a help 1 Sleep nick
      did -a help 1 ---------------
      did -a help 1 This is the same as above but only triggers when you
      did -a help 1 select "Sleep" from the preset reasons menu on the
      did -a help 1 away setup dialog.
      did -a help 1
      did -a help 1 Nick Password
      did -a help 1 ---------------
      did -a help 1 This is used to auto-identify your nick to the network's
      did -a help 1 NickServ bot (or whatever the name is for said network).
      did -a help 1 
      did -a help 1 Note: This isn't necessary if you are not using a registered
      did -a help 1 nick.
      did -a help 1
      did -a help 1 Website
      did -a help 1 ---------------
      did -a help 1 This is used to display your website to others when selected
      did -a help 1 from the 'Specs' submenu under "Extras" in the menubar, or
      did -a help 1 by right-clicking in a channel.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Extras) {
      did -ra help 1 ** Extras
      did -a help 1 This is where "fun" or miscellaneous options are set.
      did -a help 1
      did -a help 1 Acronyms
      did -a help 1 ---------------
      did -a help 1 Disabled by default, acronyms turn phrases like "LOL"
      did -a help 1 into "Laughing Out Loud." You can choose between
      did -a help 1 Extended mode, or non-extended. Extended is best
      did -a help 1 described as working anywhere in a sentence, whereas
      did -a help 1 non-extended means an acronym will only work when it's
      did -a help 1 typed by itself on one line.
      did -a help 1
      did -a help 1 Note: You can add your own custom acronyms by
      did -a help 1 clicking "Editor" under the acronym options.
      did -a help 1
      did -a help 1 Nicklist Colors
      did -a help 1 ---------------
      did -a help 1 This allows you to color the channel nicklist on the side
      did -a help 1 of the channel windows to better distinguish between
      did -a help 1 ops/voices/regulars.
      did -a help 1
      did -a help 1 Autoping
      did -a help 1 ---------------
      did -a help 1 This is used to check someone's lag time when they type
      did -a help 1 !ping, !ping me, or ping in a channel. It will simply send
      did -a help 1 them a ping reply showing the amount of time it took to
      did -a help 1 get/send the request.
      did -a help 1
      did -a help 1 Autovoicer
      did -a help 1 ---------------
      did -a help 1 This option will automatically voice users that appear to
      did -a help 1 be running file servers. You must be an Op for this to work.
      did -a help 1
      did -a help 1 Autothanker
      did -a help 1 ---------------
      did -a help 1 This automatically thanks someone for op/voicing you in
      did -a help 1 a channel.
      did -a help 1 
      did -a help 1 Note: Some users like to abuse scripts with this feature by
      did -a help 1 continuously setting the +o or +v mode on you, causing
      did -a help 1 you to flood yourself offline. n2k has better protection
      did -a help 1 against this and only sends thanks to one nick at a time,
      did -a help 1 regardless of how many times they set the mode.
      did -a help 1 
      did -a help 1 Autojoin
      did -a help 1 ---------------
      did -a help 1 Autojoin allows you to join channels automatically when
      did -a help 1 you connect to a certain network. You can add/remove channels
      did -a help 1 from the list, or disable autojoin completely. Networks are
      did -a help 1 added and removed the same way. When adding networks
      did -a help 1 use only the network name, not a server address. You can also
      did -a help 1 reach the Autojoin dialog by typing /aj.
      did -a help 1 
      did -a help 1 MP3 Player
      did -a help 1 ---------------
      did -a help 1 The MP3 Player provides a "Winamp-like" interface for you
      did -a help 1 to play songs within mIRC. You can even announce
      did -a help 1 what song you are playing, serve, play in random order,
      did -a help 1 repeat songs, and save the playlist to a .txt file. To begin
      did -a help 1 playing music, you must first click "Add" at the bottom-right.
      did -a help 1 Once you have a list of files to play, you can select them from
      did -a help 1 the playlist.
      did -a help 1
      did -a help 1 Note: Clicking "Del" under "Add" doesn't delete songs or lists, it
      did -a help 1 only removes the selected song from the playlist.
      did -a help 1 
      did -a help 1 Netsplit Detector
      did -a help 1 ---------------
      did -a help 1 This alerts users in a channel that a netsplit has occured
      did -a help 1 and gives the information on the two servers that split.
      did -a help 1 This is disabled by default.
      did -a help 1 
      did -a help 1 !Seen Logging
      did -a help 1 ---------------
      did -a help 1 !Seen Logging allows your script to keep track of users
      did -a help 1 join/part, quit, and nick changing activities. When this is
      did -a help 1 enabled, all one has to do is type !seen 'nick' (!seen
      did -a help 1 baby^nina) in the channel, and if your script logged any
      did -a help 1 thing with that nick, it will display the last action said
      did -a help 1 nick did in a channel you were in.
      did -a help 1 
      did -a help 1 Note: This data is stored in the seen.ini file and has a
      did -a help 1 size limit of 64k. When this limit is reached, the script
      did -a help 1 will report that it can no longer write to this file. To fix
      did -a help 1 the problem make sure "Clear list when full" is checked,
      did -a help 1 then the script will remove the file automatically, and
      did -a help 1 also recreates it when it needs to.
      did -a help 1
      did -a help 1 Protection
      did -a help 1 ---------------
      did -a help 1 Protection is the script's built-in security features to better
      did -a help 1 help you protect yourself from malicious IRC script kiddies
      did -a help 1 and hackers. The protection events are customizable and
      did -a help 1 are very effective in what they set out to do. Scroll down
      did -a help 1 this help system for more detailed info on the Protections.
    }
    if ($did(help,2).seltext == [+]-Extras) {
      did -ra help 1 ** Extras
      did -a help 1 "Extras" is listed under the main n2k menu underneath
      did -a help 1 "Away." This section of the menu contains optional
      did -a help 1 features of the script.
      did -a help 1
      did -a help 1 Note: Double-click Extras on the left for more options.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Addons) {
      did -ra help 1 ** Addons
      did -a help 1 Addons are additional scripts written for n2k that add
      did -a help 1 more features or new commands to use. All of the
      did -a help 1 addons written for this script end with the .nXa extension
      did -a help 1 in the filename. To load an addon, just click "Add" and the
      did -a help 1 script will automatically allow you to select an addon from the
      did -a help 1 Addons folder of the script (which is where you should place
      did -a help 1 all addons), or you can select the path yourself.
      did -a help 1
      did -a help 1 *Important Note: You should not load addons that were
      did -a help 1 made for scripts other than n2k. Doing so can possibly
      did -a help 1 ''damage'' the script from working properly. n2k will
      did -a help 1 warn you if it detects this, but you are still allowed to load
      did -a help 1 the addon regardless. Only do this if you are sure the addon
      did -a help 1 will work properly without overwriting n2k's commands.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Control Panel) {
      did -ra help 1 ** Control Panel
      did -a help 1 The Control Panel is just an added graphical representation
      did -a help 1 of the main script functions, rather than using menus or
      did -a help 1 aliases. It's used just like any other control panel in Windows
      did -a help 1 except that it's for n2k only. You can also reach the panel
      did -a help 1 by typing /cp.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) F-Keys) {
      did -ra help 1 ** F-Keys
      did -a help 1 F-keys are the top 12 keys on your keyboard (f1, f2, etc.).
      did -a help 1 These keys provide one-click access to certain script features.
      did -a help 1 For example, you can press F1 to reach this help dialog, if
      did -a help 1 you haven't changed it from the f-keys dialog. You can add
      did -a help 1 any command you want (if it's a valid command). You could
      did -a help 1 even set one to launch your favorite program! ;-)
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Last Input) {
      did -ra help 1 ** Last Input
      did -a help 1 This command will allow you to see what you last entered
      did -a help 1 into the script. You can also do this by typing /repeat.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Lists) {
      did -ra help 1 ** Lists
      did -a help 1 This script uses .INI files to store list data and user names.
      did -a help 1 The four types of lists are auto greets, auto voice, buddy
      did -a help 1 list, and a black list.
      did -a help 1
      did -a help 1 Autogreet: nicks on this list that join a channel you're in
      did -a help 1 will be greeted with a custom welcome text publicly.
      did -a help 1
      did -a help 1 Autovoice: nicks on this list that join a channel you're in
      did -a help 1 will automatically be given +v status (you must be an Op
      did -a help 1 for this to work).
      did -a help 1
      did -a help 1 Buddy: nicks on your buddylist allow them to do "special"
      did -a help 1 things like bypass your personal flood protections. As of
      did -a help 1 this writing that is the main advantage of being on a buddylist.
      did -a help 1 More will be added in future versions of n2k.
      did -a help 1
      did -a help 1 Blacklist: nicks on this list will be kick/banned when joining
      did -a help 1 a channel you're op'd on. This is to keep yourself
      did -a help 1 separated from other users you've marked as malicious.
      did -a help 1 
      did -a help 1 Note: Currently the blacklist only supports user nicks instead of
      did -a help 1 hosts/IP addresses.
    }
    if ($did(help,2).seltext == [+]-Protection) {
      did -ra help 1 ** Channel Protections
      did -a help 1 Protection is the script's built-in security features to better
      did -a help 1 help you protect yourself from malicious IRC script kiddies
      did -a help 1 and hackers. The protection events are customizable and
      did -a help 1 are very effective in what they set out to do.
      did -a help 1
      did -a help 1 Note: Double-click Protection on the left for more options.
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Channel) {
      did -ra help 1 Clones
      did -a help 1 ---------------
      did -a help 1 Enabling clone protection will kick/ban the last joined clone
      did -a help 1 of a channel. A clone is when a user joins a channel twice,
      did -a help 1 using the same IP address/host. You can set the amount
      did -a help 1 of clones permitted, and how long to kick/ban the clone.
      did -a help 1
      did -a help 1 Notices
      did -a help 1 ---------------
      did -a help 1 The channel Notice protection works the same way as
      did -a help 1 the personal Notice protection except that it looks at
      did -a help 1 public channel notices instead of private ones.
      did -a help 1
      did -a help 1 Revolving Door
      did -a help 1 ---------------
      did -a help 1 Revolving doors are when someone joins a channel and then
      did -a help 1 parts almost immediately. This is usually done by spam bots
      did -a help 1 that quickly join channels and stay just long enough to send
      did -a help 1 spam out to non-ops/voiced users. With this protection you
      did -a help 1 can set how long to wait before a ban is set on a user after
      did -a help 1 parting a channel.
      did -a help 1
      did -a help 1 Repeats
      did -a help 1 ---------------
      did -a help 1 Users that continously repeat text over and over can get
      did -a help 1 annoying very fast. Use this protection to set an amount
      did -a help 1 of time to wait to check if a user repeats and how often 
      did -a help 1 they repeated before a kick/ban is set. This can also be
      did -a help 1 useful for stopping very crude flood attempts.
      did -a help 1
      did -a help 1 Joins
      did -a help 1 ---------------
      did -a help 1 Join flooding is one of the most used floods on IRC.
      did -a help 1 Enabling this protection will "lock" the channel
      did -a help 1 (moderate, invite only, and Registered nicks only)
      did -a help 1 to prevent more flooders from the same host/IP
      did -a help 1 from joining, for a specific amount of time.
      did -a help 1
      did -a help 1 Excessive Text
      did -a help 1 ---------------
      did -a help 1 A text flood is when a user inputs an excess amount
      did -a help 1 of text in a channel. Most times the server will dis-
      did -a help 1 connect the user, however; enabling this protection
      did -a help 1 allows you to set your own excess amount limit.
      did -a help 1 If a user exceeds that amount, they will be kick/
      did -a help 1 banned.
      did -a help 1
      did -a help 1 Spam Blocker
      did -a help 1 ---------------
      did -a help 1 The Spam Blocker will kick/ban users in a channel
      did -a help 1 that appear to be spamming for another channel
      did -a help 1 and/or website. This protection does not apply
      did -a help 1 to other Ops, or voiced users.
      did -a help 1
      did -a help 1 Revenge
      did -a help 1 ---------------
      did -a help 1 When another user deops/devoices, or bans you,
      did -a help 1 the script will automatically reop you and kick the
      did -a help 1 other user. This is to keep you op'd in a channel
      did -a help 1 at all times, and is suited best for channel
      did -a help 1 founders and highly trusted Ops.
      did -a help 1
      did -a help 1 Support all channels: Here, you have the option of
      did -a help 1 selecting which channels you want a particular
      did -a help 1 protection to work in, or all channels. To support
      did -a help 1 specific channels, uncheck this and click "Customize."
    }
    if ($did(help,2).seltext == $chr(160) $chr(160) Personal) {
      did -ra help 1 DCC/MSG/Query
      did -a help 1 ---------------
      did -a help 1 On a specified amount of open msg/dcc windows in a certain
      did -a help 1 time, n2k will ignore ALL for your specified length.
      did -a help 1 It will also close all the excess query windows received during
      did -a help 1 a flood. Also be aware that any user that is listed on your
      did -a help 1 buddylist will bypass the protections.
      did -a help 1
      did -a help 1 Note: Checking "Enable Query Block" will automatically close all
      did -a help 1 private query windows you receive from a user, unless they
      did -a help 1 are on your buddylist. The script will provide a "preview" of
      did -a help 1 what the message contained however, in the active window.
      did -a help 1
      did -a help 1 CTCP
      did -a help 1 ---------------
      did -a help 1 This allows you to either turn on/off CTCP protection or
      did -a help 1 disable CTCP altogether. If you receive a high amount of
      did -a help 1 CTCP requests (you set the amount) in a certain amount
      did -a help 1 of time (also set by you), n2k will ignore ALL CTCP
      did -a help 1 requests for whoever long you set the Ignore length to be.
      did -a help 1 This should give you enough time to either ban the attacker(s)
      did -a help 1 (if you're op'd) or just avoid them otherwise.
      did -a help 1
      did -a help 1 Note: Checking "Enable CTCP Block" will ignore ANY type of CTCP
      did -a help 1 request. So please be sure you don't need CTCP before setting
      did -a help 1 this on.
      did -a help 1
      did -a help 1 Notices
      did -a help 1 ---------------
      did -a help 1 Notice protection is done the same way as above. One key
      did -a help 1 note to make known is that the Notice protection does not
      did -a help 1 apply to messages and notices sent from the IRC network (or
      did -a help 1 services).
      did -a help 1
      did -a help 1 Invites
      did -a help 1 ---------------
      did -a help 1 Channel invites are often attributed to spammers or flood
      did -a help 1 attempts. This protection works so that you can set how
      did -a help 1 many invites are acceptable within any given time, if the
      did -a help 1 limit exceeds your acceptable limit then all invites are ignored.
      did -a help 1
      did -a help 1 Spam
      did -a help 1 ---------------
      did -a help 1 Spam is one of IRC's worst forms of annoyance. Enabling this
      did -a help 1 protection will automatically close any private msg containing
      did -a help 1 words that appear to be spam (ie. join #channel, go to
      did -a help 1 www.*, etc). This only works when you first receive the
      did -a help 1 message from a user, not while you are chatting with some
      did -a help 1 one already. This is done to prevent an open chat window
      did -a help 1 from closing on a legit user if they use a word that the script
      did -a help 1 thinks is spam.
      did -a help 1
      did -a help 1 Silence command: Some networks provide a /silence command
      did -a help 1 that works better than ignoring. Ignoring in mIRC simply tells
      did -a help 1 mIRC not to display whatever event just occured, but on the
      did -a help 1 server you are still receiving the event (or msg). Silence actually
      did -a help 1 stops the event on the server side before it even reaches you.
      did -a help 1 This is very useful for flood protection rather than ignoring. If
      did -a help 1 your network supports /silence you may want to enable "Use
      did -a help 1 silence command instead of ignore" on the protection setup.
    }
    if ($did(help,2).seltext == Services) {
      did -ra help 1 ** Services
      did -a help 1 Services are used to maintain control of channels, nicks, and
      did -a help 1 receive memos from other "Registered" users of the IRC
      did -a help 1 network. n2k currently has built in support for the most
      did -a help 1 popular networks such as DALnet, Undernet, and AustNet.
      did -a help 1 Support for other networks can be added through the use of
      did -a help 1 addon scripts and bult-in support may be added for other net
      did -a help 1 works in future versions.
    }
  }
  if ($devent == dclick) {
    if ($did(help,2).seltext == [+]-Config) {
      did -ra help 2 Away
      did -a help 2 Commands
      did -a help 2 [-]-Config
      did -a help 2 $chr(160) $chr(160) Status
      did -a help 2 $chr(160) $chr(160) Serving
      did -a help 2 $chr(160) $chr(160) Display
      did -a help 2 $chr(160) $chr(160) Info
      did -a help 2 $chr(160) $chr(160) Extras
      did -a help 2 [+]-Extras
      did -a help 2 [+]-Protection
      did -a help 2 Services
      did -c help 2 3
    }
    if ($did(help,2).seltext == [+]-Extras) {
      did -ra help 2 Away
      did -a help 2 Commands
      did -a help 2 [+]-Config
      did -a help 2 [-]-Extras
      did -a help 2 $chr(160) $chr(160) Addons
      did -a help 2 $chr(160) $chr(160) Control Panel
      did -a help 2 $chr(160) $chr(160) F-Keys
      did -a help 2 $chr(160) $chr(160) Last Input
      did -a help 2 $chr(160) $chr(160) Lists
      did -a help 2 [+]-Protection
      did -a help 2 Services
      did -c help 2 4
    }
    if ($did(help,2).seltext == [+]-Protection) {
      did -ra help 2 Away
      did -a help 2 Commands
      did -a help 2 [+]-Config
      did -a help 2 [+]-Extras
      did -a help 2 [-]-Protection
      did -a help 2 $chr(160) $chr(160) Channel
      did -a help 2 $chr(160) $chr(160) Personal
      did -a help 2 Services
      did -c help 2 5
    }
  }
}
