Ren-Ren's Fserve Navigator v1.0
By Ren-Ren (Adrian Au)
http://www.geocities.com/Tokyo/Flats/3498
rusie.renren@usa.net

***

CONTENTS:

INTRODUCTION
INSTALLATION
USE
LEGAL INFORMATION AND DISTRIBUTION
NOTES
HISTORY

***

INTRODUCTION:

Ren-Ren's Fserve Navigator (RFN) is an mIRC script that makes navigating Fserves on IRC a little easier. These are the main features:

	1) Create editable list of available Fserves in different channels.
	2) Editable note for each Fserve.
	3) Save the list of available Fserves of a channel to file.
	4) Add/remove selected Fserves to/from notify list.
	5) Mouse-driven interface to navigate Fserves.
	6) Add Favorites for individual Fserves.
	7) Anti-idle option.
	8) Log queued/received files for individual Fserves.

The script requires mIRC v5.8 (or higher). It was tested on DALnet using mIRC v5.8 32-bit on a Windows 98 SE PIII-550MHz system. I didn't do thorough testing though because by the time I finished the script, I was really tired. :p So use this at your own risk. Just remember, if it hangs, press Ctrl-Break!

The script consists of two files: RFN-Main.mrc and RFN-Dialog.mrc
The other file (RFN-1.0.txt) is the file you're reading.

***

INSTALLATION:

Extract the script files into one directory. Open mIRC v5.8 (or higher). Then type the following command in any mIRC window (replace "C:\mIRC\" with the directory you extracted the script to):

/load -rs C:\mIRC\RFN-Main.mrc

mIRC may pop up a warning message. The script won't work if you don't let it initialize. During initialization, the script will load RFN-Dialog.mrc and will make several settings variables. These will all be %rfn-<something>.

***

USE:

There are basically two windows in RFN: the main interface window and the Fserve navigation window (Fserve Sidebar). To open the main interface window, press Ctrl-F12, type the command /RFN, or choose Open RFN in the channel popup menu or mIRC menu bar. The Fserve navigation window opens automatically when you establish a connection to an Fserve.

MAIN INTERFACE WINDOW:

There are three tabs in this window: Fserves, Files History, and Options. The menubar contains various commands found in the tabs. The Close command closes the main interface window and the Unload RFN command unloads the script from mIRC.

>>> Fserves

This tab consists of 5 boxes. The Channel, Fserves and Triggers in Selected Channel listboxes are sorted alphabetically.

* Channel listbox: This lists channels in which Fserves can be listed. Notices from people on the channels in the listbox are scanned to see if they have Fserves, based on the Catcher Keywords setting under Options. When you use a recognized Fserve listing command (like !List) in a channel, that channel is added to the listbox. The List button makes you send to the selected channels the first entry in the List Triggers setting under Options (!list by default). If no channels are selected, the command is sent to the active channel. Double-clicking on a channel in the listbox sends the command as well. This basically serves as a refresh function. The plus/minus buttons are the Add Channel and Remove Channel(s) buttons respectively. Use these to modify the Channel listbox.

If the Channel listbox needs updating, use the Refresh Channel List command in the RFN menubar.

The list of Fserves and notices in a channel can be saved to file. Use the Save Channel command. The information is saved to the RFN directory as set under Options. The filename is in the format: <channel name>.rfn. Use the Load Channel command to load the information back. Take note that existing information in the listbox is cleared before the information in the file is loaded.

* Fserves listbox: This lists all the people with Fserves found in the selected channel in the Channel listbox. The Notify button (or double-clicking on an entry) adds/removes selected entries in the Fserves listbox to/from the mIRC notify list. The plus/minus buttons add/remove entries in the Fserves listbox.

* Triggers in Selected Channel listbox: This lists all the Fserve triggers found in the channel, sorted by their respective Fserves. Double-clicking on an entry makes you say the trigger in the channel (or use the CTCP command if that's what the trigger is).

* Fserve Information listboxes: The bottom box is the notice message sent by selected Fserve in the Fserve listbox. The top box shows information obtained from that message as parsed by the script. The parsing is based on the Parse Openers and Parse Closers settings under Options. It is limited, so if something is wrong, go by the notice message in the bottom box.

The bottom box can be edited directly. Any changes you make are saved immediately.

>>> Files History:

This tab consists of 4 boxes. The Files History uses the rfn.ini file, and can be toggled in the Options. The Fserves listbox has a listing of the people you queued/received files from. Clicking on an Fserve shows the queued, failed and received files in their respective boxes. The plus/minus buttons add/remove entries in the particular boxes.

>>> Options:

This tab is where you can change various options. Any changes you make are saved immediately.

* Fserve Sidebar Width: This is the width of the Fserve navigation window. The Fserve window is moved/resized if necessary. Default is 300.

* Fserve Popup Width: This is the width of the popups in the Fserve window and the Fserve navigation window. Default is 60.

* Open on Desktop: This sets whether the main interface window opens on the desktop. Default is off.

* Open RFN after List: This sets whether the main interface window opens automatically after you use a recognized Fserve listing command in a channel.

* Auto-Join after List: This sets whether to automatically join the channel (if you're not on it already) after pressing the List button or double-clicking on a Channel in the Channel listbox.

* Auto-Continue Fserve Welcome: This sets whether to automatically say "C" in an Fserve to continue the welcome message. It does not apply to files shown using the "read" command in Fserves. Default is on.

* Anti-Idle: This sets whether to automatically use the CD command in an Fserve when the Fserve gives the warning "Closing idle connection in <whatever> seconds". It is recommended to leave this option off because it may annoy the Fserve owner. Default is off.

* Log Queued/Received Files: This sets whether to track queued, failed and received files in Files History. Default is on.

* Show Time in Files History: This sets whether to show the timestamp of queued, failed and received files in Files History. Default is on.

* RFN Commands in Menubar/Channel: This toggles the RFN popup commands in the channel window and the mIRC menubar. Default is on.

* RFN Directory: This is the directory where RFN works from (to load/save rfn files and to store rfn.ini). Default is the script directory.

* List Triggers: These are the recognized Fserve listing commands, separated by spaces. The first one is the one that is used when you press the List button or double-click on an entry in the Channel listbox. The others are recognized when you actually type them in channel windows. Default is "!list".

* Catcher Keywords: These are the keywords (separated by spaces) that RFN looks for when scanning notices from people to determine whether they are Fserve messages. Default is "fserv trigger".

* Parse Openers: These are the openers (separated by spaces) used to parse Fserve notices. Information obtained this way is placed in the Fserve Information box. They are matched in position with the Parse Closers. The Default is "( <  { [". For example, in the partial notice "Fserve Triggers:(!This & !That)", the parse opener is ( and the closer is ). The openers and closers must occur at least 4 times in a notice in order to be considered.

* Parse Closers: These are the closers (separated by spaces) used to parse Fserve notices. Information obtained this way is placed in the Fserve Information box. They are matched in position with the Parse Openers. Default is ") >  } ]".

* Default: Resets all the options to default values.

* About box: The link opens my webpage (http://www.geocities.com/Tokyo/Flats/3498). Come visit!

---

FSERVE NAVIGATION WINDOW:

This window automatically opens when an Fserve connection is established. It also opens when you use the dir command in an Fserve while the window is closed.

The window lists all the files and directories in the current directory. Double-click to get a file or change to a directory. The Fserve navigation window's pop-up menu consists of various popular Fserve commands (cd, dir, get, stats, queues, sends, who, clr_queues, quit). The command ls is not in there because I didn't make the script able to break down the information from ls into files and directories to place into the Fserve navigation window. There's also a Send File command to send a file to the Fserve owner. The pop-up also has a Favorites list of directories for that particular Fserve. You can add/remove Favorite directories to/from the list. Up to 10 Favorites are allowed for each Fserve.

The Fserve window itself has a slightly different pop-up menu. The first entry in the CD, Get and Read commands use the clipboard contents (CB). In addition, each command also has the first 30 subdirectories/files in the current directory of the Fserve.

---

The script has a safety to prevent infinite loops in case rfn.ini gets corrupted for some reason. This safety prevents the script from looping more than 5000 times by default, and so it won't read beyond 5000 files of each type (queued, failed, received) per Fserve in the Files History. If you have want more than 5000 file entries, you can edit the following line in RFN-Main.mrc:

	if ($1 == safety) return 5000

Just increase the number to whatever you feel like.

The script also by default opens the main interface window with Ctrl-F12. If that's a problem, comment out (by adding a ; at the beginning of the line) the following line in RFN-Main.mrc:

	alias cF12 rfn

Or you can just change it to another key. For example, to change it to F10, replace the line with:

	alias F10 rfn

For now, there is only one CTCP command the script responds to: RFN Version
The response is: RFN-Version <script name and version> <page address>

***

LEGAL INFORMATION AND DISTRIBUTION:

I didn't get a copyright on the script or anything. The script does not have any backdoor and I don't know who you are or where you live. But as a decent human being, please don't copy the script or any of its portions and call it your own. Give credit where credit is due. You can distribute the script only in its entirety, including this document. Do not charge for it.

***

NOTES:

Thank you for trying Ren-Ren's Fserve Navigator. Feel free to tell your friends about it. Hopefully you will be telling good things about it. If you find a bug or think of a cool feature, you can send me an email at rusie.renren@usa.net or tell me on DALnet IRC. I use the nick Ren-Ren.

***

HISTORY:

September 25, 2000
Version 1.0
First released version. Hope it's not too buggy.