Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Public Discussion » User Interface and AddOns

Reply
 
LinkBack Thread Tools
Old 02/14/08, 3:11 PM   #1
Kalman
Super Macho Man
 
Kalman's Avatar
 
<>
Orc Shaman
 
No WoW Account
MATLAB-based logfile parser for 2.4 combat logs

Well, I was bored, so I wrote a quick and dirty log parser to pull data into MATLAB and split it out appropriately. It doesn't "do" anything yet, because I haven't created any subsidiary functions (things like - show me person N's total damage dealt, for example), but it gets the data in in a raw format where you can manipulate the data to your hearts content.

For example, after running the importer on a 5 hour log of Kalecgos attempts I was provided with, I could filter out Spectral Blast debuffs, retrieve the times when a Blast event was received, calculate the delta between blasts, filter out very short (to remove splash blasts) and long (to remove 'inside' and wipe deltas), and get a very reliable value for time between portals (which is not fixed, for the record).

Or for amusement, maybe I want to check how many 'not enough rage' messages my tank Teepz generates, typically.

sum(find(strcmp(sourcename(find((strcmp(aura,'SPELL_CAST_FAILED')))),'Teepz')) ~= 0)

As it turns out, over ~5 hours, he generated 4537 of these. Or roughly 1 per 4 seconds. Of course, that includes wipe and recovery time. I don't have parsing functions created to generate values for those.

Or, after pulling it in, if I want the more traditional things like "How much damage did player N do with autoattack", I'd do the following.

teepz = find(strcmp(sourcename,'Teepz'));
swings = find(strcmp(aura,'SWING_DAMAGE'));
c = intersect(teepz,swings);
cellamt = amount(c)';
teepzdmg = 0;
for i = 1:size(cellamt,1)
     teepzdmg = teepzdmg + str2num(cellamt{i});
end
teepzdmg
It's by no means a WWS replacement as is, but it'd be easy enough to write one - however, for the MATLAB savvy, you may find it useful for looking for more abstract things, things that WWS doesn't track, and fight analysis on new content where you may be more interested in "When did event N occur?", etc.

Anyway. Play with it - if you get something useful, post it.

(Rename the attached file to .m in order to get MATLAB to recognize it as a script, of course.)
Attached Files
File Type: txt readlog.txt (8.4 KB, 419 views)

Melador> Incidentally, these last few pages are why people hate lawyers.
Viator> I really don't want to go all Kalman here.
Bury> Just imagine what the world would be like if you used your powers for good.

United States Offline
Reply With Quote
Old 02/24/08, 12:35 PM   #2
Cryect
Bald Bull
 
Night Elf Druid
 
Stormreaver
Interesting!

Now if only someone wrote a MATLAB style addon for WoW.

I need to do something useless.

Offline
Reply With Quote
Old 02/24/08, 6:45 PM   #3
funkydude
Piston Honda
 
funkydude's Avatar
 
none
Human Warrior
 
No WoW Account (EU)
Originally Posted by Cryect View Post
Interesting!

Now if only someone wrote a MATLAB style addon for WoW.
Would be a godsend for writing boss modules I tell you that!

Nice work Kalman.

Author of BadBoy, BigWigs, and more...

Offline
Reply With Quote
Old 02/24/08, 7:35 PM   #4
Antiarc
Still alive
 
Antiarc's Avatar
 
Human Rogue
 
Cenarion Circle
You are a crazy, wonderful man.

Offline
Reply With Quote
Reply

Go Back   Elitist Jerks » Public Discussion » User Interface and AddOns

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Data Parsing, Combat Logs and What to do? Zesmar Class Mechanics 4 05/12/07 11:16 AM
Combat logs and information analysis MIzpah Public Discussion 25 10/02/06 4:15 AM
Huhuran Combat Logs Neige Public Discussion 17 09/07/06 8:35 PM
Combat Logs Malan Public Discussion 13 08/18/06 7:29 AM