08-09-2008, 09:47 AM
(This post was last modified: 09-10-2017, 08:32 AM by Silverthorn.)
<h1>Double Key Inputs</h1>
mirrored from http://y2f.heliohost.org/index.php?curre...nputs.html
<img src="http://y2f.heliohost.org/davisFa.gif" alt="Davis: hit_Fa:" style="float:right">
<p>The LF2 script engine provides us <span title="hit_d: hit_j: hit_a:">3 simultaneous single</span> and <span title="hit_Ua: hit_Fa: hit_Da: hit_Uj: hit_Fj: hit_Dj: hit_ja:">7 simultaneous triple</span> key inputs.
The triple ones can be pushed in sequence too, but it's the simultaneous feature that's of interests now.
If you don't know about these you better go to <span title="Little Fighter Empire">LFE</span> and
<a href="http://www.lf-empire.de/en/lf2-empire/data-changing/types/167-type-0-characters">revise your basics</a> instead of reading this.<br>
I have found a way to fill the gap and achieve simultaneous double key inputs. Of course they don't work with a simple tag as the others do and instead use an exploit. I will now explain how it works. If you are not interested in the details you can skip right to the <a href="#Summary">Summary</a> to see a list of all the usable double key inputs I have found and how to implement them. However there may be more you can only find on your own if you understand how this works.</p>
<h2 id="Theory">Theory</h2>
<p>There are several basic character actions that don't require any special tags inside the data to work. These are all the basic attacks,
<span title="210">jumping</span>,
<span title="213/214">dashing</span>,
<span title="100/108">flipping</span>,
<span title="110">defending</span> and
<span title="102">rolling</span>.
Original data will never contain any tags leading to these frames and yet they work when you push the respective buttons, which means these inputs work in a very different way.
And you will find out just how different if you do include hit_tags for these buttons in the basic frames.
However not to the original frames of course, otherwise you wouldn't notice any difference.</p>
<p>The easiest one to test this is the jump action in frame 210. Add a hit_j: 55 in all standing and walking frames:</p>
<img src="http://y2f.heliohost.org/templateJAtest.gif" alt="Template experiment" style="float:right">
The character will now start drinking when you press the jump key. It seems as if the basic connection to frame 210 is being overridden, but if you press jump and attack at the same time you will still go to frame 210. And this is already all there is to it. The conclusion to this experiment is: the starting frame for the simultaneous input of jump and attack during a frame in <span title="standing or walking">state 0 or 1</span> is always frame 210. Now you may of course not want to have a character that drinks air whenever you press jump and can only jump by pressing jump and attack at the same time. To clean this up I like to simply give the original jump frame the number 209 and make the jump button inside the standing and walking frames lead there. Now the character can jump normally and has a new action on frame 210:
To make sure the character won't be able to jump right after picking a heavy weapon now you will also need to change the next in frame 117 to 14.
As you have noticed this technique requires you to start the original action meant for the single key on a different frame. In this case this is not a problem. Unfortunately most other basic actions have special properties concerning their first frame. The attack button for example can lead to many different frames:
The <span title="213/214">dash frames</span> have a launch speed set in the header of the character and the character is able to switch between them by turning. The <span title="110">defense frame</span> allows the character to turn and goes to frame 111 when hit from the front.
You will loose all of these features by simply adding a hit_tag to your basic frames. The random/conditional first frame feature of the attack button can be retained most of the time by adding the relocating hit_tag into the first frame rather than the basic frames. But the actions that have special features attached right to the first frame cannot be relocated without loss. This only leaves the <span title="102">rolling frame</span> and the <span title="100/108">flip frames</span> to work without complications. The latter ones may not be that interesting unless your character has a move that allows him to trip and fall on purpose, but the rolling frame can give you a flawless simultaneous input of defend and attack during a frame in <span title="running">state 2</span>.</p>
The summary below will show you how to implement all kinds of double key inputs.
<h2 id="Summary">Summary</h2>
<a href="#JA">JA</a>
<a href="#>>DA">>>DA</a>
<a href="#>>JA">>>JA</a>
<a href="#J+DA/JA">J+DA/JA</a>
<a href="#DA">DA</a>
The following double key inputs are all the ones that I think are useful or have the potential to be. I have underlined all the important things in the code samples. If a number is underlined you need to use the exact same value in your code. If a tag is underlined you may use any value you like, but it needs to match up the same way it does in the example. Also if the code includes a standing, walking or running frame you will need to modify all standing, walking or running frames the same way.
<h3 id="JA">JA: Jump & Attack</h3>
This is my most favourite one as it's the only one working right from the standing frames without complications. I like using it for direct access to the super punch or putting a minor special move on it.
<h3 id=">>DA">>>DA: Run + Defend & Attack</h3>
This input is very useful to give your character either an alternate run attack or a different dodge action.
<h3 id=">>JA">>>JA: Run + Jump & Attack</h3>
This one is very useful for an alternate dash attack. Many good players already use this input all the time to perform their dash attacks as quick as possible. Why not also reward them with a different action.
<h3 id="J+DA/JA">J+DA/JA: Jump + Defend & Attack or Jump & Attack</h3>
This one works like a charm, but in game is a little too awkward to use and on top of that a little irritating as it allows two different inputs for the same result. For these reasons I would not use it myself.
<h3 id="DA">DA: Defend & Attack</h3>
If you can live with an unturnable defense and have something very special in mind for the DA action itself you can try to use this. Otherwise I would suggest you to not use it, because the drawbacks aren't worth this new input in my opinion.
mirrored from http://y2f.heliohost.org/index.php?curre...nputs.html
<img src="http://y2f.heliohost.org/davisFa.gif" alt="Davis: hit_Fa:" style="float:right">
<p>The LF2 script engine provides us <span title="hit_d: hit_j: hit_a:">3 simultaneous single</span> and <span title="hit_Ua: hit_Fa: hit_Da: hit_Uj: hit_Fj: hit_Dj: hit_ja:">7 simultaneous triple</span> key inputs.
The triple ones can be pushed in sequence too, but it's the simultaneous feature that's of interests now.
If you don't know about these you better go to <span title="Little Fighter Empire">LFE</span> and
<a href="http://www.lf-empire.de/en/lf2-empire/data-changing/types/167-type-0-characters">revise your basics</a> instead of reading this.<br>
I have found a way to fill the gap and achieve simultaneous double key inputs. Of course they don't work with a simple tag as the others do and instead use an exploit. I will now explain how it works. If you are not interested in the details you can skip right to the <a href="#Summary">Summary</a> to see a list of all the usable double key inputs I have found and how to implement them. However there may be more you can only find on your own if you understand how this works.</p>
<h2 id="Theory">Theory</h2>
<p>There are several basic character actions that don't require any special tags inside the data to work. These are all the basic attacks,
<span title="210">jumping</span>,
<span title="213/214">dashing</span>,
<span title="100/108">flipping</span>,
<span title="110">defending</span> and
<span title="102">rolling</span>.
Original data will never contain any tags leading to these frames and yet they work when you push the respective buttons, which means these inputs work in a very different way.
And you will find out just how different if you do include hit_tags for these buttons in the basic frames.
However not to the original frames of course, otherwise you wouldn't notice any difference.</p>
<p>The easiest one to test this is the jump action in frame 210. Add a hit_j: 55 in all standing and walking frames:</p>
|
DC-Code:
<frame> 0 standing pic: 0 state: 0 wait: 3 next: 1 hit_j: 55 ... <frame> 5 walking pic: 4 state: 1 wait: 3 next: 999 hit_j: 55 ... |
<img src="http://y2f.heliohost.org/templateJAtest.gif" alt="Template experiment" style="float:right">
The character will now start drinking when you press the jump key. It seems as if the basic connection to frame 210 is being overridden, but if you press jump and attack at the same time you will still go to frame 210. And this is already all there is to it. The conclusion to this experiment is: the starting frame for the simultaneous input of jump and attack during a frame in <span title="standing or walking">state 0 or 1</span> is always frame 210. Now you may of course not want to have a character that drinks air whenever you press jump and can only jump by pressing jump and attack at the same time. To clean this up I like to simply give the original jump frame the number 209 and make the jump button inside the standing and walking frames lead there. Now the character can jump normally and has a new action on frame 210:
|
DC-Code:
<frame> 0 standing pic: 0 state: 0 wait: 3 next: 1 hit_j: 209 ... <frame> 5 walking pic: 4 state: 1 wait: 3 next: 999 hit_j: 209 ... <frame> 209 jump pic: 60 state: 4 wait: 1 next: 211 ... <frame> 210 JA_action ... |
To make sure the character won't be able to jump right after picking a heavy weapon now you will also need to change the next in frame 117 to 14.
As you have noticed this technique requires you to start the original action meant for the single key on a different frame. In this case this is not a problem. Unfortunately most other basic actions have special properties concerning their first frame. The attack button for example can lead to many different frames:
- it randomly chooses between frame 60 and 65 for punching
- it goes to frame 70 for a super punch
- it goes to weapon attack frames depending on the held object
The <span title="213/214">dash frames</span> have a launch speed set in the header of the character and the character is able to switch between them by turning. The <span title="110">defense frame</span> allows the character to turn and goes to frame 111 when hit from the front.
You will loose all of these features by simply adding a hit_tag to your basic frames. The random/conditional first frame feature of the attack button can be retained most of the time by adding the relocating hit_tag into the first frame rather than the basic frames. But the actions that have special features attached right to the first frame cannot be relocated without loss. This only leaves the <span title="102">rolling frame</span> and the <span title="100/108">flip frames</span> to work without complications. The latter ones may not be that interesting unless your character has a move that allows him to trip and fall on purpose, but the rolling frame can give you a flawless simultaneous input of defend and attack during a frame in <span title="running">state 2</span>.</p>
The summary below will show you how to implement all kinds of double key inputs.
<h2 id="Summary">Summary</h2>
<a href="#JA">JA</a>
<a href="#>>DA">>>DA</a>
<a href="#>>JA">>>JA</a>
<a href="#J+DA/JA">J+DA/JA</a>
<a href="#DA">DA</a>
The following double key inputs are all the ones that I think are useful or have the potential to be. I have underlined all the important things in the code samples. If a number is underlined you need to use the exact same value in your code. If a tag is underlined you may use any value you like, but it needs to match up the same way it does in the example. Also if the code includes a standing, walking or running frame you will need to modify all standing, walking or running frames the same way.
<h3 id="JA">JA: Jump & Attack</h3>
|
DC-Code:
<frame> 0 standing pic: 0 state: 0 wait: 3 next: 1 hit_j: 209 ... <frame> 5 walking pic: 4 state: 1 wait: 3 next: 999 hit_j: 209 ... <frame> 117 picking_heavy pic: 60 state: 15 wait: 2 next: 14 ... <frame> 209 jump pic: 60 state: 4 wait: 1 next: 211 ... <frame> 210 JA_action ... |
- make a copy of frame 210 with an unused frame number (eg.: 209)
- connect standing and walking frames to it with hit_j:
- start your JA action in frame 210
- change next in frame 117 to 14
This is my most favourite one as it's the only one working right from the standing frames without complications. I like using it for direct access to the super punch or putting a minor special move on it.
<h3 id=">>DA">>>DA: Run + Defend & Attack</h3>
|
DC-Code:
<frame> 9 running pic: 20 state: 2 wait: 3 next: 0 hit_d: 99 ... <frame> 99 rowing pic: 58 state: 6 wait: 2 next: 103 ... <frame> 102 >>DA_action ... <frame> 215 crouch pic: 60 state: 15 wait: 2 next: 999 hit_d: 99 ... |
- make a copy of frame 102 with an unused frame number (eg.: 99)
- connect running frames and crouch frame 215 to it with hit_d:
- start your >>DA action in frame 102
This input is very useful to give your character either an alternate run attack or a different dodge action.
<h3 id=">>JA">>>JA: Run + Jump & Attack</h3>
|
DC-Code:
<frame> 89 dash_attack pic: 106 state: 15 wait: 3 next: 91 ... <frame> 90 dash pic: 63 state: 15 wait: 1 next: 96 hit_a: 89 ... <frame> 96 >>JA_action ... |
- make a copy of frame 90 with an unused frame number (eg.: 89)
- make a copy of frame 213 over frame 90
- change the wait to 1 and the state to 15
- connect it to the frame 90 copy with hit_a:
- connect it to your >>JA action with next:
This one is very useful for an alternate dash attack. Many good players already use this input all the time to perform their dash attacks as quick as possible. Why not also reward them with a different action.
<h3 id="J+DA/JA">J+DA/JA: Jump + Defend & Attack or Jump & Attack</h3>
|
DC-Code:
<frame> 79 jump_attack pic: 14 state: 3 wait: 2 next: 81 ... <frame> 80 jump pic: 62 state: 15 wait: 1 next: 82 hit_a: 79 ... <frame> 82 DA/JA_action ... |
- make a copy of frame 80 with an unused frame number (eg.: 79)
- make a copy of frame 212 over frame 80
- change the wait to 1 and the state to 15
- connect it to the frame 80 copy with hit_a:
- connect it to your new action with next:
This one works like a charm, but in game is a little too awkward to use and on top of that a little irritating as it allows two different inputs for the same result. For these reasons I would not use it myself.
<h3 id="DA">DA: Defend & Attack</h3>
|
DC-Code:
<frame> 107 DA_action ... <frame> 110 standing pic: 0 state: 15 wait: 1 next: 107 hit_d: 118 ... <frame> 118 defend pic: 56 state: 7 wait: 12 next: 999 ... |
- make a copy of frame 110 with an unused frame number (eg.: 118)
- make a copy of frame 0 over frame 110
- change the wait to 1 and the state to 15
- connect it to the frame 110 copy with hit_d:
- connect it to your DA action with next:
If you can live with an unturnable defense and have something very special in mind for the DA action itself you can try to use this. Otherwise I would suggest you to not use it, because the drawbacks aren't worth this new input in my opinion.
Silverthorn / Blue Phoenix
~ Breaking LFE since 2008 ~
"Freeze, you're under vrest!" - Mark, probably.
» Gallery | » Sprites | » DeviantArt
~ Breaking LFE since 2008 ~
"Freeze, you're under vrest!" - Mark, probably.
» Gallery | » Sprites | » DeviantArt

Chat
