Legendary Magi

Citizen
  • Posts

    2
  • Joined

  1. Advanced Attribute Cycling Code
    Now, for the code I promised. Here's the binds I used. Just copy/paste the code into Notepad and save it as the same name shown in the quote. All of them saved into a folder in the City of Heroes folder called 'binds'. If that folder isn't there, create one.

    Here's what this code does exactly. When you first start the game you shouldn't have a window up and you should make sure to type /bind_load or /bind_load_file .\binds\Att0.txt (if you don't want to reset to deafult binds). it will bind R and T to open up one of sets of attributes. R cycles through 3 different windows and T cycles through 2 other windows. When hitting R, after you get to the 3rd list and hit R again, it loads Att0.txt which gets rid of all attributes. T works the same way. While an R list is open, you can't open a T list and visa-versa. Cycle until the list is gone then you can open the other.

    R list 1:
    Influence/Infamy
    Current HP
    Current End
    Regeneration Rate
    Recovery Rate
    Damage Bonus
    ToHit Bonus
    Running Speed
    Flying Speed
    Experience to Next Level

    R list 2:
    Influence/Infamy
    Current HP
    Current End
    Smashing Resistance
    Lethal Resistance
    Fire Resistance
    Cold Resistance
    Negative Energy Resistance
    Psionics Resistance

    R list 3:
    Influence/Infamy
    Base Defense
    Melee Defense
    Ranged Defense
    Smashing Defense
    Lethal Defense
    Fire Defense
    Cold Defense
    Negative Energy Defense
    Psionics Defense

    T list 1:
    Influence/Infamy
    Hold Protection
    Immobilize Protection
    Stun Protection
    Sleep Protection
    Knockback Protection
    Confuse Protection
    Terrorize Protection
    Repel Protection
    Teleport Protection

    T list 2:
    Influence/Infamy
    Hold Resistance
    Immobilize Resistance
    Stun Resistance
    Sleep Resistance
    Knockback Protection
    Confuse Resistance
    Terrorize Resistance
    Placate Resistance
    Taunt Resistance

    Quote:
    Originally Posted by .\keybinds.txt
    [rest of the original code]
    R "bind_load_file ./binds/Att1.txt"
    T "bind_load_file ./binds/Att8.txt"
    Just to be sure, you add that to the BOTTOM of the original keybinds.txt file. Don't replace the whole thing. That would be bad.

    The rest of these are the files that should be in the 'binds' folder I keep mentioning.
    Quote:
    Originally Posted by .\binds\Att1.txt
    Monitor "1"
    $$monitor_attribute inf$$monitor_attribute current hit points$$monitor_attribute current end$$monitor_attribute regeneration rate$$monitor_attribute recovery rate$$monitor_attribute damage bonus$$monitor_attribute tohit bonus$$monitor_attribute running speed$$monitor_attribute flying speed$$monitor_attribute experience to next level
    R "bind_load_file_SILENT ./binds/Att2.txt"
    T "nop"
    Quote:
    Originally Posted by .\binds\Att2.txt
    Monitor "2"
    $$stop_monitor_attribute regeneration rate$$stop_monitor_attribute recovery rate$$stop_monitor_attribute damage bonus$$stop_monitor_attribute tohit bonus$$stop_monitor_attribute accuracy bonus$$stop_monitor_attribute running speed$$stop_monitor_attribute flying speed$$stop_monitor_attribute experience to next level$$monitor_attribute smashing resistance$$monitor_attribute lethal resistance$$monitor_attribute fire resistance$$monitor_attribute cold resistance$$monitor_attribute negative energy resistance$$monitor_attribute psionic resistance
    R "bind_load_file_SILENT ./binds/Att3.txt"
    T "nop"
    Quote:
    Originally Posted by .\binds\Att3.txt
    Monitor "3"
    $$stop_monitor_attribute inf$$monitor_attribute inf$$monitor_attribute Base Defense$$monitor_attribute Melee Defense$$monitor_attribute Ranged Defense$$monitor_attribute Smashing Defense$$monitor_attribute Lethal Defense$$monitor_attribute Fire Defense$$monitor_attribute Cold Defense$$monitor_attribute Negative Energy Defense$$monitor_attribute Psionic Defense
    R "bind_load_file_SILENT ./binds/Att0.txt"
    T "nop"
    Quote:
    Originally Posted by .\binds\Att0.txt
    Monitor "0"
    $$stop_monitor_attribute inf$$stop_monitor_attribute Base Defense$$stop_monitor_attribute Ranged Defense$$stop_monitor_attribute Melee Defense$$stop_monitor_attribute Smashing Defense$$stop_monitor_attribute Lethal Defense$$stop_monitor_attribute Fire Defense$$stop_monitor_attribute Cold Defense$$stop_monitor_attribute Energy Defense$$stop_monitor_attribute Negative Energy Defense$$stop_monitor_attribute Psionic Defense$$stop_monitor_attribute experience to next level$$stop_monitor_attribute Hold Resistance$$stop_monitor_attribute Immobilize Resistance$$stop_monitor_attribute Stun Resistance$$stop_monitor_attribute Sleep Resistance$$stop_monitor_attribute Knockback Protection$$stop_monitor_attribute Confuse Resistance$$stop_monitor_attribute Terrorize Resistance$$stop_monitor_attribute Placate Resistance$$stop_monitor_attribute Taunt Resistance
    R "bind_load_file_SILENT ./binds/Att1.txt"
    T "bind_load_file_SILENT ./binds/Att8.txt"
    Quote:
    Originally Posted by .\binds\Att8.txt
    Monitor "8"
    $$stop_monitor_attribute inf$$stop_monitor_attribute Hold Resistance$$stop_monitor_attribute Immobilize Resistance$$stop_monitor_attribute Stun Resistance$$stop_monitor_attribute Sleep Resistance$$stop_monitor_attribute Knockback Protection$$stop_monitor_attribute Confuse Resistance$$stop_monitor_attribute Terrorize Resistance$$stop_monitor_attribute Placate Resistance$$stop_monitor_attribute Taunt Resistance$$monitor_attribute inf$$monitor_attribute Hold Protection$$monitor_attribute Immobilize Protection$$monitor_attribute Stun Protection$$monitor_attribute Sleep Protection$$monitor_attribute Knockback Protection$$monitor_attribute Confuse Protection$$monitor_attribute Terrorize Protection$$monitor_attribute Repel Protection$$monitor_attribute Teleport Protection
    R "nop"
    T "bind_load_file_SILENT ./binds/Att9.txt"
    Quote:
    Originally Posted by .\binds\Att9.txt
    Monitor "9"
    $$stop_monitor_attribute inf$$stop_monitor_attribute Hold Protection$$stop_monitor_attribute Immobilize Protection$$stop_monitor_attribute Stun Protection$$stop_monitor_attribute Sleep Protection$$stop_monitor_attribute Knockback Protection$$stop_monitor_attribute Confuse Protection$$stop_monitor_attribute Terrorize Protection$$stop_monitor_attribute Repel Protection$$stop_monitor_attribute Teleport Protection$$monitor_attribute inf$$monitor_attribute Hold Resistance$$monitor_attribute Immobilize Resistance$$monitor_attribute Stun Resistance$$monitor_attribute Sleep Resistance$$monitor_attribute Knockback Protection$$monitor_attribute Confuse Resistance$$monitor_attribute Terrorize Resistance$$monitor_attribute Placate Resistance$$monitor_attribute Taunt Resistance
    T "bind_load_file_SILENT ./binds/Att0.txt"
  2. Complete Guide to Monitoring Attributes [I18]
    Beta version of the guide. v0.7
    ---------------------------------------------

    In this guide, I will cover everything you need to know about the Combat Attributes window and even give out the binds I created for cycling the window. If you don't want to learn how to make your own then just skip to the next post where I give out my code. If you have any questions, just ask.
    __________________________________________________ _____________

    Wait, what combat attributes?
    First, combat attributes are things like damage bonuses, resistances, defenses, etc. To check these out, you can simply click 'Powers' on the tray and at the top of the Powers window is 'Combat Attributes'. This opens a window that displays all your combat attributes categorized. You can see it all here.



    Thanks for the info, but the window isn't too helpful in combat...
    Ah, but we can fix that. If you want to monitor certain attributes all the time all you need to do is Right-Click the attribute and click "Monitor [Attribute]" and you'll see a handy little window pop up with that attribute in it. You can monitor up to 10 attributes.



    Well, that's much better! Do I have to do all this right-clicking on all my characters though?
    Nope! Binds are great for this. If you're not familiar with bind files (or binds at all), then check this topic. I'm going to assume you have at least successfully used /bind_load_file before.

    First, you need to know about /monitor_attribute. The syntax is simple: /monitor_attribute attribute
    Where attribute is replaced with what you want to monitor as listed on the Combat Attributes window. (Example: /monitor_attribute Influence)
    Now that that's settled, you should be able to see where to go with this next. If not, that's why I'm here. First, pick a key you want to turn the window on. I'll choose R. Next, pick if you want to use a bind file or just the default binds. If you're not sure, then might as well use the default. Now, open the text file you're using for this. (If you're using the default, go to the folder CoH is installed in and look for 'keybinds.txt') Done? Good. It's time to write in the code. Go to the bottom of the file and try this:
    Quote:
    R "monitor_attribute Influence$$monitor_attribute current hit points$$monitor_attribute current end$$monitor_attribute regeneration rate$$monitor_attribute recovery rate$$monitor_attribute damage bonus$$monitor_attribute tohit bonus$$monitor_attribute running speed$$monitor_attribute flying speed$$monitor_attribute experience to next level"
    You can replace the first R with the key you want to use. Now, if you're already in-game type /bind_load (if you edited the default) or /bind_load_file pathtofile. Now try out the key. You should see the window pop up with 10 attributes that I used for my first window. You can easily go in and change the attributes in that file yourself to what you actually want to monitor.

    Wow, barely managed to keep up but this is awesome! Now if only you could monitor more than 10 attributes.
    Well, you kind of got me there. You can only monitor 10 at one time, but what if I told you that you can swap all 10 attributes you're monitoring with another 10 at the push of a button? Well, you can but it's going to be a bit more difficult to set up and will use a technique not talked about in most of the bind guides I've read. If you've done cycling key binds before then you may think you already know how to do this one, but remember that only so many commands can be given to one key at a time and a full-fledged attribute cycling bind it can easily take 20 or more commands to properly display things how you want them displayed.

    First, let me explain a couple more things about the /monitor_attribute command. If you use the command with an attribute that's already up then it will actually delete it from the window. Also, you know how you can only monitor 10 attributes at a time, right? Well, if you use the command when 10 are already up then it will delete the top attribute and add the new one to the bottom. This means that if you display another 10 commands it will replace ALL the old ones and show the new ones. What happens if I want to keep the top attribute up on more than one window then? With what you know, it'll be near impossible.

    Now, let me introduce /stop_monitor_attribute. It's the exact same as /monitor_attribute but it will take the attribute off the list instead. This will make things much easier for us. Now we can take off attributes then add new ones without messing with the entire list. Yet, you should notice that at some point, your bind gets too long and the last few commands never actually go off. The fix is a strange behavior when loading bind files. What you need to do first is delete the key and the quotes from the file and cut the rest of the code. (As in copy and delete, or CTRL+X) Now, make a new text file in your binds folder. If you don't have one, I recommend going to your CoH folder and making a new one called 'binds' in there. It's really easy to path to. Call the text file "Att1.txt" and then paste the code you cut into it. Now, add "$$" to the very front of the code. If you used my original, it should look like this:
    Quote:
    $$monitor_attribute Influence$$monitor_attribute current hit points$$monitor_attribute current end$$monitor_attribute regeneration rate$$monitor_attribute recovery rate$$monitor_attribute damage bonus$$monitor_attribute tohit bonus$$monitor_attribute running speed$$monitor_attribute flying speed$$monitor_attribute experience to next level
    Believe it or not, the moment you load this file all those commands will activate just fine. So, have the old bind (preferably in the default keybinds.txt) with:
    Quote:
    R "bind_load_file .\binds\Att1.txt"
    Feel free to change the key and yes the period is intentional for the path to the folder I told you to create, of course if you have a different binds folder then path to that. Functionally, this is now the exact same as before but we're set up to perfectly go get the cycling going.

    Now, create a new text file, Att2.txt.
    Copy the Att1.txt into it and then change the attributes to the new ones you want to track when you hit the button again. If you want some to stay, then you'll want to add stop_monitor_attribute command to the front to cancel out the ones you don't want anymore then add in the new ones. Also, you'll want to rebind the key used to toggle this menu to load Att1.txt. Here's an example:
    Quote:
    $$stop_monitor_attribute regeneration rate$$stop_monitor_attribute recovery rate$$stop_monitor_attribute damage bonus$$stop_monitor_attribute tohit bonus$$stop_monitor_attribute accuracy bonus$$stop_monitor_attribute running speed$$stop_monitor_attribute flying speed$$stop_monitor_attribute experience to next level$$monitor_attribute smashing resistance$$monitor_attribute lethal resistance$$monitor_attribute fire resistance$$monitor_attribute cold resistance$$monitor_attribute negative energy resistance$$monitor_attribute psionic resistance
    R "bind_load_file ./binds/Att1.txt"
    Finally, you need to fix up Att1.txt. First, make sure that you stop_monitor_attribute everything new that you turned on in Att2.txt and make that be the first bit of code then make sure that you add the bind that let's you switch to your second set. New code is in bold:
    Quote:
    $$stop_monitor_attribute smashing resistance$$stop_monitor_attribute lethal resistance$$stop_monitor_attribute fire resistance$$stop_monitor_attribute cold resistance$$stop_monitor_attribute negative energy resistance$$stop_monitor_attribute psionic resistance$$stop_monitor_attribute Influence$$stop_monitor_attribute current hit points$$stop_monitor_attribute current end$$monitor_attribute Influence$$monitor_attribute current hit points$$monitor_attribute current end$$monitor_attribute regeneration rate$$monitor_attribute recovery rate$$monitor_attribute damage bonus$$monitor_attribute tohit bonus$$monitor_attribute running speed$$monitor_attribute flying speed$$monitor_attribute experience to next level
    R "bind_load_file ./binds/Att2.txt"
    Ta-da! Now you can swap between 2 sets of attributes and here it always shows your Influence, Current Hit Points, and Current End at the top. You can set up more than just 2 like this as long as you make sure that the last one wraps back to loading the first one. Experiment.

    Damn, that's awesome but I noticed it spams my Global chat tab with garbage.
    Now, I haven't found a 100% fix for this but, I have a fix that makes it more tolerable. At the top of the first file at type: Monitor "1"
    and Monitor "2" at the top of the second, and so on. This replaces all that crap with 'bind "Monitor" "1"' and doesn't affect anything else. Also, replace all instances of "bind_load_file" with "bind_load_file_silent". If anyone finds a better fix, let me know and I'll credit you here.

    Final Result
    Your code should look like this at the end. (The bold is the newly added stuff from the final step)
    Quote:
    Originally Posted by Att1.txt
    Monitor "1"
    $$stop_monitor_attribute smashing resistance$$stop_monitor_attribute lethal resistance$$stop_monitor_attribute fire resistance$$stop_monitor_attribute cold resistance$$stop_monitor_attribute negative energy resistance$$stop_monitor_attribute psionic resistance$$stop_monitor_attribute Influence$$stop_monitor_attribute current hit points$$stop_monitor_attribute current end$$monitor_attribute Influence$$monitor_attribute current hit points$$monitor_attribute current end$$monitor_attribute regeneration rate$$monitor_attribute recovery rate$$monitor_attribute damage bonus$$monitor_attribute tohit bonus$$monitor_attribute running speed$$monitor_attribute flying speed$$monitor_attribute experience to next level
    R "bind_load_file_silent ./binds/Att2.txt"
    Quote:
    Originally Posted by Att2.txt
    Monitor "2"
    $$stop_monitor_attribute regeneration rate$$stop_monitor_attribute recovery rate$$stop_monitor_attribute damage bonus$$stop_monitor_attribute tohit bonus$$stop_monitor_attribute accuracy bonus$$stop_monitor_attribute running speed$$stop_monitor_attribute flying speed$$stop_monitor_attribute experience to next level$$monitor_attribute smashing resistance$$monitor_attribute lethal resistance$$monitor_attribute fire resistance$$monitor_attribute cold resistance$$monitor_attribute negative energy resistance$$monitor_attribute psionic resistance
    R "bind_load_file_silent ./binds/Att1.txt"
    From here, you can edit it to display different attributes or just go crazy like you'll see in my code below. Experiment. If you have any troubles just let me know what the problem is and copy/paste your code here or in PM. I'm happy to help.
    __________________________________________________ _____________

    Notes
    • "Energy Defense" and "Energy Resistance" attributes are bugged. Using either will toggle "Negative Energy" attributes instead. This has been known for awhile but no fix has been made. Typically your negative energy resistance/defense are equal to your energy counterpart anyway. Of course, this is not always the case but it's worth mentioning.
    • Remember, only one window up at a time and only 10 attributes in the window.
    • All the attributes available are also listed here.
    • You can also right click on an entry in the list to move it up, down, or remove it.
    • This is my first guide ever so I apologize if you got lost. Please give me feedback. I can't improve the guide without it.