The Penultimate Flight/Hover Bind--WIP


EsoKujo

 

Posted

This is an attempt to improve upon The Best Hover/Fly /bind EVER!!! So far, I think it's coming along nicely, but I'm running into a few issues that are keeping it from working the way I intend. The general idea is that, when standing still in the air, you're in Hover mode; when moving, you're in Fly mode.

First off, the buttons involved are:
Joystick1_up: move forward
Joystick1_down: move backward
Joystick1_left: move left
Joystick1_right: move right
Joy11: move up
Joy12: move down
Space: Activate/deactivate flight mode
And now, the code:

ground.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward"
joystick1_down "+backward"
joystick1_left "+left"
joystick1_right "+right"
joy11 "+up"
joy12 "+down"
space "powexec_toggleon hover$$bind_load_file .\binds\hover.txt" </pre><hr />

hover.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joy11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joy12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleoff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flyforward.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joy11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joy12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flybackward.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joy11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joy12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleoff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flyleft.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joystick1_button11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joystick1_button12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleoff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flyright.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
joy11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joy12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleoff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flyup.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joy11 "+up$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
joy12 "+down$$powexec_toggleon fly$$bind_load_file .\binds\flydown.txt"
space "powexec_toggleff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

flydown.txt:
<font class="small">Code:[/color]<hr /><pre>joystick1_up "+forward$$powexec_toggleon fly$$bind_load_file .\binds\flyforward.txt"
joystick1_down "+backward$$powexec_toggleon fly$$bind_load_file .\binds\flybackward.txt"
joystick1_left "+left$$powexec_toggleon fly$$bind_load_file .\binds\flyleft.txt"
joystick1_right "+right$$powexec_toggleon fly$$bind_load_file .\binds\flyright.txt"
joy11 "+up$$powexec_toggleon fly$$bind_load_file .\binds\flyup.txt"
joy12 "+down$$powexec_toggleon hover$$bind_load_file .\binds\hover.txt"
space "powexec_toggleoff hover$$powexec_toggleoff fly$$bind_load_file .\binds\ground.txt"</pre><hr />

The major issue I'm having with this is that, at times, the game seems to miss its cue to switch to Hover (this seems to happen if I roll from one direction to the other, then let the joystick center), and at others, it starts to Hover when it should be Flying, and vice versa (this happens when I roll to another direction, and back to the original). These issues are easily solved by simply moving in a different direction, but they crop up way too often the way I fly.

Anybody have any ideas of how to solve this? The only thing that comes to mind for me is making a file for each possible combination of directions, but that might get a little complicated. It's entirely possible to do, of course, and I may go that route if there aren't any better ways to do it, but I'd really rather not have that many files devoted to this bind.

Any ideas?

And, you know, I just realized this might be more at home in the Player Questions forum or another forum. Sorry about that, I'm sure that the mods will correct it shortly.


 

Posted

[ QUOTE ]
The major issue I'm having with this is that, at times, the game seems to miss its cue to switch to Hover (this seems to happen if I roll from one direction to the other, then let the joystick center), and at others, it starts to Hover when it should be Flying, and vice versa (this happens when I roll to another direction, and back to the original). These issues are easily solved by simply moving in a different direction, but they crop up way too often the way I fly.

Anybody have any ideas of how to solve this? The only thing that comes to mind for me is making a file for each possible combination of directions, but that might get a little complicated. It's entirely possible to do, of course, and I may go that route if there aren't any better ways to do it, but I'd really rather not have that many files devoted to this bind.

Any ideas?

And, you know, I just realized this might be more at home in the Player Questions forum or another forum. Sorry about that, I'm sure that the mods will correct it shortly.

[/ QUOTE ]

Ideas. Tons. If you read through the entire Hover/Fly Bind thread you'll see that tons of solutions were considered for most of the strange stuff that happens in a SoD bind. Most of that thread was written before toggleon and toggleoff made it to CoH. And you would think that those two commands would do what we expect them to do, even in SoD systems. One thing I note is that you are not keeping track of all possible keypresses. At the least keep track of when moving left forward, right forward, left backward and right backward. Since not everyone uses a joystick to play, you may want to also keep track of when a person has both left and right keys down, and when a person has both forward and backward keys down. Oh yeah, you'll also want to keep track of when a person is gaining altitude and losing altitude (up and down movement) at the same time they are moving horizantally. So: Forward Up, forward Down, backward Up, etc.

Unfortunately I've banged my head against the toggelon and toggleoff problem constantly. I've posted about the bug that causes powers to not quite work in SoD systems when using the toggle on and off commands. No response.

The solution. Simple. Don't use Powexectoggleon nor powexectoggleoff in a SoD bind. Ever. Instead use two powexecname commands to replace a toggleon, and one powexecname command followed by powexecunqueue to replace a toggleoff command.

Example:

<font class="small">Code:[/color]<hr /><pre>powexectoggleoff Superspeed$$powexectoggleoff Sprint$$powexectoggleon Hover</pre><hr />

becomes:

<font class="small">Code:[/color]<hr /><pre>powexecname Superspeed$$powexecname Sprint$$powexecunqueue$$powexecname Hover$$powexecname Hover</pre><hr />

I know how wrong that looks, but trust me, you want to use the second option. In addition the power you want to turn on must follow the powers to turn off. After working on CityBinder since CoV Beta, the second option is by far the most stable method of activating and deactivating powers in a single bind. It almost never breaks. I recently tried to use powexectoggleon commands in CityBinder, but it ended up not always activating the desired power. You should never use powexectoggleoff in a SoD bind system, that way lies madness and despair.

Good luck.


 

Posted

Thanks for the advice. With your help, I think this is actually ready for use.

Here is Version 1 of The Penultimate Flight/Hover Bind. I will not be posting it in this thread, as the number of files in the bind has grown exponentially (28 files!), but you can download all relevant files here:

http://mysite.verizon.net/heartburnk...light_bind.zip

Directions:

1: Make a new subfolder called "binds" in your City of Heroes folder (normally C/Program Files/City of Heroes)
2: Unzip the file to your binds folder.
3: (optional) Change the button references in each file to reflect the buttons you wish to use; you may do this with simple find and replace functions. The buttons as currently bound are:

Joystick1_up: Forward
Joystick1_down: Backward
Joystick1_left: Left
Joystick1_right: Right
Joy11: Up
Joy12: Down
Space: Activate/deactivate flight mode

You may use a utility, such as Funduc Search &amp; Replace, to simplify this process
4: Enter CoH, and type /bind_load_file .\binds\ground.txt into your chat window.

Voila! You may now activate flight mode with Space (or whichever key/button you chose in step 3), and it will auto-toggle between flight and hover whenever you move or stop moving!

Known issues:

1: You must be standing still when activating flight mode, or else problems will occur with hover/flight switching (it doesn't matter so much when it's deactivated).
2: Pressing both buttons on a given axis (up/down, left/right, forward/backward) at the same time will mess up the bind.

Issue number one will likely get addressed at a later time (I know how to do it, but it's a lot of typing and even more files, and the issue doesn't impair the functionality of the bind); issue number 2 most likely will not.

Enjoy!


 

Posted

Quick FYI... "Penultimate" means "next-to-last," as in an order or positioning.


 

Posted

[ QUOTE ]
Quick FYI... "Penultimate" means "next-to-last," as in an order or positioning.

[/ QUOTE ]

well, his original post was the next-to-last version...the last being a post or two ago.


 

Posted

Ah. Missed that. Caught this thread as a result of a forum search, not from the Index. From the content, I just assumed he meant "ultimate." Never mind.


 

Posted

Actually, I said "Penultimate" because I was planning to enhance it somewhat down the line (to allow for running starts, automatically disable sprint if it's enabled, and the like), thus making the ultimate flight bind. But, heck, I already like it as is, and it seems the Speed-on-Demand thing has already been done to everybody else's satisfaction elsewhere (even if it seems horriffically bloated IMHO), so I'm probably not going to do anything further.

Besides, "penultimate" both sounds cooler, and is less arrogant. And how rare is it that a single word is both of those?


 

Posted

[ QUOTE ]
Actually, I said "Penultimate" because I was planning to enhance it somewhat down the line (to allow for running starts, automatically disable sprint if it's enabled, and the like), thus making the ultimate flight bind. But, heck, I already like it as is, and it seems the Speed-on-Demand thing has already been done to everybody else's satisfaction elsewhere (even if it seems horriffically bloated IMHO), so I'm probably not going to do anything further.

Besides, "penultimate" both sounds cooler, and is less arrogant. And how rare is it that a single word is both of those?

[/ QUOTE ]

Very rare.

SoD is horrifically bloated. But it's amazingly efficient.

I'm sorta sad. I was hoping to see a revolution of sorts in SoD. I tried, but was pretty much limited to the Gnarly style. And in my case, I have enough stuff to worry about fixing on CityBinder that I figured, if it ain't broke don't fix it. Thus I use Gnarly's method in CB.

If you get any further with this, I'd be very interested in seeing it in action.