EQ Companion / User's Guide


Table of Contents  
NOTE! The user's guide is horribly unfinished. Hopefully I will get it finished soon...
  1. Installation
  2. Getting started
  3. Menu Items
  4. Preferences settings
  5. Statistics page
  6. Map-window
  7. Training maps
  8. Using maps
1. Installation (back to top)  
You can download EQ Companion from the downloads-page. Since EQ Companion is written in Visual Basic, it requires some Visual Basic run-time libraries to run. If you have Visual Basic 6 installed on your computer, all you need is the approximately 200kb executable only ZIP file. If you do not have VB 6 or if you are not sure, you should download the full installer which is approximately 3mb. There are separate installer programs for different versions of Windows so if you decide to download the full installer, make sure you pick the one for your windows version. The executable-only ZIP files work with all Windows versions.

There are 2 ways of using EQ Companion, you can either use it off-line to parse your old log files or you can use it on-line to parse the live EverQuest log file as you are playing EverQuest. If you have 2 networked computers, you can install EQ Companion on your second computer and use the first to play EverQuest with.

Running the installer:

The installer file is a ZIP file. You should have WinZip on your computer to un-pack the file. You can download WinZip for free from http://www.winzip.com. With WinZip installed on your computer, you can just double-click on the EQ Companion installer file and WinZip opens it up. You can use WinZip's 'Install' button to start the installation.

The only thing you are asked for is in which directory you want to install EQ Companion in. The default directory should work just fine. Once EQ Companion is installed, you should be able to find it from your start menu.

Downloading the executable-only ZIP file:

Typically the installer program does not install the latest version. The downloads-page has link for the latest version of EQ Companion. This file is typically only about 200kb in size. Once you download it and open it in WinZIP, you should extract is on top of your old version of EQ Companion.

2. Getting started (back to top)  
Finding your log file:

EQ Companion works by reading a log file that EverQuest writes into. This log file resides in the same directory where you have installed EverQuest into. The file name for the log file looks like 'eqlog_<playername>_<servernumber>.txt' where '<playername>' is your character's name and '<servernumber>' is a 2-digit number that identifies the EverQuest server you play on.

Enabling the log file in EverQuest:

By default EverQuest does not write into this log file. You have to specifically turn the logging on. After you have signed on to EverQuest, you can type '/LOG ON' in the command window. You can also turn the logging on permanently by opening your EQClient.INI file. In its [defaults] section there is an entry which says 'log=false' or 'log=true'. When this is set to to be 'log=true' the logging will be on automatically every time you run EverQuest.

Using EQ Companion on-line or off-line:

There are 2 ways of using EQ Companion. You can either use it off-line to parse old log files or you can use it on-line to actively monitor the log file as you are playing EverQuest on another computer. Either way all you need to do is open your log file and you are good to go.

Opening the log file:

There are several ways of opening the log file. The 'Open log file... (Ctrl+O)' menu command is intended for opening an old log file. The 'Open active log file...' menu command is for opening an active log file for real-time parsing.

You can specify the initial directory the 'File Open' dialog shows separately for both of these commands. They are set in the Preferences dialog's 'File locations' tab. 'Open log file... (Ctrl+O)' command opens into the directory that 'Log Files Directory' entry points to. 'Open active log file...' command will open into the directory that 'EverQuest Directory' points to.

If you tend to always open the exact same log file, you can use the 'Open Auto-Load Log File' menu command to open it without having to choose the file name using the file-open dialog. First you will have to designate the log file in the same preferences-dialog's 'File locations' tab under the 'Auto-load log file' entry.

If you are opening an active log file and your log file keeps getting just larger and larger, it might take a while for EQ Companion to read through it all before it starts actually monitoring new lines. To prevent this, you can set the 'Skip to end of file when opening active log file' flag in the preferences dialog's 'File locations' tab.

EQ Companion will also build a 'Recently opened files' menu structure automatically as you open log files. It will always show the last 10 log files you have opened sorted so that the last file opened is on top of the list.

3. Menu Items (back to top)  
File Open Log File... Use this menu command to open an old log file. The default directory shown is your log-files directory which is set in the 'Preferences'-dialog's 'File Locations' tab.
  Open multiple log files... Use this menu option to open multiple log files. You can choose multiple file names by clicking on first file name and shift-clicking on last one. You can also ctrl-click to select / deselect individual file names.

The main purpose for this menu item is to populate your skills-table. If you have old log files saved on your hard drive, you can make EQ Companion read through all of them to find all your skill levels. As EQ Companion is reading through the log files, it tells which file number out of all files it is processing currently.

If you are only interested in populating your skills-table, you should check the 'Ignore all chat', 'Ignore all loot' and 'Ignore all fights' options in the stats-page to speed things up.

  Open Active Log File Use this menu command to open your active EverQuest log file. The default directory is your EQ-directory which is set in the 'Preferences'-dialog's 'File Locations' tab.

Currently the only differences between using this menu item or 'Open Log File...' menu item is the default directory shown in the 'File Open' dialog. This menu command also honors the 'Skip to end of file when opening an active log file' setting and 'Open log file...' does not.

  Open Auto-load log file If you have one log file that you open every single time, you can set its file name in the Preferences dialog's File locations tab. Using this menu option will open this log file without showing the file open dialog.
  <PC Name> When ever you open an active log file, EQ Companion adds a menu item for the PC name where you opened the file from and in that menu, a sub-menu item for your character's name. If the file is a local file, 'Local PC' will be used.

This way if you have 2 PC's for example and you play 2 characters on these PC's, EQ Companion will build a menu structure where all you have to do is choose the PC where the log file is and from that menu the character name and EQ Companion will start monitoring the log file for that character from that PC.

  Recently opened files EQ Companion remembers the last 10 log files you have opened. It also remembers if the file was opened as an active log file (I.E. for real-time monitoring) or not. This menu lists the last 10 log files opened listing the most recent file on top. If the log file was opened as an active log file, the file name will be appended with '* Active *'.
  Quit Quits the program. EQ Companion will save all your settings like window positions, preferences settings, etc. so the next time you run EQ Companion, all your settings are intact. The settings are saved in "EQ Companion.INI" file which is in the same directory where you installed EQ Companion
Windows F1: Tells Switches to the tells-channel's window
  F2: Says Switches to the Say-channel's window
  F3: Guild Chat Switches to the Guild chat-channel's window
  F4: Group chat Switches to the Group chat-channel's window
  F5: Shouts Switches to the Shout-channel's window
  F6: OOC Switches to the Out Of Character-channel's window
  F7: Auctions Switches to the Auction-channel's window
  F8: Show Map Shows the map-window. If the current zone is known and there is a map assigned to the zone, it will automatically load that map.
4. Preferences Settings (back to top)  

General preferences tab:

General preferences - Miscellaneous flags:

  • Ignore tells from NPC's
  • : NPC here means any character name that shows a surname in the log file. Player character surnames are not shown in chat messages. If you receive a tell from Magnus Eriksson for example, EQC will not show it in the tells-window as it was from an NPC. If you receive a tell from NPC without surname, though, EQC would not be able to catch it and it would be listed among other tells to you.
  • Merge cells
  • : Certain columns have a 'merge cells' feature enabled. What it means is if there are several cells with the same content next to each other, they will be shown as a single tall cell with the content printed in the middle of the cell. You can easiest see this in the date columns. If you do not want this feature, you can clear this option and all the cells will be shown separately.
  • No auto-switch
  • : This is a master switch to turn off all auto-switching. When auto-switching is enabled for a chat channel of the fight-window, if you receive a message to that channel, or if fight starts, EQC will automatically switch to that window. If you do not disable it here, you can individually choose which channels will use this feature. There is a 'No auto-switch' checkmark at the bottom of each chat channel and also in the fights-window.
  • No auto-switch during fight-mode
  • : This temporarily disables auto-switching to the chat channels if a fight is going on. When the fight ends, auto-switching will work as normal
General preferences - When opening old log files:

The following flags are stored in the INI file and are useful if you only use EQ Companion to parse fights, for example. Checking these will make processing the log file faster as EQ Companion does not have to check for chat messages, etc.

There is a similar set of flags in the STATS-window, but those flags are not stored in the INI file. You can use them to enable these settings on the fly while EQ Companion is already reading through your old log file and parsing it.

  • Ignore chat
  • : Ignores all chat messages when you are opening an old log file (vs. monitoring an active log file)
  • Ignore loot
  • : Ignores all loot messages (and selling messages) when you are opening an old log file (vs. monitoring an active log file)
  • Ignore skill increases
  • : Ignores all skill increases when you are opening an old log file (vs. monitoring an active log file)
  • Ignore all fights
  • : Ignores all fights when you are opening an old log file (vs. monitoring an active log file). This might be useful if you only want to check looting or skill increases from previous night for example.
General preferences - Error trapping:

You have 4 choices on how EQ Companion should act when it encounters an error. Unless you choose the 'Disable trapping' option, EQ Companion will always write the error in a file called Debug.log which is in the same directory where the executable is. In that file you will find detailed information on where the error happened, what the error was and which log line caused the error.

  • Show all errors
  • : When EQ Companion encounters an error, it will show an error dialog telling what kind of error happened, which procedure it happened in and which log line caused the error.
  • Ignore all
  • : EQ Companion will ignore all errors it encounters.
  • Show only summary
  • : EQ Companion will only show 1 error dialog after the whole log file is parsed. In that error dialog it will tell how many errors it encountered. This option only works when opening an old log file. If you choose this option and you are monitoring an active log file, each error is still reported separately.
  • Disable trapping
  • : This option is only useful for the programmer. It allows the programmer to debug the error instead of getting an error dialog and continuing log file parsing. If you choose this option, every error EQ Companion encounters will crash the program.

General preferences - Data limits:

Here you can tweak EQ Companion's memory usage. When EQ Companion parses a log file, an internal array is maintained which keeps track of each damage message; who hit who for how much damage and using which attack type. It also remembers if the hit was a miss and if so, the  reason for the miss. It also remembers if the hit was a special hit like critical or crippling blow. All this information is stored per fight.

In Visual Basic you have to pre-allocate arrays like this. The 'Maximum # fights to record' setting tells how many separate fights we allocate memory for. The 'Maximum hits per fight' setting tells how many damage messages are allocated for each fight. By adjusting these values, you can tweak EQ Companion to suit your play style.

If you play a lower level character, typically your fights do not last too long and you might set the 'Maximum hits per fight' setting to something like 200 or 300. On the other hand, if you are a level 60 warrior who attends raids regularly and you want to record the whole raid's performance, you might have to set the value as high as 50,000 or 60,000. The stats window's 'Most hits/fight' field shows the maximum number of damage messages in your current log file.

If your log file exceeds the 'Maximum # fights to record' setting, EQ Companion will show a warning dialog and it will not parse any more fights. If your log file exceeds the 'Maximum hits per fight' setting, EQ Companion will also show a warning dialog but only the current fight's end will be ignored..

The 'Approximate memory usage' field shows approximately how much memory your current settings will allocate for EQ Companion. If you change these settings, you have to re-start EQ Companion for the new values to take effect.

The 'Maximum chat lines' setting tells the maximum chat lines to keep. It will also affect memory usage, but more importantly it will affect parsing speed. The fewer lines to keep, the faster EQ Companion seems to work. This seems to be because the more lines your chat list has, the longer it seems to take for Visual Basic to add lines to the end of the list.

When the maximum number of chat lines is exceeded, the oldest ones are deleted from the top of the list as new ones are added to the end of the list.

General preferences - Default user name:

EQ Companion needs to know your character's name to parse critical hits and crippling blows correctly. It has 3 ways of figuring out your character's name:

  1. If the log file has not been renamed, the character's name is taken from there. Both the old file name format 'eqlog_00_playername.txt' and the new file name format 'eqlog_playername_00.txt' are checked against.
  2. Every once in a while EverQuest saves your character's data to the server. When this happens, there will be 'playername saved.' message in the log file.
  3. The 'Default user name' field here.

If you are parsing old log files that you have renamed, check #1 will not work. If you have also edited your log files and gotten rid of the 'playername saved.' lines, check #2 will not work either. In this case you can enter your character name here and you will still be able to get criticals and crippling blows parsed correctly.

The reason EQ Companion needs to know your character's name for criticals and crippling blows is because all your normal fight messages say 'You hit xxx for yyy points of damage.' or 'xxx hits YOU for yyy points of damage'. Because it uses 'You', EQ Companion will always know these are your damage messages without actually knowing your user name. Critical messages on the other hand say 'playername scores a critical hit (280)!". Since this message shows the player's name and never 'you', EQ Companion needs to know what your character's name is in order to credit your criticals to you and someone else's criticals to that someone else.

General preferences - Magelo id#:

The HTML table will show your user name and this is actually a link to Caster's Realm's character search page. If you rather make this link into your Magelo profile, just enter your profile number here.

File locations tab:

File Locations

File locations tab has settings which deal directories and files.

  • EverQuest Directory: This directory is the directory EQ Companion opens up when you use the 'Open active log file' menu command. You should point it to the directory where you have installed EverQuest to. In the future this setting will be also used to find the Notes.txt file and spells_en.txt files.
  • Log Files Directory: This directory is the directory EQ Companion opens up when you use the 'Open log file' menu command. If you are storing your log files in a separate directory from your EQ directory, you should assign it here.
  • Map Files Directory: This directory is the directory where you have all your map files on.
  • Auto-load log file: If you always open the same log file, you can assign it as your 'Auto-load log file'. After that you can just use the 'Open auto-load log file' menu command to open it lot quicker
  • Filename template: Here you can define a file name template you are using with your archived log files
  • Default URL: This is the URL the 'Default' button in the HTML window will go to. You can set it to your guild's message board for example if you want to post your HTML tables there.
  • Skip to end of file when opening active log file: If you enable this option, EQ Companion will not parse your old log lines when you open an active log file. This option is a huge time saver if you let your log file grow without archiving it.

HTML Report tab:

HTML Report - Include in report:

Here you define what you want to be included in the HTML report.

  • All fighters: Include all fighters
  • Only known friends and foes: Do not include fighters if EQ Companion was not able to figure out if they were friends or foes. The way EQ Companion figures this out is by keeping track on who they hit and who hits them. Who ever hits you is automatically a foe. Who ever hits you is automatically a foe as well. Whoever hits a known foe will be assigned a friend and who ever is hitting a known friend will be automatically assigned a foe.
    Fighters who never hit a known friend or foe and who are never hit by a known friend or foe are left as 'others'. These would typically be people who are just fighting close enough from you so that you can see their damage messages.
  • Only yourself and main mob: The 'main mob' is determined by how much damage they take. If you are fighting multiple mobs at the same time, which ever mob took most damage will be assigned the 'main mob'. This mob is also listed in the Fights-table.

After HTML is generated:

Here you tell what EQ Companion will do after the HTML table is generated.

  • Copy HTML to clipboard: The HTML code is copied in the clipboard and you can paste it in a message board thread for example. This option is useful if you want to post your fight tables in a message board thread for example. You should first set the 'Default URL' setting in the 'File locations' tab to be the URL for your message board. After that you can just press the 'Default' button at the bottom of the HTML table to go to the message board. Just open the forum where you want to post your table, start a new thread or open an existing thread and paste the HTML code there. If you are using EZBoard, remember to enable HTML.
  • Switch to browser window: EQ Companion will automatically switch to the HTML window where you can see the table.

Columns to include:

Here you can define which columns you want to include in the HTML table. The more columns you include, the more cluttered the table will be. You can easily not include Start and End for example as the duration is more important to show. Also to show number of hits, number of misses and hit% is a bit wasteful, by not showing number of misses you are not really missing any information. If you did not have misses on to begin with, you can choose not to show hit% as well as it will be 100% anyways.

Use style sheet to define cell colors (reduced HTML code):

Some browsers will not show the HTML table in its correct colors if you enable this option. The advantage, though, is that the amount of HTML code will be greatly reduced.

HTML Table colors:

Here you can define the colors that the HTML table will use. I have provided 2 pre-set color schemes. You can also define your own color scheme. To define your own, you can start with one of the pre-defined ones by pressing 'Set 1' or 'Set 2' buttons. After that you can set the colors as you wish. To set the text color, left-click on the item name and to set the background color, right-click on the item name.

The fight data table will use the same color scheme as your HTML table.

5. Statistics Page (back to top)  
The statistics page is the page you will see when you launch EQ Companion. It shows statistics about the log once it has been read in and parsed. It also allows you to change parsing settings on the fly when the log file is being read in.

Filtering:

You can use these options to make EQ Companion parse log files faster by eliminating parsing of things you are not interested in. These flags are only used when opening old log files and they do not do anything while monitoring an active log file. There are similar set of flags in the Preferences dialog. The difference is these flags are not saved in the INI file and they can be used on the fly while EQ Companion is already parsing the log file.
  • Ignore all chat: When enabled, EQ Companion will ignore all tells, shouts, OOC, etc. If you are only interested in parsing fights, enabling this option will typically make EQ Companion parse the log file a lot faster. This of course depends on how much chat your log file has in it.
  • Ignore all loot: When enabled, EQ Companion will ignore all loot messages. Typically log files do not have too many loot messages in them so enabling this option will not help that much.
  • Ignore all skill increases: When enabled, EQ Companion will ignore all skill increases. Once again, enabling this option will not help too much as there are typically not that many skill messages in log files.
  • Ignore all fights: When enabled, EQ Companion will not parse any fights. Typically parsing of the fights takes the majority of the parsing time so if you are only interested in parsing looting, skill increases, etc, enabling this option will help parsing speed a lot.
  • Process all fights: Default setting. EQ Companion will process all the fights.
  • Process only fights for these days: If you have a very large log file and you only want to parse certain fights and you know what date the fights happened in, setting this option will make EQ Companion parse the unwanted dates a lot faster. To enable this option, just click on a day in the month view control. If you want to check multiple days, you can drag the mouse pointer and choose up to 7 consecutive days. The start and end dates will be automatically filled in the fields above.

SPECIAL NOTE: EQ Companion has special coding if you have set 'Ignore all chat', 'Ignore all loot' and 'Ignore all skill increases' flags and have specified a date range for fights. Under these conditions EQ Companion will be able to read through the log file very rapidly until it hits your dates. If you only specify a single day, EQ Companion will skip through the log file the fastest. All it needs to do is read the log file line by line and just do a string comparison against the time stamp in the log lines. If you specify a date range, it has to parse the time stamp and this slows things down a little bit, but it still finds your dates much faster than if you did not enable the 3 options above.

Chat window stats:

Here you will see how many tells, shouts, etc. the log file included

Log file stats:

Here you will see information about the log file.

  • File size: The size of the log file in bytes
  • Lines read in: How many lines has been read in from the log file
  • Lines ignored: How many log lines were ignored because EQ Companion did not know what to do with them.
  • Lines / sec: How many lines per second EQ Companion was able to parse
  • Start time: The time stamp of the first log line
  • Current time: The time stamp of the log line which was read in last
  • Est. time left: While reading in a log file, EQ Companion estimates how long it will still take to finish the file.

Fight stats:

Here you will see statistics about all fights parsed.

  • Fights recorded: Total number of individual fights recorded
  • Most hits / fight: The largest number of damage messages recorded in a single fight. You can use this number to estimate what you should enter in the Preferences window's 'Maximum hits per fight' setting if you want to tweak EQ Companion's memory usage.
  • Mobs killed: Number of mobs killed
  • Self EXP gained: How many times you gained self-experience
  • Party EXP gained: How many times you gained party experience
  • Overall DPS: Overall damage per second. This number is by no means accurate. Typically you fight all kinds of mobs and some mobs are tougher to fight than others. You might also change weapons, get speed buffs, STR buffs, etc. during your fights. This number here is calculated just by dividing the total number of damage points you have done during the whole log file by the total combined fighting time. A lot more meaningful way of getting your DPS is to combine a lot of fights which have been fought under similar circumstances.
  • Minimum DPS: Smallest DPS per fight recorded
  • Maximum DPS: Largest DPS per fight recorded
  • Max critical: Largest critical hit
  • Avg critical: Average critical hit
  • Max crippling: Largest crippling blow
  • Avg crippling: Average crippling blow
  • Assassinations: Number of assassinations recorded
  • Finishing blows: Number of finishing blows recorded
  • Average fight time: Average length of fights
  • Total fight time: Total time spent fighting
6. Map-Window (back to top)  
The map window pops up when you use the /location (or /loc) command in EverQuest. You can also open it using the appropriate menu command in the 'Windows' menu or by pressing its keyboard shortcut, F9.

If you have the map already set up for your current zone, it will be displayed. The name of the zone is shown in the title bar of the window. The map window has a hidden control panel. When you hover the mouse pointer on top of the status bar of the window (the panel at the bottom of the window), the control panel opens up at the bottom of the window. You can also toggle the control panel with F3-button.

The control panel:

  • F1 - Show grid: Toggles the coordinate grid on the map
  • F2 - Clear map: If you have been running around in the zone and you have left traces all over the map, you can clear all of them using this function
  • F3 - Toggle controls: This toggles the control panel on and off
  • F4 - Fit window: This will re-size the window so it fits around your map. Basically it will just get rid of extra space around the map. If you press this button twice within a second, the map itself will be scaled to the picture's actual dimensions and the window is resized accordingly.
  • F5 - Set waypoint: Not implemented yet
  • F6 - Set point-of-interest : Not implemented yet
  • F7 - Show points-of-interests: Not implemented yet
  • F8 - Show alternate map: If you have multiple map files for the same zone, you can switch between them using this function.

    By default EQ Companion is pretty smart about which map it shows. It will always choose the map file that shows your current location. If you have multiple map files that show your current location, it will choose the one with largest scale (I.E. which shows most detail).

    For example if you are in Firiona Vie and you have 2 map files, one which shows the whole zone and another that shows only the outpost, when you enter the area that the outpost map shows, EQ Companion automatically switches to that map. When you leave the Outpost, EQ Companion will automatically switch back to the full zone map.

    This can cause problems with dungeons, though. Befallen for example would typically have 3 separate maps, one for each floor. Since each floor is on top of each other, you will always be in the X- and Y- coordinates of all the 3 maps. By using F8, you can force EQ Companion to use only one of the maps. The title bar will show an asterisk after the zone name once you have 'locked' a map in. When you enter another floor, you can just use F8 and switch to the appropriate map.
  • F9 - Close window: This will close the map window. Since F9 is also the keyboard shortcut to open the map window, you can use F9 to toggle the map on and off.

    If you have opened the map window using F9 button, it will not close on its own. You will have to close it manually. If the map window pops up on its own after you have used the /loc command in EQ, the window will close automatically 5 seconds after the last /loc command.

Train map:

Here you can start the map training procedure. For more information about map training, refer to section 7, Training maps, below.

Choose map:

Here you can filter out maps. You can choose the continent and if you want to see outdoor zones, dungeons, etc. It will show the total number of maps and how many there are that meet your filter criteria. The pop-up menu will only include maps that meet your filter criteria.

Status bar:

The status bar shows the status of the map and it also shows instructions while you are training the maps. The 'Speed' panel shows your current running speed if you have used the /LOC command at least twice within 5 seconds. The 'Loc' shows the location under the mouse pointer.

The way EQ Companion calculates your running speed is the following: First time you use /LOC command, EQ Companion will remember your X and Y coordinates and the time stamp. This will set the starting point that the speed calculations will be calculated against. When you use /LOC command second time within 5 seconds, it will calculate the distance from the first point to your current point. It also calculates how many seconds passed between the points. If you keep using /LOC command at least once every 5 seconds, EQ Companion will keep showing your running speed and elapsed time based on running time and distance traveled.

If you are not running a straight line, the speed calculation will not be accurate because EQ Companion will only calculate your distance from the first point to the current point and completely ignore the in-between points.

To restart speed calculations, just let 5 seconds pass without using the /LOC command. This will time out the current speed calculations.

To get accurate running speed, you should be running a straight line for at least 20-30 seconds.

7. Training Maps (back to top)  
In order to get maps to work, you will need to have a map available for the zone you are in. You will also have to tell the program about the coordinate system of the map. The first part is easy enough. I’m sure I’m not the only one who has a directory full of downloaded bitmaps from pretty much every zone in Norrath. The preferences dialog has a new entry where you can assign the directory where the map files are in.

If the name of the map happens to be exactly the same as the name of the Zone, EQ Companion will load it automatically. Otherwise you will have to go to the tables-window and assign the map file to the zone.

Once the map is loaded, you have to train it. All you need to do is point 2 places on the map and tell what the EQ location for those places are. If the map has the coordinates printed on it, you can just use those. Otherwise you can actually go to two known places on the zone and press /LOC and show on the map where you are.

I have tried to make the training part as easy to do as possible. Basically you just click on the map, type the Y and X coordinates (in the same way as they are used in EQ) pressing TAB to go from one field to another. Click on another spot on the map and do it again.

Once the map is trained, you do not have to it again. Of course every zone needs to be done separately.
8. Using Maps (back to top)  
Using maps