ACT Advanced Combat Tracker for EverQuest II Paypal
The log parser that helps you ... know your enemy.
---------

Advanced Combat Tracker features:

For players who don't just play the game ...

Download Now

Operating System Requirements:

    Microsoft .NET Framework 2.0

View Screenshots
Feel free to /join me at eq.serverwide.actparse
Recently I was interviewed by a couple popular gaming sites. Feel free to read the articles: EQ2@TenTonHammer & EQ2@OGaming/Allakhazam.
About
*
Advanced Combat Tracker is an encounter parser for EverQuest®2. Its goal is to not only give you DPS data for every fight that you get yourself into, but to provide you with data for nearly every aspect of the battle. Whether its how much damage you've taken or dealt, you can easily find out how and when it happened. Curious about how often your spells were resisted by the mob? Curious about how much your spells usually landed for? Even curious about if your debuffs seem to affect the mob at all in ways other than a simple DPS number.

For those who care about the efficiency of the group/raid, you can see general trends in DPS over time... Easily see if a mob all of a sudden increased its DPS trend to kill off a tank, or just a lack of healing. But it also can be used conversely by healers to prove that the mob just was too much at that point. DPS trends are also useful to see if group members try to apply damage steadily, or in spikes. Useful if they situationally get aggro, or a group member seems to purposely slack off. As much as its only a reference tool, a group or raid is still only as good as the effort that people put into it.

The design of the program is primarily for those who either run in windowed mode, or have two networked computers; however overview tables and graphs can be viewed within EQ2 fullscreen, along with standard clipboard exporting.

What makes "ACT" different than the other parsers out there? I'm not completely sure. Except for seeing some basic screenshots, I've no experience in using any other EQ2 parser. I do however know what the goals of my own were. They can almost be summed up in one word: detail. Simple DPS calculations you can get from any parser, but to find out why the numbers exist as they do is another thing.

Why did I make this program? At the time, I didn't know of any parsers available that were ready for general use. Was I to wait for them to be completed? For some reason, I had the crazy thought that I could make my own! So I did. I started this project a long time ago, partly for my own purposes and partly for something to share with everyone. The very first time I considered releasing the project to the public, I learned that there is a big difference between a program fit for a programmer, and a program fit for everyone. I had to meet many additional objectives to get it to that point, including a webpage and help files and such. So pushed back months and months at a time, it almost seemed like it was ready for that more general audiance. Though who knows! So if you have questions, comments or even suggestions, I'd love to hear from you. =)

aditu@maine.rr.com

Download
*Sword*

The main requirement of the program is to have the Microsoft .NET Framework installed. You can always obtain the latest version from Windows Update or you can download v2.0 from here.

Program Downloads: (Choose one)

The program may be run from any local location on your computer. After its first execution, it will create a .XML file of the same name to save general settings to. It will not specifically save any data to the Windows Registry, so uninstallation is simply deleting the program and program folder. If you use the EXE Installation, you may wish to use the uninstaller to remove everything.


Sample PHP files for use with ODBC/SQL exporting: (Optional)

Screenshots
Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot
Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot
Screenshot Holder
FAQ
[+] Question: How do I paste combat data into group chat?
[+] Answer:   By default, ACT will put encounter statistics into the clipboard after each battle. This is accompanied by a beeping, notifying you that there is new data. Once you wish to paste this new data, start a chat command, such as "/g " for group chat, and press Ctrl and V. This is the windows shortcut for pasting from the clipboard.

Its important to wait for the notification beep before attempting to paste however, and options on how to change how ACT sees combat ended can be found at the top of the General Options tab.
[+] Question: What should I do first after installing?
[+] Answer:   The first thing to do is to make sure that EQ2 is currently using a log file. While playing, type: "/log" to determine the logging state.

Checking the 'Auto Version Check' is a good idea to keep with the most current version. An internet connection is required for version checking.
[+] Question: How do I get ACT to read my logs?
[+] Answer:   Running the program for the first should bring you to the About tab with the Log file section highlighted. Click on the 'Open Log' button and you should see a File Dialog Box showing your EverQuest®2 Logs folder. If you did not install EQ2 on that computer, you must browse to the appropriate folder. Select your commonly used log file (this may be in a folder named after your server) and click 'Open'.
[+] Question: Which log file should I pick?
[+] Answer:   When you toggle logging, it will tell you which file it will be logging to. For example, "logs/Nektulos/eq2log_Aditu.txt". When restarting EQ2, the default log file name may be "logs/eq2log_Aditu.txt". For ease, just pick a log file that looks right and make sure that 'Auto-load recently changed log files' is checked. This will make the program check periodically for changed log files and switch to them.
[+] Question: When trying to import encounter data from the clipboard it tells me, "The clipboard does not
                   contain text data.", even though I just copied text out of my log file.
[+] Answer:    What the message means is that the program is not able to directly convert whatever is in the clipboard to plain text. Without that direct conversion, it cannot proceed. There are rare cases where text copied from the EQ2 log file may not seem like plain-text. I've not been able to pin-point the reason behind this, but I am guessing somewhere in the text block there are some extended ASCII characters(garbled text) causing the conversion to fail. Its probably caused by an NPC speaking some faulty text somewhere in the middle. Attempt to import smaller text blocks to find where the garbled text is and work around it.
[+] Question: How do I know that ACT is reading my logs?
[+] Answer:    At the top of the window, it will either say 'Log Active' or 'Log Idle'. When you first start, it will be marked as active, and if there is no log activity for 10+ seconds, it will be marked idle. Any future activity will mark it active and repeat the process. You may also look in the 'About' tab and see if the file position changes when things happen in EQ2. Log file errors will also appear here, if they occur.
[+] Question: What is the difference between 'DPS' and 'ExtDPS'?
[+] Answer:    DPS or Damage Per Second, is simply Damage divided by the combatant's duration. ExtDPS or Extended Damage Per Second is calculated as Damage divided by the encounter's duration. If someone's begining and ending actions are just as long as any other in the encounter, then the numbers will be the same. If a combatant starts late, or ends early in terms of the entire encounter, their DPS will be higher than their ExtDPS because their personal duration is shorter.
[+] Question: My pet doesn't seem to appear in the combatant list. (OUTDATED)
[+] Answer:    By default all pets are listed under their master as the pet's class name (ie aery hunter, nightshade, protoflame. To disable this, uncheck: General Options -> Miscellaneous -> Count a pet's damage as part of the owner's total.
[+] Question: Are there any hidden options/features?
[+] Answer:    What many users may overlook is that several things on the Main tab have right-click context menus. Some of the things on these menus cannot be accessed anywhere else, and may also change depending on what is being shown.
[+] Question: EQ2 sometimes becomes choppy when running ACT... what can I do to reduce the CPU time used?
[+] Answer:    ACT comes with a Perfomance Wizard at the top of the General Options tab. You can use that to enable/disable options to your needs which will affect memory and CPU usage.

If you use EQ2 in full screen mode, make sure to minimize ACT instead of covering it with other windows. When minimized, ACT will stop updating the user interface which will consume CPU time.

As ACT runs, it stores more and more information... the more data that is gathered, more CPU usage may be required to manage it. Periodically clearing the encounter list may help with some CPU usage. (From the Main tab, or using '/act clear'). You can also enable automatic encounter culling in the first options drawer unger General Options. You can cause culling to automatically remove all previous encounters from memory as new encounters are created. If you only care about clipboard/macro exports, this functionality may be for you.
[+] Question: How does the in-game display work?
[+] Answer:    ACT relies on EQ2's built in web browser to show data in game. To show the browser window, type "/browser". If you have allowed ACT to set its homepage within the options, you should see the encounter index page. As encounters end new entries should appear, however like any web browser, the page must be refreshed to see the changes. You can do so by clicking the link to the Index within the index. If you are using the Current Encounter feature, ACT will update that page every few seconds while in combat, and the page itself will auto-refresh.

Here is a set of tutoritals on how to use this feature.
[+] Question: How are spell timers used?
[+] Answer:    Here is a quick tutorital on how to create automatic spell timers.
Version
[+] Version 2.7.0.184 - 2008-03-23
[+] Special Attacks
Introduced in GU44, a new logging format will include special attacks when used. These log lines cannot be parsed by outdated parsing, so this is an important update. The new special attack data is stored in a "Special" column in the Attack Type items table view. Aside from the new logging format attacks, riposte generated attacks will also have a "Special" column marking instead of showing up as a separate attack type. Note for ODBC exporting: you must make sure that your SQL tables are validated before trying to export to the swings_table with the new column data. ACT will automatically add the new column during validation.

Special Attacks Report
Related to the new special attacks that can be logged after GU44, there is a new combatant level report view. This report will show the number of special attacks attached to specific types of attack, group them by the type of attack and group them by specialty type. The report will also show the amount of ExtDPS that was added by the special attacks in question.

Mini-Parse & Spell Timers window
The Spell Timers window now has window opacity and click-through options like the Mini-Parse window has. The Mini-Window will now remember if it was in text or graph mode upon restarting. The "Show Timers" and "Show Mini" buttons remember their state upon restarting and right-clicking them will toggle click-through for their associated window. You may disable column alignment for the Mini-Parse text mode in options instead of using a shorter formatting variable.

EQ2 Macro Files
You may toggle off column alignment for the macro export in the EQ2 Integration export options instead of using a truncating formatter in Text Only Formatting. You may also specify a maximum number of lines to export into the macro. This will not bypass SoE's spam filter of 16 lines for public channels.

Miscellaneous
The mouse cursor will now change to reflect a busy state when it is doing a process in the background. The "Unknown" combatant will never be counted as an ally in automatic ally detection. Saved window placement settings are now compatible with DualView monitor setups instead of only single and spanned desktop modes.
[+] Version 2.6.4.183 - 2008-01-20
[+] Text Only Formatting
A formatting preset creator window has been added to assist in the creation of formatting strings for Clipboard exports and Mini-Window displays. This window can be completely mouse driven except for custom text the user wishes to use. Each formatting element is listed and described and as usual there is a formatting preview panel.

EQ2 Macro Files
Previously only available in a plugin, ACT now has basic functionality for exporting EQ2 macro files for use with the command, /do_file_commands. This feature can be used in ACT in the same ways as clipboard exporting, and will in fact share clipboard export's text formatting. Once an export is made by ACT, you can make a hotkey with(or type) the following: "/do_file_commands act-export.txt". That will execute the commands in ACT's exported macro file. The advantage of EQ2 macro files over clipboard exporting is that while it can only export 16 lines, it can export far more than 256 characters which is the approximate chat bar maximum. For the most part, no matter how complicated the text export is, it will always export 16 lines. A disadvantage is ACT must specify what chat channel the text is exported to beforehand. This is defined in ACT's settings but can be changed with the following command to be used in-game: "/act macro: channelCommand". The channel command can be things like /g, /1, /tellchannel parses, etc... but it must not be blank without precautions.

Tabulation
The Mini-Parse window and EQ2 macro file exports will automatically attempt to tabulate the data into columns. In the case of the Mini window, this tabulation will be dynamic depending on the font used. In the case of EQ2 macro files, the tabulation will use a specific variable-width font as a model. The model used works best with the EQ2 options UI->Game Windows: Smooth Fonts & Use small sans serif font enabled, though it will work fairly with any variable-width font. Due to some extremely long dumbfire pet names in-use, it may be a good idea to use text formatters such as {NAME10} or {NAME15} instead of {name}. If not, some names may cause tabulation to make the name column extremely large and mostly blank in order to align with the dumbfire pets' names. Alternately you can use the Filter out combatants with spaces in their name checkbox option at the bottom of Text Only Formatting.

Riposte/reflect
ACT will now separate attacks caused by ripostes into its own attack type prefixed with "riposte/" instead of showing up as normal auto-attacks. When an outgoing attack is riposted or reflected, it will now say how much damage was returned to the attacker.
[+] Version 2.6.3.181 - 2007-12-16
[+] Data Correction
A new tab, Data Correction has been added. Currently in two sections, Combatant Renaming and Miscellaneous. With renaming you can rename combatants by giving a before and after name, thus redirecting all data to and from that combatant into another. Secondly the ability to fix combatants with apostrophes in their name, such as Tactician's Armor or Imzok's Revenge. Skills used by those combatants will be renamed as well to fix the corruption that the apostrophe caused. With miscellaneous, you can reassign the healing done by Inquistion to a single combatant instead of allowing the hostile mob healing credit. Secondly ACT will calculate the amount of damage interceded by Ancestral Sentries and apply that calculation as healing. The healing of both of these spells will be directed to default combatants named after the spell, however the default combatant can be changed to an actual combatant if you know only one Inquisitor or Mystic will be present. Neither spell gives any messages in the log file to allow automatic redirection of this data.

Reports
The Avoidance Report now has a context menu option to send the data to the clipboard in a format suitable for pasting into EQ2(low character count). The Death Report has been slightly redone to add tool tips to the per-second graph to show what happened in each second instead of only an overview of damage/healing. The text display has also been reformatted to show more specific data.

Miscellaneous
The table in the main tab can now have its font and colors changed. You will find these options in the Table Setup tab. Spell Timers now use a slightly more accurate method of timing based more directly on the log file, not the local computer's time.
[+] Version 2.6.2.180 - 2007-10-15
[+] Encounter Culling
Automatic encounter culling is back. You can find the options in the first drawer of the General Options tab. You can cull encounters by number, zone number or by time. The purpose of such is to automatically free old encounter memory for those who do not need to keep historical data at hand. IE, those who run ACT minimized most of the time.

Selective Parsing
Fixed a bug with the new Ally Detection that caused errors with full selective parsing enabled.
[+] Version 2.6.1.179 - 2007-10-05
[+] Ally Detection
Ally detection has been completely redone and should be much more accurate involving encounters where mobs charm players temporarily. Generally the new method should be faster as well. Ally lists automatically generated or set by the Set Allies function will persist in exported .act files.

Spell Timers
Due to a large number of DoTs that seem to be accumulating in the game that have durations longer than their recasts, a whitelist has been added to the Spell Timers options window. This list will include additional players for timers that are restricted to only activate when landing on you. This removes the need for Custom Triggers to add extra player notifications for these restricted timers.

Copy as – context menus
Added to the context menu of most tables is the option to copy the table as a formatted plain text table. This table is formatted with spaces to align correctly into rows and columns if displayed in a fixed-width font such as Courier New. In addition, the tables generated in the Lookup By Combatant report view (accessible from the TreeView context menu) now have copy as context menus.

Miscellaneous
The Average Delay column now takes into account double-attacks or AE-attacks when calculating the average. There is a new text export formatter {title} which will export the current label of the encounter. For clipboard exports, that will commonly be the strongest mob of the encounter.
[+] Version 2.6.0.178 - 2007-08-27
[+] ACT Web Interface
This version of ACT introduces a web server interface where people with a normal web browser, or someone using EQ2's /browser command, can view spell timers, current encounter tables, mini parse views or browse through all of the tables ACT currently has in memory. As ACT is acting as the web host, all of this is done in real time, without intermediary files or uploading data to other hosts.

Parsing Speed
ACT should take less CPU time for users with a lot of Custom Triggers and to a lesser degree, a lot of Spell Timers. This decrease will only show up during real time parsing unless Custom Triggers are enabled during imports.

Avoidance Report
There is now a right-click context menu to copy table data out of the avoidance report. A small bug in the German parsing engine has been fixed to allow the Avoidance Report to work better for this localization.

Spell Timers
The Timers Window has been split into two windows, separating the options panel from the rest. A change has been made to buffer new timers for a short amount of time in order to properly remove skill recast mods before applying them to an AE that kills a skill mod debuffer. In other words, an AE that kills a rogue will not have its timer affected by that rogue's Traumatic Swipe. This is how it works in EQ2, and ACT has been changed to reflect that. -- In addition, a plugin has been added to the forums in order to correct debuff durations using Tenure.

Miscellaneous
The Mini Window now has an option to enable click-through -- where mouse clicks will pass through the window. When added to window transparency, it will work similarly to Chat Window click-through in EQ2, except you will need to disable click-through on the Mini Window in order to move it again. The Death Report should again calculate heals into the report.

Plugin API
Two major API additions include the ability to create plugins for ACT's Logitech G15 Keyboard LCD implementation -- along with URL event handlers for the new web interface.
[+] Version 2.5.6.177 - 2007-07-19
[+] Parsing Speed
When importing large log files(~100MB), ACT should take up to 60% less time. Importing medium sized files(~33MB), ACT should take up to 50% less time. These numbers are based off of complex raid logs; strictly solo or group play may provide less reduction. These changes should also affect real-time parsing in a similar way. The Performance Wizard has been updated to reflect the changes to each option.

Avoidance Report
New to this version is an avoidance calculator found on the context menu for a combatant. For every type of avoidance(stoneskin included), this report provides statistics for how much of your total avoidance it accounted for, how much it accounted for in relation to number of attacks and a theoretical calculation on how much damage was avoided by the action. This calculation is based on the average damage the attacker inflicted on that specific person with that specific attack type. If no average can be found between those two people, the average from the attacker verses any may be used, but only for that attack type. Each avoidance type can be clicked to view the details of the calculation totals.
[+] Version 2.5.5.176 - 2007-07-05
[+] History Database
ACT now keeps a local database of zones and encounters you have seen. Viewable in the History Database tab, you can search for zones/encounters by label or date. The history database only holds the label of the event and the beginning/end times. Using the results, you can batch import encounters that ACT finds within the time periods. Such as, if you were to type "mayong", every encounter with that string in the title would be listed... you would then be able to check each result and batch import only those encounters with one button across multiple raids/log files. Or you could check off each of the parent zones instead and batch import every raid where you fought Mayong. This works best with log files archived by, or in a similar manner to how ACT "splits" them.

ODBC Exporting
ACT will now by default attempt 100 row batches when sending data to a single table. This should greatly increase the speed in which exports are completed for non-local datasources. You can disable this functionality by checking the Safemode checkbox in General Options -> EQ2 Integration... -> ODBC Database.

Infective Bites
With GU36, this skill is no more. ACT will no longer look for this skill emote in any localization and the Timer Window options have been removed. This may provide a small speed increase for the parsing engine.
[+] Version 2.5.4.175 - 2007-06-07
[+] Spell Timers
The Spell Timers window now uses a more accurate timing mechanism. Each timer frame will now be specific to a single mob type. If two mobs of differing names use the same skill, there will be two timer frames with different labels. The AA% mod display should now display the correct value instead of the value of any mod it finds. DoT ticks occurring after a recast mod is applied will not falsely restart the timer. Users of Traumatic Swipe dying will remove their recast mods from affecting new timers.

German Localization
1st person warding messages should now be detected.

Miscellaneous
/con messages should now affect the Selective Parsing List correctly. ACT should now create ODBC tables compatible with PostgreSQL, if that label is found in the connection string.
[+] Version 2.5.3.174 - 2007-05-13
[+] Ally Detection
Since automatic ally detection is not perfect, you may now edit the allies of an encounter once it is complete. Simply right-click an encounter, select Set Encounter Allies and check off the allied combatants. If you edit the allies of the 'All' merged encounter for that zone while still adding data to it, your ally selections will be overridden during combat. Only use on complete encounters that will have no further changes.

Russian Localization
The Traumatic Swipe skill name has been updated and should now work correctly.
[+] Version 2.5.2.171 - 2007-04-21
[+] Memory Restructuring
During normal parsing, ACT should take 40% less memory in storing combat data. Consequently the bottom level table of individual attacks no longer has a "Combatant" column, but "Attacker" and "Victim" columns. This will not affect ODBC exporting as they always included those columns, but normal ACT usage will be slightly different. You may have to enable these new table columns in the Table Setup tab.

Localization
German and Russian parsing engines have been slightly updated.

Selective Parsing
ACT will parse the results of /whogroup and /whoraid commands to add combatants to the Selective Parsing inclusion list.
[+] Version 2.5.1.170 - 2007-04-13
[+] Spell Timers
A capitalization mistake has been fixed to enable Traumatic Swipe for French->English clients. A logic error has been fixed in the German parsing engine to allow Traumatic Swipe to properly affect the Timers Window.

Data Summary
An error in "misses" counting has been fixed. Previously the misses column was counting simple non-damage values as well.

Program Folders
ACT now maintains a "Config" folder where it stores its own .config.xml file. Other plugins can as well. ACT also maintains a "Temp" folder which it clears on startup. This may contain TTS intermediary files or temporary plugin files.

Plugins
Plugins with the .exe extension will now automatically appear in the open file dialog instead of ACT just internally supporting them. Plugins with the .vb extension will now properly compile. Source based plugins will no longer have their assemblies generated in memory, but in the Temp folder. This allows the creation of symbols files(.pdb) to aid in debugging. (Exceptions will list line numbers, etc)
[+] Version 2.5.0.168 - 2007-04-02
[+] Plugins
This version of ACT supports plugin extensions. A new Plugins tab on the main window will allow you to add them, where they will also have their own tab space, if used. API documentation is mostly written and will soon be available on the forums(http://actparse.freeforums.org/). Code and plugin examples will also soon be available there. Hopefully soon there will be a number of plugins available for use.

German Localization
ACT should now parse damage and healing log lines from GU33. In addition, ACT will optionally merge dumbfire/swarm pet attacks into their master's data. This setting can be found in Miscellaneous.

Miscellaneous
Due to restructuring, all windows will lose their saved positions/sizes with this version one time. ACT's configuration file will now have the extension of ".config.xml" instead of ".xml"... ACT will still attempt to load the old file once if the new type is missing.
Version History Archive (2.4.0.151 to 2.4.12.167)
Version History Archive (2.0.0.139 to 2.3.2.150)
Version History Archive (1.6.1.130 to 1.8.1.138)
Version History Archive (1.0.0.112 to 1.6.0.129)
Valid HTML 4.01! Valid CSS! eXTReMe Tracker Get Firefox!
EverQuest is a registered trademark of Sony Computer Entertainment America Inc. in the United States and/or other countries.