Your e-mail only shows up when you view your own profile, I sent you a PM but the log is too big. Shoot me a PM with your e-mail and I'll get it to you.
downloaded the parser today so I could see what my dps is, i can't find an autolog in the EQ2 folder. What is the command to start/stop a log manually ingame? and if you stop it while questing and restart it, that a new log or same log appended?
To record a log, the command is /log, and you can find in the logs folder of EQ2 directory. I made a quick udpate, thanks to Zzik and Agathorn for their logs. I fixed a bug where if you start logging in the middle of a fight it screws up the stats which was what was happeneing to Zzik. Also, if you start fighting within 5secs of a previous fight, it is now added to the same fight which should help solo Scout stats. Idealy there should be a setting where you can adjust this...maybe next update
Bug: Crashes if you click cancel on File Open dialog. Fix: Old Code Snippet LoadFile.Filter = "Text Files (*.txt)|*.txt" LoadFile.ShowDialog() LogFile = LoadFile.FileName LogStream = File.OpenText(LogFile) Me.Log.Text = LogStream.ReadToEnd() Me.LoadProgress.Maximum = 0 LogStream.Close() If LogFile <> "" Then New Code Snippet LoadFile.Filter = "Text Files (*.txt)|*.txt" LoadFile.ShowDialog() LogFile = LoadFile.FileName + If (LogFile == "") Then Exit Sub LogStream = File.OpenText(LogFile) Me.Log.Text = LogStream.ReadToEnd() Me.LoadProgress.Maximum = 0 LogStream.Close() - If LogFile <> "" Then Don't have VB.net or I'd correct it in the project
Also, you said fights within 5 seconds would be counted, but the line contains: If CurrentLogTime(LogLine) - Fight.EndofFight >= 5 Then To actually count within 5 seconds, it needs to be If CurrentLogTime(LogLine) - Fight.EndofFight > 5 Then
I just wrote a small parser in Perl and from your log I got this: You damaged an Oakmyst royal defender 26 times; total: 519, avg: 19. Your poison hit 16 times; total: 220, avg: 13. Your Quick Flurry hit 2 times; total: 39, avg: 19. Your Ambush hit 1 times; total: 28, avg: 28. Your Ringing Blow hit 3 times; total: 180, avg: 60. Your Quick Strike hit 4 times; total: 52, avg: 13. You used poison damage 16 times; total: 220, avg: 13. You used piercing damage 10 times; total: 299, avg: 29. I spent about 15 minutes writing this, and it parsed through my 21k line log in less than a second. it only looks for damage that you deal out. This includes damage over time. I have not yet done a damage per second calculation, but this would not be hard at all. I'll edit this post with the updated code after I get that working if anyone is interested. here is the source, in Perl, if anyone is curious: #!/usr/local/bin/perl use warnings; use strict; my %damagetype; my %damagetype_damage; my %mobs; my %mobs_damage; my %attacks; my %attacks_damage; if (!($ARGV[0])) { print "usage: perl parser.pl logfile.txt\n"; exit; } my $logfile = $ARGV[0]; open(LOGFILE, " while ( <LOGFILE> ) { if (m/YOUR (.*?) hits (.*?) for (\d*) points of (.*?) damage./) { $attacks{$1}++; $attacks_damage{$1} += $3; $mobs{$2}++; $mobs_damage{$2} += $3; $damagetype{$4}++; $damagetype_damage{$4} += $3; } } close LOGFILE; while ( my ($targets, $hits) = each(%mobs) ) { print "You damaged $targets $hits times; total: $mobs_damage{$targets}, avg: ". int($mobs_damage{$targets}/$hits) .".\n"; } print "\n"; while ( my ($attack, $uses) = each(%attacks) ) { print "Your $attack hit $uses times; total: $attacks_damage{$attack}, avg: ".int($attacks_damage{$attack}/$uses).".\n"; } print "\n"; while ( my ($type, $blasts) = each(%damagetype) ) { print "You used $type damage $blasts times; total: $damagetype_damage{$type}, avg: ".int($damagetype_damage{$type}/$blasts).".\n"; }
Actually, my log doesn't show "you start fighting" or "you stop fighting" anywhere.... Perhaps because I'm a sorcerer? I don't ever push the '2' key to initiate melee combat when i fight, and i think that is what adds those messages. i can make it work, but only for battles that give experience.
First of all, great work. Thanks for sharing. I have one suggestion though, would it be fairly easy to differentiate between different types of melee damage like slashing, crushing, piercing? It would make it easier to compare duel wielding weps of different dmg. type. If you ever update to include this, Thank you so much in advance.
it should do this now - it just parses each line and looks for each damage type, I don't have to code them in. send me a log with that kind of damage and I'll see what it looks like.
I think he meant the original poster If your PERL parser had DPS, I'd think it would be pretty complete.
send me a good melee combat log and i'll put DPS in. also coming soon are % of attacks blocked, listed per attack, and per enemy, so you can spot trends in which mobs block certain attacks more than others, if such a trend exists. the same for you too, you'll see which mob hits you hardest, and which you resist most. If anyone has a good combat log from a fighter or scout (or subclasses) please send it to me: naikrovek@yahoo.com. I'll have a DPS parser out soon after.
Hey guys, this is a great parser. I have a question though, is there any way you can get it to accept your group member's damage as well? I am trying to figure out which classes to highest dps, and this is the only parser I have seen that works. Everyone thinks the assasin or ranger does the highest dps, but I think swashbucklers/bandits do more dps. I would also like to see how I rate compared to a wizard, or conjurer, or such. BTW, at level 23, and attacking a giant from behind, I do around 42 damage per second.
Why stop with just group members? I can make mine fairly easily parse everyone's damage... but probably not DPS unless they stay close through an entire battle. as I've said before, my parser needs the "you start/stop fighting" messages to accurately count DPS. Here's what I get for the small Oakmyst Defender log, above: D:\>parser.pl log.txt You damaged an Oakmyst royal defender 65 times; total: 665, avg: 10. Your Quick Strike hit 4 times; total: 52, avg: 13. Your poison hit 16 times; total: 220, avg: 13. Your hit hit 39 times; total: 146, avg: 3. Your Quick Flurry hit 2 times; total: 39, avg: 19. Your Ringing Blow hit 3 times; total: 180, avg: 60. Your Ambush hit 1 times; total: 28, avg: 28. You used poison damage 16 times; total: 220, avg: 13. You used piercing damage 49 times; total: 445, avg: 9. You dealt the deathblow 1 times on an Oakmyst royal defender. 1 deathblows total. you fought in 2 battles for a total of 38 seconds, dealing 652 damage in that time. your average DPS is: 17.1578947368421. As I said before, there needs to be the start/stop fighting messages, so if they're not present, damage is not counted towards your DPS. meaning that if you're a sorcerer, this DPS calculation won't do much for you, unless you are sure to toggle the melee attack button at the appropriate times. It will work great for berserkers though. Since this is the Berserker forum, that seems appropriate. The current Perl source code for this parser is right here. EDIT: there was a bug in my DPS calculations. Fixed it. I updated the output of the log above. Message Edited by Sandheaver on 12-16-2004 11:46 AM
Well, if need be, I can manually figure out dps easily. All I have to do is look to see when the battle started, an when it ended, and i know the persons dps. I maonly want this to see which classes do more dps.
hello there. Rigz could you please give me a little install help? i see no instructions included. when i run the exe inside your zip i get an application error. in your folder structure you have this exe in about 3 other places. when i try to run them all i get the same error. can ya help me out? would like to get your app working if i can
It might be because you don't have the microsoft .NET framework installed. You can get it from here: http://www.microsoft.com/downloads/...e3-f589-4842-8157-034d1e7cf3a3&displaylang=en Also, did you unpack it first? There might be issues running the exe straight from the zip.