Jump to content

I've Recreated The Binds That Tag Badges For HeroStats


Recommended Posts

With Herostats now being updated for Issue 25, after much searching online, I just could not find a valid link to the old Bind files that allowed you to quickly select all the badges you had to update into said prog. My udders are sore, and my milk is now curdled, but I've done the best I can to recreate them and now I'm sharing the files with you.  They are not perfect, as I'm exhausted with all the typing, so there's bound to be a few typos inside still... but hopefully this thread will get someone who has the original fully bug checked files to cowm forward!

 

In the meantime, you need to do the following.

 

1.) Download the zip file here.

2.) Unzip the folder into the root folder of your City of Heroes install.

3.) Start the game, and Herostats.

4.) Type in chat "bind_save" to back up your own settings.

5.) Now type "bind_load_file Drive\Path to City Of Heroes\badgetagger1.txt"  So if you've installed in C:\CityOfHeroes  you should type "bind_load_file C:\CityOfHeroes\badgetagger1.txt"

6.) Now do the following. Press 0 to 9 on your number pad. Then Shift + 0 to 9. Then CTRL + 0 to 9. Then Alt and 0 to 9. This starts switching your badge title to batches of badges at once, so HeroStats can see them.

7.) Now press enter to get back into chat, then the up arrow to get the path you typed up. Change "badgetagger1.txt" to "badgetagger2.txt."

8.) Repeat steps 6-7 until you get to "badgetagger5.txt". Currently it's set to go up to #3000 for future badges, and it should unbind all the keys again when you start pressing un-needed keys in said file.

9.) If you're still missing any badges in HeroStats, it's probably a typo on my part. Tell me which one, and I'll try and cross check which number is incorrect and add it to badgetagger5 for later users. Or you can manually check for yourself here; to set your own title to pick it up, type "/settitle #" in chat.

10.) Reload your own binds, if you had them, by typing "bind_load" And you're done!

 

Hope you all find this useful; and remember, heroes need milk for healthy bones!

 

 

Link to comment
Share on other sites

Herostats doesnt link to any badge site, at this time, so what will this achieve? All I can think it will do at the moment is to tell Herostats (on this one occasion that it is open) what badges you have.

Am I missing something?

 

 

(Plus there's a badge sub forum where this should probably be.)

I used to play under the handle @Purple Clown, back on Live. Now I play under @Lunchmoney

 

I'm in the UK and play on Reunion.

 

Link to comment
Share on other sites

Herostats doesnt link to any badge site, at this time, so what will this achieve? All I can think it will do at the moment is to tell Herostats (on this one occasion that it is open) what badges you have.

Am I missing something?

 

 

(Plus there's a badge sub forum where this should probably be.)

 

It doesn't yet... but many people are considering setting up a badge site which will use the data; also it allows you to cross check without being in game what you have.

Link to comment
Share on other sites

  • 1 month later

I ran these last night and found a few typos in badgetagger5.txt.

 

The first is in the bind command for SHIFT+NUMPAD1. It currently reads (in part): 

SHIFT+NUMPAD1 "settitle 2969$settitle 2970$$settitle 2971

The second settitle command only has one $ preceding it. It should read:

SHIFT+NUMPAD1 "settitle 2969$$settitle 2970$$settitle 2971

The other typos are in the bind command for SHIFT+NUMPAD2. The end of that line reads:

$$settitle 2999$$settitle”

That empty settitle command at the end causes an error (I think), and that end quote is not the right kind. The end of that line should read:

$$settitle 2999"

It took me a while to figure out that the quote style was wrong, and it's possible that the empty settitle is fine and that it was just the quote style causing the error all along.

 

Since mid-May, I have been keeping chat logs and updating my badges by parsing those logs. I've noticed that my badge count in-game is off slightly from what my parser tells me. I decided to try these badge tagger files to see if that would help illuminate the badges that I am not picking up, but these files miss some badges too. I am going to keep digging into it and see if I can turn up anything.

  • Like 1
Link to comment
Share on other sites

After some digging, I found some more typos in the badgetagger.txt files, and I believe that is why I was missing some badges after running these files. I created my own set of files using a Python script and did a test run last night. It appears to have successfully picked up all the badges for the test character. I plan on running the rest of my characters tonight to test it further.

 

As I ran the test, I added the ability to roughly keep track of the integers for the settitle command, and comparing those numbers to the Paragon wiki settitle integer listing, the integers that Homecoming uses do not match for a subset of badges that I checked. It does not appear that the wiki list can reliably be used to set one's badge title with the settitle command.

 

At this time I don't plan to share the files I have but if there is interest I am not opposed to doing that, once I am done testing it to make sure everything works fine.

  • Like 1
Link to comment
Share on other sites

I would appreciate the files once you're satisfied with them!

3 hours ago, AboveTheChemist said:

At this time I don't plan to share the files I have but if there is interest I am not opposed to doing that, once I am done testing it to make sure everything works fine.

 

  • Like 1
Link to comment
Share on other sites

After checking all my characters I am satisfied that these files work as intended. I've attached them here if anyone else wants to use them, at your own risk of course.

 

I changed the execution from how BovineAvenger originally posted. Rather than cycling through the NUMPAD keys and loading a new bind file once that cycle was complete, I use one key and reload the next bind file automatically with each keypress. It was simpler for me that way.

 

My Z key was not bound to anything so I chose to use that key. If your Z key is bound to something, you have two options. You can export your current keybinds and copy your current Z bind into file st301.txt in the attached zip. That file is the last in the sequence and resets the keybind to its original state (which is 'nop' in my case).

 

The second option, which assumes some basic familiarity with Python and how to run Python scripts, is to choose another (preferably empty) key and to rebuild the files yourself using the Python script (bt_builder.py) included in the zip file (it's in the badge_title folder with the rest of the files). If you choose the second option, you'll need to modify that Python script on line 1 to use a key other than Z. Just set the 'bind_key' variable to whatever you want to use. Running that script will replace the included files with your custom files. If you aren't familiar with Python I don't recommend this step, but Python isn't a particularly daunting language so it might not be hard to figure it out if one is so inclined. Any basic Python interpreter should allow you to modify and run the file, and you can get one from https://www.python.org/downloads/. This is written in Python 2, so be sure to use a Python 2 interpreter.

 

So, to use the files:

 

1. Drop the badge_title folder from the zip file into the 'data' folder in your CoH directory
2. Using either the Z key or the new key of your choice, based on your options above, bind a command that looks something like:

/bind Z "tell $name, BEGIN BADGE TITLE SET$$bind_load_file badge_title/st0.txt"

3. Press Z (or the key of your choice). This loads the first bind file, and sends you a tell that the process has begun. It will look something like this:

2019-08-06 20:49:48 Keybinds file loaded: badge_title/st0.txt
2019-08-06 20:49:48 [Tell] :Mitternacht: BEGIN BADGE TITLE SET
2019-08-06 20:49:48 [Tell] -->Mitternacht: BEGIN BADGE TITLE SET

4. Press Z (or the key of your choice) again to set the first batch of titles. It is set up to do ten badges per keypress. The output will appear similar to the below, individual badges notwithstanding.

2019-08-06 20:50:23 Keybinds file loaded: badge_title/st1.txt
2019-08-06 20:50:23 [Tell] :Mitternacht: 0
2019-08-06 20:50:23 [Tell] -->Mitternacht: 0
2019-08-06 20:50:23 Your badge title has been cleared
2019-08-06 20:50:23 Your badge title has been cleared
2019-08-06 20:50:23 Your badge title has been cleared
2019-08-06 20:50:23 Your badge title has been cleared
2019-08-06 20:50:23 Your badge title has been cleared
2019-08-06 20:50:23 Celebrity has been selected as new title.
2019-08-06 20:50:23 Sensation has been selected as new title.
2019-08-06 20:50:23 Superstar has been selected as new title.
2019-08-06 20:50:23 Tough has been selected as new title.
2019-08-06 20:50:23 Your badge title has been cleared

With each keypress, the first action taken is to load the next bind file. Then it sends you a tell with the index number of the first badge in the list. Then it sets the badge titles in numerical order from 0 to 9.

 

5. Keep pressing Z (or the key of your choice) about 300 times to cycle through all the possible numbers. I spaced my keypresses by about 1-2 seconds so that I wasn't spamming the game too hard. I can't promise it will work right if you spam it faster than that, but knock yourself out if you want to try it.

6. When all the numbers have been set, it will tell you that the inventory is complete. Press the key once more to return the key to its original binding.

 

It takes me about 10-15 minutes per character to cycle through all the keys. The main reason I included a tell to myself in there was so that the game would beep and I'd have audio feedback that things were working well. I just started watching TV, pressing Z, and listening for the beep to know that all was working right and I didn't have to pay too much attention to it otherwise.

If you are familiar with Python feel free to modify the included python script to suit your needs. I am not a Python expert so there is probably room for improvement there.

 

If you have any questions just let me know.

 

(See post further down for updated zip file)

 

Edited by AboveTheChemist
Updated zip file
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

One thing that I will add is that if there is enough interest in compiling a list of settitle integers and their corresponding badges, I am happy to help with that. As I noted previously, the integers do not match what is on the wiki list. For instance, in my previous post, Celebrity is 5, Sensation is 6, Superstar is 7, and Tough is 8. On the wiki those badges have integers in the 1500 range. I am not a hardcore badger, and my highest is only now nearing 500, so with my characters alone I could only complete part of the overall list. If a dedicated badger with lots of badges is willing to run this and share their logs, I would be glad to parse the data and start fleshing out the integer list.

  • Like 1
Link to comment
Share on other sites

I think you are right, I moved that to my ESC key. If that is the case then I think you can replace the 'nop' in st301.txt with 'powexec_abort'. You might also be able to put:

 

Z "unbind Z"

Which should return it to it's default setting, but I don't know if it will accept a key that unbinds itself. Worst case, you can do /unbind Z on the chat line once you are done.

  • Like 1
Link to comment
Share on other sites

I adjusted the files slightly to squeeze in as many /settitle commands as possible per key press, and still stay under the 256 character bind length limit. I've attached the new zip. Instructions are the same, but the last file is st232.txt instead of st301.txt, which should reduce the number of key presses by about 25%. I have not tested these so if there are any issues just use the previously posted zip and I'll fix these when I can. I've since tested these and they seem to work fine.

 

Also, I am not 100% certain the bind length limit is 256 characters, so if anyone knows for sure what it is please let me know. If I have time I may test it this evening.

badge_title.zip

Edited by AboveTheChemist
Update
  • Like 1
Link to comment
Share on other sites

On 8/8/2019 at 10:20 PM, AboveTheChemist said:

I adjusted the files slightly to squeeze in as many /settitle commands as possible per key press, and still stay under the 256 character bind length limit. I've attached the new zip. Instructions are the same, but the last file is st232.txt instead of st301.txt, which should reduce the number of key presses by about 25%. I have not tested these so if there are any issues just use the previously posted zip and I'll fix these when I can.

 

Also, I am not 100% certain the bind length limit is 256 characters, so if anyone knows for sure what it is please let me know. If I have time I may test it this evening.

badge_title.zip 49.78 kB · 2 downloads

 

Thank you for doing all of this work AboveTheChemist; also I salute both the Sisters Of Mercy logo, and the Sisters related user name! 😉

 

Real life aggro meant that I wasn't able to focus much on this again, and I adapted the file lengths to an approximation that I knew definitely worked, not the most efficient, and you've done an admirable job of really squeezing them! I also wasn't sure how to get the old binds to unload and switch to the next one, so left that out and focused on just trying to mass type the numbers, knowing some of you more skilled with cowding would tidy up later...

 

I'll have a fiddle with your scripts myself shortly, but again, thanks for all the hard work!

 

 

Edited by BovineAvenger
  • Like 1
Link to comment
Share on other sites

Thanks BovineAvenger! You have the distinction of being the first person in the many years that I have been using this username to know that it was a Sisters of Mercy reference. Only a few have known (or at least only a few have mentioned it) what the logo is.

 

I did confirm the other night that the character limit is 256 characters, so that latest zip file I posted is as good as it is going to get. I still have not tested that new file set but I feel confident it should work as well as the first set I posted.

 

If you find anything amiss just let me know, and if you have suggestions for improvement I am all ears!

Link to comment
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...