Hop back with simple command??

NED

Well-known member
I would like to add some hop back move.
This feature exist on Final fight 3 (AFAIK)
I could be useful to give some defensive option in gameplay and make it more fast and fun.

Basically the move imput is B B, it send to a freespecial state with the hopback itself.
I know once a move use B on it start, the next imputs have to be inverted horizontally. so I used B F, the move is done, but the character turn around and do the hop back, back turned to enemy... Is there a way to avoid it and have a correct result.

I don't want to use complicated command, this is to use for very fast reation in gamplay. Thanks.

this is the imput
Code:
com B F freespecial7

this is the anim
Code:
anim freespecial7# HOP BACK!!!
        jumpframe 1 2.3 -4 0.8
	landframe	6
	subentity	dus
	summonframe	6 0
	loop	0
	offset	96 177
	bbox	75 95 45 89
	delay	4
	frame	data/chars/rachel/j01.gif
	bbox	76 65 40 78
	delay	6
	frame	data/chars/rachel/j02.gif
	delay	5
	frame	data/chars/rachel/j03.gif
	delay	9
	frame	data/chars/rachel/j04.gif
	delay	5
	frame	data/chars/rachel/j05.gif
	delay	-1000#5
	frame	data/chars/rachel/j06.gif
	delay	7
	sound	data/sounds/land.wav
	frame	data/chars/rachel/j01.gif
 
For a fast back dash I personally don't like command sequences at all. I prefer something like Down + Jump (OpenBOR already has an animation called Slide mapped to this command you can use) or Down + Special (since Special is block in my projects, it makes sense to me it would be mapped to other defensive commands).

DC

 
if you use block button maybe is a good set up it on this as a cancel too

spiderman in my game will have this move while blocking, if you tap back twice while holding block
the block is canceled and he do the move
 
command sequences makes much more sense for moves like a back dash, because tons of games already use back back as back dash. But this is true on games that you don't have a auto turn when you walk backward, because it would cancel the move.

Even the command down+jump doesn't making much sense for a BACK hop, I think you should use it. Or maybe back+jump, but it could bring you some trouble.
 
Try the "Flipframe" command.

flipframe {frame}

~Used to make character turn around when frame+1 is played.
~Management is not responsible for any damage caused of using this command in improper animation such as WALK.

... Then give "Jumpframe" a positive value like:
jumpframe 1 2.3 4 0.8
and you should be good to go. Let me know how it comes out brother. ;)
 
i use this on all my new projects. but  i map it to a single button press "A3"
which i rename to "evade". this is the best method for keeping the action fast, no clumsy button combination. you have six action buttons, use them wisely. "A2" is my block button.
 
magggas said:
No need to create new,just add it there,in the existing animation script file you are using with the slam functions  ;)

Nevermind, I have to learn how to read...
animationscript data/scripts/slam.c

It worked perfectly!!
Thanks a lot.

A little error is that at the start of the move (between 1st imput ant last imput) you can see my characters turning around for some frames.
But we can't do anything about it. :P

vision said:
i use this on all my new projects. but  i map it to a single button press "A3"
which i rename to "evade". this is the best method for keeping the action fast, no clumsy button combination. you have six action buttons, use them wisely. "A2" is my block button.

It would have bben the perfect option for a beat em up like Openbor, but I already used all the single button imput.
light attack, hard attack, jump, block, stomp, back attack.
 
Still a little problem.
The move tends to appear by error sometimes, just when I turn back then walk.
The problem is the imput command possibility is far too large.

Is there a way to make this move possible just if you do the imput really fast.
There is such a feature in mugen. How to do it in Openbor?
 
magggas said:
I had the same problem but sometimes with the D-B+A moves while used Flipframe" command.So utunnels did an animation script for this and i think this will work very well in your case too.

How to do:

1.Copy and paste this function to your animation script

Code:
void conditionalflip()
{
	void self = getlocalvar("self");
	int p = getentityproperty(self, "playerindex");
	int dir = getglobalvar("p"+p+"lastdir");
	int sdir = getentityproperty(self, "direction");
	int flip;
	if(dir!=NULL() && dir!=sdir)
	{
		flip = 0;
	}
	else
	{
		flip = 1;
	}

	if(flip) {
		changeentityproperty(self, "direction", !sdir);
	}

}

2.Just call this script to your animation like this:
anim freespecial20
      loop 0
delay 11
      offset 70 170
      @cmd conditionalflip
      frame data/chars/mpower/bl3.gif
      frame data/chars/mpower/grab10.gif
      ...
     

If you are set with this then thank utunnels not me  ;D

http://www.chronocrash.com/forum/index.php?topic=369.msg2789#msg2789

You need a keyall.c to record previous directional button.

Code:
void main() {
	int p = getlocalvar("player");

	if(playerkeys(p, 1, "moveleft"))
	{
		setglobalvar("p"+p+"lastdir", 0);
	}
	else if(playerkeys(p, 1, "moveright"))
	{
		setglobalvar("p"+p+"lastdir", 1);
	}
}

 
Thanks Utunnels,
This script don't have to be declared, right?
I just put it on script folder, but it don't seems to change anything.

Do I have to tweak some values in the script itself.

I want "run" possible even if F F is pushed a little slower.
But B F to do hop back have to be done really fast.

Is it still possible with this script?
 
It has to be in the scripts folder. The conditionalflip function is used to fix backward button freespecial (for example, d b a, f b a). 

Usually, your character turns back before the final action button so modder needs to put a flipframe or use turndelay setting to correct the problem. But there are some situations in which your character doesn't flip, for example, rise, attack and pain.



In your case, maybe you can consider a turndelay command and use b b.
 
Thanks again, but it became more and more complicated.
Changing the turnaround time will cause problems in gameplay in the future and I'm surcharging my game for a basic feature.

I changed the imput to:
Code:
com B S freespecial7

S for guard button.
The gameply feel very logic and smooth this way.
No need to change it. and it don't create parasite "fake" imputs.
 
Back
Top Bottom