Quickly /Settitle all of your badges!
A friend of mine gave me a file similar to this, and I've been using it for a while now. It works pretty well, but for some reason it leaves some out every once in a while.
For those without a Ruby interpreter installed, there was a set similar to these posted on CIT a while ago.
http://www.cityinfoterminal.com/foru...opic.php?t=756
Forum mod: less obtrusive signatures
i use an AHK script to send the settitle commands
City Information Terminal and I believe other badge sites integrate with HeroStats and related clients to automatically track which badges a character has as they are awarded, or when selected.
Very cool stuff, but it causes some problems:
<ul type="square"> [*]If you had the badges before your started tracking them, it is annoying to have to go through and either check them off at the website or selcted each to get tracked. [*]You cannot select gladiator badges anyway, so you'll have to look up the correct badge number in the Settitle Guide and use /settitle # on each one.[*]City Information Terminal added a 'verified' flag to each badge, and only considers the ones added via the automatic clients to be verified. If you had badges tracked through them before they did this, you need to delete and readd them if you want them verified.[*]If you get a badge while not running the client for whatever reason you need to figure out which one and add it manually.[/list]
As an annoyed programmer, I wanted an easy (lazy) solution to this, so here's what I came up with.
<font class="small">Code:[/color]<hr /><pre>
@NUM_BADGES = 800
@SHORTCUT = "l"
@PATH_ROOT = "c:\\coh\\"
for i in 0..((@NUM_BADGES/10) - 1)
open("#{@PATH_ROOT}settitle#{i+1}.txt", "w") { |f|
f.print "#{@SHORTCUT} \""
for j in 1..10
f.print "settitle #{i*10+j}$$"
end
if ((i+2)*10) < @NUM_BADGES
f.print "bind_load_file #{@PATH_ROOT}settitle#{i+2}.txt\"\n"
else
f.print "unbind #{@SHORTCUT}$$local Done!\"\n"
end
}
end
</pre><hr />
This is Ruby, a script oriented programming language. It creates a bunch of bind files to make it easy to select all your badges in a lazy-friendly way. Currently there are just under 800 badge #s (which includes all the villain and hero ones and some used under the covers by the game and are never visible), my script just brute force sets them all.
You can change the @NUM_BADGES variable as new ones are added, you can change which shortcut you'd like to hit over and over, and you can customize where the scripts are located to fit your environment.
I won't show all the scripts, I'll just show a couple at the beginning and then the last one. They're very predictable.
settitle1.txt:
<font class="small">Code:[/color]<hr /><pre>
l "settitle 1$$settitle 2$$settitle 3$$settitle 4$$settitle 5$$settitle 6$$settitle 7$$settitle 8$$settitle 9$$settitle 10$$bind_load_file c:\coh\settitle2.txt"
</pre><hr />
settitle2.txt:
<font class="small">Code:[/color]<hr /><pre>
l "settitle 11$$settitle 12$$settitle 13$$settitle 14$$settitle 15$$settitle 16$$settitle 17$$settitle 18$$settitle 19$$settitle 20$$bind_load_file c:\coh\settitle3.txt"
</pre><hr />
settitle3.txt:
<font class="small">Code:[/color]<hr /><pre>
l "settitle 21$$settitle 22$$settitle 23$$settitle 24$$settitle 25$$settitle 26$$settitle 27$$settitle 28$$settitle 29$$settitle 30$$bind_load_file c:\coh\settitle4.txt"
</pre><hr />
...
settitle80.txt:
<font class="small">Code:[/color]<hr /><pre>
l "settitle 791$$settitle 792$$settitle 793$$settitle 794$$settitle 795$$settitle 796$$settitle 797$$settitle 798$$settitle 799$$settitle 800$$unbind l$$local Done!"
</pre><hr />
How to Use
If you know how to use ruby, just change the variables as you please and run:
<font class="small">Code:[/color]<hr /><pre>
ruby settitle.rb
</pre><hr />
Inside City of, load in settitle1.txt:
<font class="small">Code:[/color]<hr /><pre>
/bind_load_file c:\coh\settitle1.txt
</pre><hr />
Then hit your bound key (in the above example: l) over and over until you say 'Done!' in local chat. At that point you've attempted to /settitle every badge # in the range, and HeroStats (or another client) will detect it and send it to your tracking site of choice.
If you already have the badge tracked at that site you may need to delete it from their tracking before doing this (this is true with City Information Terminal's verified flag). I just delete all badges for a character the first time, then run these binds to populate all the badges. After that point I only need to use these binds if I were to gain a badge without running the client.
I'm not interested in making a ZIP file with a pre-generated set of these files, if someone would like to please reply with the URL. I'm sure most of you don't have a ruby interpretter sitting around.
You can also reply with ports to other scripting languages, it would be trivial in Perl and many others.