Author Topic: Building a base bind platform to standardize AND customize all your characters  (Read 4789 times)

jordan_yen

  • Newbie
  • *
  • Posts: 32
  • Inf: +7/-0
    • View Profile
    • Jordan's Town
    • Awards
What?

Basically, every character I play has a combination of standard binds that I like to use along with custom binds matched to their personality and powers and all of it is loaded with one simple command and pressing a few number keys.

Granted, you can just set these in-game manually, but that's tedious, hard to work with, and you don't have the ability to reset or restore a character quickly. Consider:

  • When CoH was rescued from the cave troll and went public again, I was able to restore character's full binds in seconds (because I still had the bind files from back in the day)
  • CoH is currently on private servers that may or may not survive (or you might just want to try your toons on a different server). If you have to (or want to) set up shop elsewhere, why do the tedious setup again when you can type one command, press a few numbers and be back up and running in seconds per character?


The setup
The first thing you want to do is create a folder on your C: drive called "binds". It should look something like this:



Inside the folder, you need a file called "base_binds.txt". If you don't know how, just make sure you're in the binds folder, click the empty space on the right, select "new" from the menu that opens and navigate to "Text Document" and click, then give it the name "base_binds.txt". Here's an image to help (but if it eventually goes away, just use the above directions):



Now What!?

So now you have this:

c:\binds\base_binds.txt

Your base file will contain the binds that EVERY character will use. Granted, you might over-ride some of these with custom text, colors, or other adjustments, but the idea is that if you don't customize anything else, at least every character will have these basic binds that you want to be common. Some example binds (that I use) include:

Code: [Select]
ENTER "afk Thinking...$$startchat "
CTRL+ENTER "beginchat "/send "Rebirth" [$name $level $archetype] ""
F6 "local GRATZ! $$ emote clap"
F7 "local Let's do it!$$team READY!$$em alakazam"
F8 "team There's a $target"
O bindloadfile c:\binds\screen.txt
T "beginchat /bind f target_name "
\ follow
up "follow$$powexectoggleon fly$$$$powexectoggleon mystic flight$$teamselect 1"
down "follow$$powexectoggleoff fly$$powexectoggleoff mystic flight$$teamselect 1"
MouseChord "+forward"
lshift "powexecname teleport$$powexecname translocation"
' "target_enemy_near$$follow"
l "loc"
$$maxinactivefps 10
n beginchat "/t event herald, next #itrial"
z "$$powexectoggleoff fly$$powexectoggleoff mystic flight$$powexectoggleoff hover"
$$macro_image InherentBase_Furnace JT "enterbasefrompasscode MYBASEPASSWORDHERE"
$$macro_image InherentBase_anger MA "enterbasefrompasscode MYVILLIANBASECODEHERE"

EXPLAIN!

OK!

ENTER "afk Thinking...$$startchat "
When you press the Enter key, normally it just puts your cursor in the chat box so you can start typing. This will put a little thought bubble with custom text ("Thinking..." in this case) above your head.

CTRL+ENTER "beginchat "/send "Rebirth" [$name $level $archetype] ""

Press CTRL and ENTER at the same time to put "/send "Rebirth" [$name $level $archetype]" in the chat box and put the cursor right after it. This makes it SUPER easy to chat on the global channel by pressing CTRL+ENTER, typing what you want to say and then clicking ENTER again. Done.

F6 "local GRATZ! $$ emote clap"

Contratulate someone for dinging! The key is that this is said in LOCAL so you're not annoying your team with ding noises from chatting in the team channel. The emote won't fire if you're in the middle of battle (or it does, but gets interrupted so no worries about it getting in the way).

F7 "local Let's do it!$$team READY!$$em alakazam"

Replacement "READY" bind. Says something character-custom in local (same as before, not in team channel), says what the team actually needs to see "Ready", then does a bit of an emote. Obviously you can use any emote. You can even tack on an costume change to this (and I often do), but this is the basic bind :)



Here's "Cold Shower" changing to battle mode. With a single keypress (F7), she says flavor text in local, Ready in Team (I was in the wrong chat window so it went to local in this example), and uses the "iceblock" costume change emote.

F8 "team There's a $target"

Used to call out something you're targeting. Sure, you can annoy your team by calling them out, but generally you'll use it to call attention to problem enemies, AVs, target items, hostages, etc. You have to be targeting it for this to work of course.

O bindloadfile c:\binds\screen.txt

This actually loads another basic bind that I use to toggle the screen on and off. The idea is that it can be hard to turn the UI back on when you DON'T HAVE THE UI VISIBLE, so I use a simple bind to toggle the UI on and off again that works the same for all my characters. Mostly this is used to take clean screenshots (or make sure you can see the HUD if you want to show the team members, chat etc. I'll explain this bind later for those who are interested, but just ignore it for now.


Sometimes you just want a clear screenshot of the environment. Did you know you can go into Yin's market after you save him? I didn't until 2021!

T "beginchat /bind f target_name "

This is a seek-bind starter! It's SOOOOOO cool... buckle up and let me explain.

Let's say you're looking for Dr. Vhazilok on the map that you're sneaking around on. When you have this bind, here's what you'd do:

  • Press T - this opens your chat with some text pre-filled and the cursor at the end
  • Type the name (or parital name) of something you want to light up if it's anywhere in view. In this case "vhaz" or "dr" (without the quotes)
  • Press Enter - Your seek bind is set and bound to the F key

Now all you have to do while running around is tap the F key every now and then. If anything matching your search string is in view, it will target that (if multiple are, it will toggle between them). It's a crazy easy way to find things of interest like when hunting GMs in Croatoa or glowies/hostages in missions (as long as you know the name of the thing you're looking for -- sometimes hostages are individually named which makes this not as effective)

\ follow

Since F made WAY more sense for "find" and especially because it's right next to the WASD keys (which makes it easy to tap when moving around), we need a new follow key. For me, the backslash made sense because it's big and easy to find. You can use anything of course, but this works for me.

up "follow$$powexectoggleon fly$$$$powexectoggleon mystic flight$$teamselect 1"
down "follow$$powexectoggleoff fly$$powexectoggleoff mystic flight$$teamselect 1"

Same thing. Press up to select your team leader, follow, and fly. You sometimes have to hit the key a few times, to get it to work, but it's still easier than selecting manually and finding/clicking powers. Works with both regular fly and mystic flight.

If you don't want the fly effect, just use the down arrow and it still follows your team lead. HOWEVER, if you DO use the fly bind, down will turn off the fly in the process :)

MouseChord "+forward"

This makes it so that if you click both mouse buttons, you'll run forward, but ONLY for as long as you're holding both buttons. When you let go of either (or both) buttons.


lshift "powexecname teleport$$powexecname translocation"

You might not have teleport on your character, but this has ZERO effect (I think... maybe it shows a teleport circle, but it doesn't do anything) if you don't have any teleport power so why not? Automatically uses the power that you actually have active if you have it :D

' "target_enemy_near$$follow"

Very useful for my debuffers and melee fighters. Press the single quote key to pick the closest enemy and give them a hug.

l "loc"

Press L to see your (L)ocation. Puts it in your chat window area in X,Y coords. Useful for finding contacts or badges that you look up on the wiki.

$$maxinactivefps 10

This isn't a bind, it's a system setting. Makes it so if you switch windows, it drops the FPS to 10 so it eases up your system resources. This is wildly useful if you are dual-boxing on the same machine in different windows.

n beginchat "/t event herald, next #itrial"

Rebirth-speicifc cool bind telling you when the next itrial is. N for NEXT (then hit Enter to send the message and get a response) :D

z "$$powexectoggleoff fly$$powexectoggleoff mystic flight$$powexectoggleoff hover"

I've been playing too much FFIV and they have Z set to "stop flying" so I copied it here (because I kept hitting it automatically and it was driving me crazy when it didn't work).

$$macro_image InherentBase_Furnace JT "enterbasefrompasscode MYBASEPASSWORDHERE"
$$macro_image InherentBase_anger MA "enterbasefrompasscode MYVILLIANBASECODEHERE"


Another non-bind. This creates two macros in my tray - one blue, one red. Blue goes to my hero base. Red goes to my villain base.

Good enough?

Technically, you can stop here. If you just want a set of standard binds that are used on all your characters, you can easily apply (or reapply them later if you make changes or updates) by doing the following:

  • Hit enter or click the chat window to put the cursor in the chat window
  • Type this: /bindloadfile c:\binds\base_binds.txt
  • Hit enter to load all 'dem tasty binds

This works pretty well and you can stop here if you want, but if you like the idea of doing per-character customization for flavor-text, specific power changes (including Master Mind bind files), and custom chat colors, let's keep going.

« Last Edit: May 26, 2021, 11:27:25 am by jordan_yen »

jordan_yen

  • Newbie
  • *
  • Posts: 32
  • Inf: +7/-0
    • View Profile
    • Jordan's Town
    • Awards
CUSTOMIZE!

To make this work, I create a new folder for every character HOWEVER --- I actually use shortened names because you have to type this at some point and the shorter, the better. If possible, come up with a single-word nickname with no spaces or special characters. For example, if your character is named "The Great Purple Pantaloon", maybe "c:\binds\purpaloon" would do the job. Or, if you don't have too many pantaloon characters, maybe just "pantaloon".

Inside the pantaloon folder, create two files:

c:\binds\pantaloon\loader.txt
c:\binds\pantaloon\binds.txt

So now you have this file: c:\binds\pantaloon\loader.txt

Where, of course, the character name is not "pantaloon" (or maybe it is; I won't judge). What does loader look like?

Code: [Select]
1 bindloadfile c:\binds\base_binds.txt
2 bindloadfile c:\binds\pantaloon\binds.txt
4 bindloadfile c:\binds\numbers.txt

Basically, it just re-assigns your number keys to load a bunch of other files in sequence. Let's take them one at a time.

  • When you press the 1 key, it loads the base_binds that all characters share
  • Loads my character's specific binds custom to them (or overrides some of the base ones... I'll give an example later)
  • Blank.... why? Because sometimes I want to load other bind files for this character. Most commonly used with masterminds to load mastermind bind files (a TOTALLY different and large post, but there are still good guides out there for this)
  • Restores the default numbers to power tray associations (requires a bind file in the c:\binds folder called "numbers.txt" which looks like this

c:\binds\numbers.txt
Code: [Select]
0 "powexec_slot 10"
1 "powexec_slot 1"
2 "powexec_slot 2"
3 "powexec_slot 3"
4 "powexec_slot 4"
5 "powexec_slot 5"
6 "powexec_slot 6"
7 "powexec_slot 7"
8 "powexec_slot 8"
9 "powexec_slot 9"

Besides mastermind files, I might have various power-specific files, ones for specific ATs (Tanks might have taunt binds I want on all my tanks for example), SuperGroup stuff etc. Each file I assign to a number key ending with the "numbers.txt" file to restore the normal number functionality after I'm done loading my binds (the order is NOT important except for having the "number key restore" bind file at the end. You'll probably never actually need all the way up to 10 - I never have, but I wrote the file to restore them all just in case. Anyway, let's continue.

Put this together!

We'll talk about WHAT to put in a character bind file in a minute, but here's the basic process of building a new character and loading up their binds:

  • Make a new character and enter the game
  • Set up your trays, windows, window colors (you match your window color and chat bubbles to each character, right? I do :) )
  • Press enter or click the chat window
  • Type bindloadfile "c:\binds\pantaloon\loader.txt" and press ENTER (technically you don't need the quotes around the file path as long as there are no spaces in the path, but I'll put it anyway just in case).
  • Press 1. Now press 2. Now press 3. Keep going until you see the text saying that the numbers.txt file has been loaded and you can confirm that pressing number keys now activates powers in your tray like normal

THAT'S IT!

With one simple command (that only varies with the name of the character whose binds you're loading) and then pressing number keys in order, you can quick-load or re-load any character's binds at any time. If you change the base binds and then go back to an character you haven't played in a while, reloading them with the new base binds, but keeping everything else is super simple.



I like to set up every character with custom window and chat bubble colors to match their costume and/or powers. It really enhances the gameplay in making every character FEEL different when you play them
« Last Edit: May 26, 2021, 11:46:41 am by jordan_yen »

jordan_yen

  • Newbie
  • *
  • Posts: 32
  • Inf: +7/-0
    • View Profile
    • Jordan's Town
    • Awards
Why Character Files?

The thing is that you probably have various customizations you want to set up for specific characters. For example, I want my fire demon to use the same binds as other characters (the AFK bind, the "READY" bind, etc), but the colors of the chat bubbles should match and I want the text to match his or her character too! This is where the character-specific bind files come in.

Here's an example of one my character's specific binds:

Code: [Select]
P "local Here fluffy! Come here boy!$$powexec_name dark servant"
F12 "say <bgcolor #010127><color #bb0d0d> $target, I'm opening a portal through the darkness... (TP inc)$$powexec_name Recall Friend"
ENTER "afk Gathering thoughts...$$startchat "
F5 "say <bgcolor #010127><color #bb0d0d>Welcome!"
F6 "local <bgcolor #010127><color #bb0d0d>GRATZ! $$ emote clap"
F7 "local <bgcolor #010127><color #bb0d0d>Let's do it!$$$$cce 1 CCoilstrike$$say <bgcolor #010127><color #bb0d0d>  Ready!"
F8 "say <bgcolor #010127><color #bb0d0d> Oh look! A $target."
F9 "say <bgcolor #010127><color #bb0d0d> Are you still talking!?"
F10 "say <bgcolor #010127><color #bb0d0d> OMG! Would you just SHUT. UP!"
EQUALS em jugglemagic

Let's walk through them:

P "local <bgcolor #010127><color #bb0d0d>Here fluffy! Come here boy!$$powexec_name dark servant"

Per my previous examples, character flavortext that isn't worth drawing team attention specifically is sent to LOCAL, not TEAM. This just says a bit of text and summons my pet :) (but note that it keeps to my characters custom color scheme)

F12 "say <bgcolor #010127><color #bb0d0d> $target, I'm opening a portal through the darkness... (TP inc)$$powexec_name Recall Friend"

When you take Recall Friend, it's super helpful to let people know you're teleporting them. Just select them, press F12, and click the ground. It will automatically replace $target with the name of the person you clicked. SPECIAL NOTE: "say" has a special function in that it sends this text to whichever chat channel is active. This is useful for binds that are good for either team or league. Depending on which you're in, the bind text will go to that channel.

ENTER "afk Gathering thoughts...$$startchat "

This is the chat bubble text that comes up while you're typing a message. It's super useful to let people know you're not ignoring them, you're typing. I like to customize the message per-character of course. The default was something like "Thinking...", but here I have "Gathering thoughts" and on my demon fire/fire/fire character it's "Burning some thoughts..."



Here's "It's Pink!" with his version of the thinking bubble

F5 "say <bgcolor #010127><color #bb0d0d>Welcome!"
F6 "local <bgcolor #010127><color #bb0d0d>GRATZ! $$ emote clap"
F7 "local <bgcolor #010127><color #bb0d0d>Let's do it!$$$$cce 1 CCoilstrike$$say <bgcolor #010127><color #bb0d0d>  Ready!"
F8 "say <bgcolor #010127><color #bb0d0d> Oh look! A $target."


I'll take these together. They're just standard binds, but I can customize the specific text, the emotes used, change costumes, and all of them use the custom color scheme for my character.


F9 "say <bgcolor #010127><color #bb0d0d> Are you still talking!?"
F10 "say <bgcolor #010127><color #bb0d0d> OMG! Would you just SHUT. UP!"


These serve no function other than to entertain me during long ITRIAL cutscenes. Press F9 and then 10 or 15 seconds later, you press F10 to make your point :P



It's a bit faded because I was too slow on the screenshot key, but you can see my toon talking smack to Cole whilst perched atop his compensation edifice.

EQUALS em jugglemagic

All of my characters have a custom "waiting around" emote which I choose based on their powersets and story. For my fireblaster, it's JuggleFire; for my scientist it's "equation" or whatever. But it's always the same key so I never have to think about where I put it. The only thing that changes is the specific emote.

Bring it home!

Ok, that's basically it. Just for the sake of making it all clear, here are some other sample character bind files for reference:

Fire Blaster
Code: [Select]
ENTER "afk Burning some thoughts...$$startchat"
F5 "say <bgcolor #922d01><color #ffd434>Welcome!$$em welcome"
F6 "l <bgcolor #922d01><color #ffd434>Gratz!"
F7 "l <bgcolor #922d01><color #ffd434> One barbecue, comin' right up! $$say <bgcolor #922d01><color #ffd434>Ready!$$cce 1 cccast$$powexec_toggleon cauterizing aura"
F8 "say <bgcolor #922d01><color #ffd434>Hmm.... A $target. It needs to cook a little more..."
p "powexecname inferno$$l <bgcolor #922d01><color #ffd434> Ske-doosh!!"
- em jugglefire
EQUALS em jugglefire
numpad0 "cce 0 cccast$$l <bgcolor #922d01><color #ffd434> Whew!$$powexec_toggleoff cauterizing aura"

Obnoxious sonic defender
Code: [Select]
ENTER "afk Thinking LOUDLY...$$startchat"
NUMPAD0 "cce 1 CCPrestoChango$$local <bgcolor #01446f><color #e0e80e>BRAEK TIM!"
F12 "say <bgcolor #01446f><color #e0e80e>IT'S RAINGIN $target's!$$powexec_name recall friend"
F5 "say <bgcolor #01446f><color #e0e80e>Welcome!$$em welcome"
F6 "local <bgcolor #01446f><color #e0e80e>GRATZ! $$ emote clap"
F7 "local <bgcolor #01446f><color #e0e80e>OMG! HTAT'S A LOT OF EMENIES$$say <bgcolor #01446f><color #e0e80e> READY!$$cce 0 CCLightning"
F8 "say  <bgcolor #01446f><color #e0e80e> ON NOES!! A $target!!1!!!1"
- em snowflakes
EQUALS em snowflakes
« Last Edit: May 26, 2021, 01:15:14 pm by jordan_yen »