MQ2DPSAdv

Warnen

Lifetime Member
Joined
Feb 27, 2007
Messages
24
Reaction score
0
Points
1
MQ2DPSAdv 1.2
3532d1233717811-beta-mq2dpsadv-dpsadv.png
3568d1235113967-beta-mq2dpsadv-v1-2-00-2-19-09-dpswnd2.png

This plugin is designed to be the step up from MQ2DPS. It comes with a UI Window and is much more specific about the information it parses. The window displays information about live or past fights, depending on your selection.

For best results, I recomend placing the UI File in EQDir/uifiles/default. After loading the plugin you will need to reload your UI for the window to show up.

My main concern while creating this plugin was performance, as simply having other hits turned on caused enough lag as it is, I wanted this to be as efficient as possible. Please let me know if you notice any performance hits or not while running this.

If you discover a bug and are able to reproduce it please check the known bugs list below, and then PM or Reply with details. If it is a crash bug, please include your character's INI Block and any useful information (Environment Group/Raid, Location or Mobs you were fighting, etc).

Comments / Suggestions / Feature Requests are welcome.

Automatic Fight Display
The two current choices for automatic updating are <Target> and <MaxDmg>.

Using the <Target> Setting, the List will show the active fight of your target. It will only update to your target if your current target is an active fight, otherwise it will stay on the last active targetted fight until a new active target is found.

Using the <MaxDmg> Setting, the List will show the active fight with the most total damage. If the current Max Dmg mob dies, the plugin will update to show the dmg of the new max damage fight as as soon as it registers atleast one hit since the death of the last max dmg mob (It will still include all damage done to that mob since the start though).

All fights are saved in the dropdown and can be viewed individually.

HitModes
MQ2DPSAdv currently works with:
For You Hit Other: Normal, Abbreviated, Numbers Only (Numbers Only can be inaccurate due to all damage being applied to your current target only, including ae attacks and ripostes.)
For Other Hit Other: Normal, Abbreviated. (Does NOT work with Numbers Only).

Commands
* /dpsadv show - Show the DPSAdv Window. The plugin does not parse while the window is hidden.
* /dpsadv colors - Show the Raid Class Colors Window.
* /dpsadv reload - Reload the INI File.
* /dpsadv save - Manual Save to INI File.

Settings
* ShowMeTop: This will put an entry at the top of the list for your character.
-> Only < #: Causes you to show up at the top of the list only if you are below this rank.
* UseRaidColors: Activates Raid Coloring. Non-Class Colors changable in INI (Read Below).
* LiveUpdate: Will cause the DPS Listing to update as soon as damage comes in. This may be CPU Intensive.
* Show Total: Options to show Total Fight Damage at Top (Above or Below ShowMeTop) or at Bottom.
* Fight I/A: Amount of time before a fight will be marked In-Active, and not used for MaxDmg. Default 8.
* Fight T/O: Amount of time before a fight Time's Out and is marked Dead. Default 30.
* Entry T/O: Amount of time inbetween attacks that must pass to not be counted towards Time DPS Calculation.
-> Recomended atleast 7 due to DoT-Only Damage being every Tic (6 Seconds). Default 8.

Coloring and INI
UseRaidColors will pull Class Colors directly from the Raid Window Coloring. To bring this up while not in a raid, use /dpsadv colors.
Colors that are not part of Class Coloring can be set in the INI File. INI File Colors must be in the format of Hex Coloring. For example, the color Black would be SomeColor=0xFF000000. List of INI Colors:
MeColor
MeTopColor
NormalColor
NPCColor
TotalColor
EntHover
EntHighlight

Ini Settings
Most stuff is on Settings page now, other than Colors Above. Others:
WarnedYHO=1
WarnedOHO=1 These will stop the plugin from putting out warnings for hitmodes.

Planned Features
Fight Drop Down List converted to a seperate tab ListBox. This will include more options and details for displaying fights.
Fight Combining, Auto Combination.
Clipboard Output
Heal Parsing
Fight Length

Known Bugs
Fight List combo box will jump to top of scroll if it gets updated while its open.

Code:
Changelog:

== 5/21/09 == 1.2.02d
* Updated for latest zip

== 5/18/09 == 1.2.02c
* Updated for latest zip

== 3/20/09 == 1.2.02b
* Updated for Patch (MQ2-MMOBugs-2009-03-19.zip)

== 3/13/09 == 1.2.02
* Compiled for Patch (MQ2-MMOBugs-2009-03-13.zip)
* Fixed a bug that caused the plugin to keep parsing after closing the window and before zoning.
* Fixed a crash related to charmed mobs.
* New Colors: EntHover, EntHighlight.
* /dpsadv copy - [i][b]Untested[/b][/i] - Will copy ini settings from a different char name.

== 2/27/09 == 1.2.01
* Fixed a bug with settings not loading/assigning properly for first time.
* Fixed/Improved code for zoning and removing pointers that may have caused decreased performance or crash.
* Fixed a bug causing MaxDmg to include InActive if there were Active mobs.

== 2/19/09 == 1.2.00
* SpawnStruct Implimentation; A Spawn is assigned to each Fight and Entity/Entry to pull information if found.
* Settings Page: Various settings available.
* Pet Support: First checks name for `s pet, then checks Master ID in Spawn. Entrys with pets are marked with a *.
* Pets no longer show as Fights.
* Coloring Support: Option to use Raid Coloring for PC Classes. Other colors setable in INI. See Main Post.
* Mercenary Support: Mercenary's will not show up as a Fight. When displayed as Entry, they are indicated by [M] and Utilize Coloring.
* Option to Show yourself at the Top of the list.
* Option to show Total Damage at Top (Above/Below ShowMeTop), or Bottom of list.
* Several Code Changes / Improvements.
[COLOR="Red"]This update includes UI XML Changes. Make sure you replace the old UI File.[/COLOR]

== 2/13/09 == 1.1.04b
* Updated for new zip.

== 2/12/09 == 1.1.04
* Updated for patch.

== 2/04/09 == 1.1.03
* Fixed some Performance Code being skipped.
* Added /dpsadv show command to re-show the window.
* The window will save its open/closed status in INI File now.
* Version now showed in the Window Title.

== 2/03/09 == 1.1.02
* Crash bug fix.

== 2/03/09 == 1.1.01
* Fixed fight list combo box updating in a loop.

== 2/03/09 == 1.1
* Release
 

Attachments

  • dpsadv.png
    dpsadv.png
    31.3 KB · Views: 1,190
  • dpswnd2.png
    dpswnd2.png
    35.3 KB · Views: 865
  • MQ2DPSAdv.dll
    179.5 KB · Views: 18
I personally vouch for this plugin and its author. He does some good stuff.
 
Last edited:
Fixed a crash bug, make sure you have new version if you were one of the few that downloaded it before the update.
 
Question - Is it possible to parse one toon and have the report sent to another toon's UI?

Example - I want to parse from my warrior and have the actual UI window on my monk.

I multi box from the same PC and rarely look anything other than my monk's window. I currently use gamparse but would be interested in your plugin if it met my needs.
 
Question - Is it possible to parse one toon and have the report sent to another toon's UI?

Example - I want to parse from my warrior and have the actual UI window on my monk.

I multi box from the same PC and rarely look anything other than my monk's window. I currently use gamparse but would be interested in your plugin if it met my needs.

Hmm.. not to difficult to code a slave mode for the display, the problem would be getting the information to that client. I'v only used EQBC before and sending that much data over BC would get spammy. An alternative could be to send it over, for example, a private chat channel, and have the plugin prevent the messages from being displayed, but preferably I'd want to avoid using channels for something like that.

I'll keep it in mind and try to figure out the best way to accomplish this. It's a good suggestion, I'm sure there are others that are in similar positions. If anyone has a good idea for a way to get the info across clients please let me know ;)
 
Pretty good tool, I am using it now and I like it.

Btw, where should I place the XML file? I copied to UI folder and my MQ2 folder, not sure which one is correct.
 
Just to be a needy little bitch, any chance of something similar for parsing healing (Either the healing that I do, or the healing that is done to me).

BC
 
That's a good looking plugin going to give it a whirl.

As a long term feature upgrade idea, maybe a way to send the info to clipboard like gamparse or tango so you can share it without having to load those programs.
 
Pretty good tool, I am using it now and I like it.

Btw, where should I place the XML file? I copied to UI folder and my MQ2 folder, not sure which one is correct.

I think with the recent MQ Changes, it can either go in your MQ Folder or your UI folder(s), both will work. Just make sure that if theres an update to the XML (Which there will be in the future), that each one gets replaced, or the others get deleted so only one is being used, or you will crash.

Just to be a needy little bitch, any chance of something similar for parsing healing (Either the healing that I do, or the healing that is done to me).

BC

This is possible. I will toss it up on the planned features list.



That's a good looking plugin going to give it a whirl.

As a long term feature upgrade idea, maybe a way to send the info to clipboard like gamparse or tango so you can share it without having to load those programs.

I have considered this many times, and I came to the conclusion that the output on the clipboard will have to look exactly like gamparse, otherwise if people know that the output from this comes from an MQ2 Plugin it may lead to problems that some people would rather avoid.

The other problem is that this plugin parses information that not even gamparse knows about, such as the upcoming update automatically checks for a Master ID in the spawn struct of an attacking entity, and applies that damage to it's owner (Enchanters suddenly started parsing #1 on big raid fights that included charming). I suppose I could have an option to disable this functionality and just go off the "`s pet" in the names. Also, an upcoming patch to EQ (In March) will be making some changes to the pet system (namely, adding owners names under the pet's name), we'll have to see how this functionality works; if it adds it for example, to magician pets that don't have their owners name, and doesn't add it to charmed pets, than we can just use that instead.
 
Wow, this plugin is exactly what I have been wanting for a long while! Can't wait to try it out!

Thanks alot, Warnen!
 
to clarify what was previously stated:

with our MQ2 distribution you can put the UI files into MQ2DIR/uifiles/default. This way all your mq2 stuff is in one place.

I'm not sure if the core mq2 distribution has this same functionality (it wouldn't unless it was recently added).
 
Looks good, can't wait to try it out when the new DLL is released!
 
Updated for patch.

This was just a recompile of 1.0.03. I have a new version I'v been working on that introduces a bunch of new things, but it still needs some more testing and tweaking before its released.
 
loading plugin for 1 toon

I share one MQ2 folder for all 6 characters I run on one computer. When I have this pluggin loaded, it loads up for all 6 characters, as expected.

Is there anyway I could get this to only load for 1 character? I've tried playing around with autoexec.cfg and

/if (${Me.Name.NotEqual[Main_Toon]}) /plug mq2dpsadv unload noauto

but it unloads even on my Main_Toon.

Any other suggestions how to handle this gracefully?
 
I share one MQ2 folder for all 6 characters I run on one computer. When I have this pluggin loaded, it loads up for all 6 characters, as expected.

Is there anyway I could get this to only load for 1 character? I've tried playing around with autoexec.cfg and

/if (${Me.Name.NotEqual[Main_Toon]}) /plug mq2dpsadv unload noauto

but it unloads even on my Main_Toon.

Any other suggestions how to handle this gracefully?

Use char specific autoexec to load the plugin with noauto.

Example for bubba on saryrn: Saryrn_Bubba.cfg

In that, just: /plugin mq2dpsadv noauto

Do that for each char you want it loaded on.

If you would rather the default be loaded, but unload on bubba, then just have it in the INI as normal, and for your bubba do: /plugin mq2dpsadv unload noauto

The reason autoexec.cfg is not working in your example, is it is executed at first pulse, which is going to happen at char select. Therefore, character (Me) is just going to give you NULL.

Char specific cfg files are executed after you enter game (zone into world).

htw
 
Would it be possible for our .cfg wizards to put a post explaining the different CFGs, how they are used, etc, and sticky it somewhere? There's so much usefulness in cfg files but seldom are they easy to find. :p