Jump to content

A small program to collect badges from CoH chatlogs


Recommended Posts

I created a small program for myself to collect badges from chatlogs and list any badges still needed and as its almost useful I thought I would upload it.

It reads in chatlogs and creates a text file with for each character that logs in with all their badges. You can then read those in and it will give lists of badges required sorted by the type of badge.

 

It has some issues. If you start chat logging in game while a character is logged in it won't know who the badges belong to so you need to log out then log back in again. It is best to enable logging for all characters by default.

If there are any badges earned at the start of a chatlog file before a login message the program will prompt the user to select which character they belong to.

There are a few badges which do not give messages when given (Such as Multidimensional), these need to be selected as badge titles.

 

I put the sourcecode on github if anyone wants it, a windows binary should also be attached.

https://github.com/Treboroops/badgeextractor

Its written in Lazarus so can be built for Mac or linux easily.

The SQL database of badges was compiled from the spreadsheet by KeyboardKitsune and released with permission.

 

Instructions

After running the program use the options button to set the location where the CoH chatlogs are and where you want it to output badge lists.

The parse chatfile button will let you read those in one at a time. It will list any badges collected or set as badge title. (Its likely that it will fail to find some badges if the badge description is slightly different from the database)

The load report button will let you read in one of the badge lists produced then you can use the dropdown box to list any badges needed.

 

ETA: Updated 25/10/19

Missed the Event badges from the drop down list somehow

badgeextractor.zip

Edited by DocLiah
2/10 Added some of the new badges for I26P3
  • Like 3
  • Thanks 1
Link to post
Share on other sites

I wrote a similar program for my personal use in Python a few months back. I've noticed that there are a few badges that don't display an award message in the chat logs. 'Heard the Call' I think is one. It will show up if you set it as a title though, or if you use the /settitle command on it. There may be a few others but I can't recall offhand. My badge database was also taken from KeyboardKitsune's badge spreadsheet, as well as a website scrape I did of the City Info Tracker database. If you would like to see my database files or would otherwise like to compare notes, just let me know.

Link to post
Share on other sites

Small error with this so far;  I have 1109 badges, but it's only counting 1106. I'm not sure which is missing?

 

I get the following report for myself;

 

ERROR: Badge . is not in database
ERROR: Badge Cliché is not in database
ERROR: Badge Liberator is not in database
ERROR: Badge Master of the Airwaves is not in database
ERROR: Badge Reject Common Recipes is not in database
ERROR: Badge Reject Defense Inspirations is not in database
ERROR: Badge Reject Protection Inspirations is not in database
ERROR: Badge Reject Rare Recipes is not in database
ERROR: Badge Reject Resistance Inspirations is not in database
ERROR: Badge Reject Uncommon Recipes is not in database
Loaded 1106 badges for Bovine Avenger

Edited by BovineAvenger
Link to post
Share on other sites
22 minutes ago, BovineAvenger said:

Small error with this so far;  I have 1107 badges, but it's only counting 1106. I'm not sure which is missing?

 

I get the following report for myself;

 

ERROR: Badge . is not in database
ERROR: Badge Cliché is not in database
ERROR: Badge Liberator is not in database
ERROR: Badge Master of the Airwaves is not in database
ERROR: Badge Reject Common Recipes is not in database
ERROR: Badge Reject Defense Inspirations is not in database
ERROR: Badge Reject Protection Inspirations is not in database
ERROR: Badge Reject Rare Recipes is not in database
ERROR: Badge Reject Resistance Inspirations is not in database
ERROR: Badge Reject Uncommon Recipes is not in database
Loaded 1106 badges for Bovine Avenger

Do you have the Flames of Prometheus, it could be that one?

 

Yea, the source I got that badges from has a few errors. I will correct those ones and update the DB.

No idea why its showing ".", and the rejects as badges. Odd.

You can delete those from the text file it should be in alphabetical order.

 

ETA:

I put up a new version with those corrections. If you could try reimporting the chat log and see if it picks them up this time.

Try deleting those error'ed badges from the badge list first to stop the error messages.

Is there any chance you could send me the parts of the chatlog file where those Rejects show up so I can see why it picked them up?

Edited by DocLiah
Link to post
Share on other sites
15 hours ago, DocLiah said:

Do you have the Flames of Prometheus, it could be that one?

 

Yea, the source I got that badges from has a few errors. I will correct those ones and update the DB.

No idea why its showing ".", and the rejects as badges. Odd.

You can delete those from the text file it should be in alphabetical order.

 

ETA:

I put up a new version with those corrections. If you could try reimporting the chat log and see if it picks them up this time.

Try deleting those error'ed badges from the badge list first to stop the error messages.

Is there any chance you could send me the parts of the chatlog file where those Rejects show up so I can see why it picked them up?

 

I've attached the chat log as requested. The badge titles are right at the start.

 

Regarding the Notice of the Well, I have achieved that, but from doing a Weekly Strike Force. I don't have Mortimer Kal yet, or any of the badges associated with his strike force.

I believe in the Live version, a "." badge was one which came from a Gladiator badge, and didn't have an associated title? I may be misremembering however.

 

I'm going to give your latest version a go shortly, will let you know how it works!

chatlog 2019-09-10.txt

Link to post
Share on other sites

I have made a new version. This one gives more details on the list of Accolade badges still needed.

Any required badges you need to get them will be listed along with what you need to do to get them.

New binary attached below.

 

1962886984_Screenshotfrom2019-09-1214-26-19.png.2b398bd1294ed35bf4b6773241a625b7.png

 

I am thinking of ways to improve the reports to make them clearer... if its worth the effort.

 

 

Edited by DocLiah
Link to post
Share on other sites

Those 'Reject' badges are interesting. I just ran my /settitle binds last night and a couple of them show up in my list too. They do not appear in the badge tracker spreadsheet, although it does list eight Issue-25 badges for rejecting various numbers of recipes and inspirations. The ones above appear to be as-yet-unnamed badges for rejecting specific types of recipes and inspirations.

Link to post
Share on other sites
  • 2 weeks later

I'd love to use this, but this has been tricky for me to get installed/working.  I'm very sure it's me that's the problem because I was getting a lot of errors and had to uninstall.  

 

Could you please walk me through installing this as though I'm an idiot (:shrugs:), and tell me what I need to do in game to get this running?  Sorry for being slow, but I clearly have a problem, lol.  

 

My game folder is in "This PC> Local Disk (C:)> Games", and the only thing in this file are things associated with City of Heroes.   I've installed VidiotMaps, Hero Stats, and Mids Reborn into this folder with no problem, so I'm sure I'm just putting something in the wrong place or something.  Help, and thanks 😃

Link to post
Share on other sites
41 minutes ago, Bionic_Flea said:

The reject badges for recipes and inspirations are, indeed, a thing.  They are real badges.

Some of them are, namely the ones that already appear in the badge tracker spreadsheet. The ones specifically discussed above still do not appear to be 'live', still have the generic name applied to them, and do not appear in the in-game badge inventory. At least that is the case with the ones I have.

Link to post
Share on other sites
39 minutes ago, AboveTheChemist said:

Some of them are, namely the ones that already appear in the badge tracker spreadsheet. The ones specifically discussed above still do not appear to be 'live', still have the generic name applied to them, and do not appear in the in-game badge inventory. At least that is the case with the ones I have.

My apologies.  I just skimmed the list and didn't realize they were for rejecting specific kinds of recipes and inspirations.  I wonder if they were something considered and rejected for the more generic reject badges that exist in game, or if they are additional badges that might make their way into the game in the future.

Link to post
Share on other sites
  • 1 month later

I finally got this to load up on my computer after deleting and retrying several times!  Now, I don't know what to do with the options menu.  My game is located in C:Games.  I have a folder in "Games" titled "logs" but it's empty....is this the chatlogs you're referring to?  If not, do I need to create a folder named "chatlogs"?  Do I have to turn on the Log chat feature in game to get this folder? 

 

Where should I output the badge lists to?  Thank you for your help.

 

Link to post
Share on other sites
14 hours ago, doggirl said:

I finally got this to load up on my computer after deleting and retrying several times!  Now, I don't know what to do with the options menu.  My game is located in C:Games.  I have a folder in "Games" titled "logs" but it's empty....is this the chatlogs you're referring to?  If not, do I need to create a folder named "chatlogs"?  Do I have to turn on the Log chat feature in game to get this folder? 

 

Where should I output the badge lists to?  Thank you for your help.

 

Yes, you need to enable logging in the game.

Inside CoH, go the Menu then Options then go to the Windows Tab.

In the Chat section enable Log Chat. It will create the directory.

 

Pick any empty directory that's convenient to output lists to. It will just create a text file for each character you enable logging for.

Link to post
Share on other sites
3 hours ago, DocLiah said:

Yes, you need to enable logging in the game.

Inside CoH, go the Menu then Options then go to the Windows Tab.

In the Chat section enable Log Chat. It will create the directory.

 

Pick any empty directory that's convenient to output lists to. It will just create a text file for each character you enable logging for.

Thank you, I did know how to enable chat logging, so yay for me!

 

So, I could output the lists to my documents folder? Or it needs to be within the "game" folder.  Sorry for all the questions, I'm sure they seem simple enough to you, but I really don't understand how anything like this works.  

Link to post
Share on other sites
47 minutes ago, AboveTheChemist said:

In my case at least, my chat logs subfolder lies within a folder that is named with my game login name. So using doggirl's directory as an example, it would be C:\Games\<your_login_name>\logs. Once you turn on logging, perhaps check there to see if that is where your game puts the logs.

Thank you for the step by step!!

 

Link to post
Share on other sites
2 minutes ago, doggirl said:

Thank you, I did know how to enable chat logging, so yay for me!

 

So, I could output the lists to my documents folder? Or it needs to be within the "game" folder.  Sorry for all the questions, I'm sure they seem simple enough to you, but I really don't understand how anything like this works.  

Outputting to the documents folder would be fine. Sorry its so convoluted, there is no easy way to do it currently.

Link to post
Share on other sites
48 minutes ago, DocLiah said:

Outputting to the documents folder would be fine. Sorry its so convoluted, there is no easy way to do it currently.

Thanks, I'm sure it's not convoluted to someone that knows what they're doing!  I appreciate the help and really appreciate the work you've put into it 😃

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...