Jump to content

Advanced Binds - Camera Zoom Toggle on Key Press/Release (for usability of Teleport or attacks like Lightning Rod)


Recommended Posts

Another topic following the same technique of looping binds in my queuing auto powers and combining insps topics. Here we're going to set up a bind that will only function while you're holding a key down (works brilliantly with SHIFT/CTRL/ALT) and returns to normal operation when you release it.

This is pretty handy for powers like Teleport where you're limited in your camera's field of view when zoomed in on your character - hold your toggle button in and you can instantly zoom out to the maximum camera distance (or any distance you like, it's easy to customise), letting you see the rooftops above you that would normally be out of view, or around the back of that obstacle infront of you.

For door missions and attack powers like Lightning Rod/Spring Attack/Shield Charge/etc. you can use a slightly closer camera range to still zoom out enough that you can easily target the dead centre of a spawn group without whatever scenery is currently directly behind your character, not visible on screen, but is still messing with your targeting (thanks to the game engine) getting in the way.

First up - the basics, and some things you'll benefit from knowing, in plain English:

  • Binds have a hard limit of around 255 characters, so for more complex ones you need to split them in to chunks (files) that fit those restrictions. That's why binds like this use multiple text files.
  • The 'bindloadfile' command will default to the 'root' game directory if you use relative paths ("bindloadfile file1.txt" would look for file1.txt in the root directory), this means you're cutting out however many characters you would waste on typing out the full HDD path, so you don't need to use "C:/Binds/whatever.txt" as a sloppy workaround for that - "binds/whatever.txt" is MUCH shorter than even that and lets you keep your binds subfolder in the game's directory. Win-win. Now this will differ from launcher to launcher - but essentially Tequila will look in the 'Tequila' directory if you don't use a full path, whereas Homecoming's launcher would look in "settings/live" (for the live servers). You may need to fiddle with this if you're using other launchers to find out where the game is looking by default, generally it'll be in the same location as the City of Heroes executable file, Homecoming have just sorted their versions to their own subfolders.
  • Removing the underscores from slash commands makes them shorter and the game still understands them - you don't need "bind_load_file", because "bindloadfile" works too and is two characters shorter. I like "bindloadfilesilent" because whilst it's a little longer, it means my chat window isn't getting spammed with bind files loading in, and I can still split most of my long bind loops in to 2 or 4 files to avoid the hard limit of text characters.
  • If you add "+down$$-down$$" to the beginning of your multiple file bind, it will actually execute two steps - once when you press the key down, and again when you release it. In a bind that uses multiple files - this means one keypress will run *two* bind files on a single push and release, speeding things up (works with other commands with a + then again with a - too, 'up' for example is shorter, but will rarely make your character hop, or stutter upwards if flying). This is how we're going to set-up the zoom bind to only be active when you're holding a key.

    Now that's out of the way, the binds...

    You'll only need two files for this - and I like to keep a few different versions handy for different powers (or no powers at all and just different zoom ranges). Let's start with one for Teleport first. To load in initially in-game you would type /bindloadfile "binds/tp1.txt" in this example.

    File 1 'tp1.txt' - located in a '/binds' sub-folder of my Homecoming installation ('/settings/live/')
    You only really need the first line here as the usual teleport on shift+click bind can just be set once ingame, it doesn't need to be loaded each time a file is here. Another line people like to add is LSHIFT+F "powexec_location camera:max Teleport" so they can instantly teleport forward at the maximum range of the power by tapping a key combination.

    LSHIFT "+down$$-down$$powexecunqueue$$camdist 8$$show health$$show chat$$show target$$show tray$$bindloadfilesilent binds/tp2.txt"
    LSHIFT+LBUTTON "powexecname Teleport"

    File 2 'tp2.txt' - As above for storage location
    Again, you only really need the first line for the left-shift zoom functionality.

    LSHIFT "+down$$-down$$powexecname Teleport$$camdist 60$$windowhide health$$windowhide chat$$windowhide target$$windowhide tray$$bindloadfilesilent binds/tp1.txt"
    LSHIFT+LBUTTON "powexecname Teleport"

    You can tinker with the camera distances here to personal preference, 8-9ft is generally what I like to run as my default character zoom and 60ft gives me enough distance to see what I want to, just change the numbers on the camdist command in both files to your preferred ones.

    This bind will also hide your UI elements to give you an unobstructed view and then return them when you release left-shift - again, delete those commands from the two files if you'd rather leave the UI alone - just leave in the bindloadfilesilent bit at the end and your camera distance lines.

    You can also use this for powers like Translocation in Mystic Flight from the Sorcery pool, Dark Dwarf Step, etc. by simply changing 'powexecname Teleport' to whatever the power's name is you'd like to use.


    Example 2 - Zoom toggle key (no powers) - for use with stuff like Lightning Rod/Shield Charge/Spring Attack/Oil Slick Arrow/Rain of Fire etc. etc. This one doesn't mess with the UI, just a small zoom out. Again, customise distances to your liking. To load in initially in-game you would type /bindloadfile "binds/z25out.txt" in this example.

    File 1 'z25out.txt' - As above for storage location
    Dead simple - zooms out to 25ft while you're holding left-shift

    LSHIFT "+down$$-down$$camdist 25$$bindloadfilesilent binds/z25in.txt"

    File 2 'z25in.txt' - As above for storage location
    Returns the camera to 8ft when shift is released

    LSHIFT "+down$$-down$$camdist 8$$bindloadfilesilent binds/z25out.txt"

    Then you would bind whatever the power you wanted to use with it to SHIFT+LBUTTON (E.G. SHIFT+LBUTTON "powexecname Lightning Rod") - just left-click anywhere while you've got shift held down and your zoomed out view to activate.

Edited by Avernal
Shorter paths based on feedback from other topics
Link to comment
Share on other sites


  • Create New...