PDA

View Full Version : Dead or Alive 5: Last Round | Hayabusa | 3 Combos 1 Throw



Mikehell
5th April 16, 00:51
Hi everyone, this is my first attemp at combo making so not be rude.

The combos activated with the Right Stick

Up: Izuna Throw
Right : 8 hits combo that end with a throw, seems to work only on light characters
Down: 10 hits Combo
Left: A combo that works with the 50% of less vitality, be careful, take almost 2 seconds to charge.

I tested on PS4 and Xbox One versions, dont really know if they work on PC or the Xbox 360 and PS3 versions.
Thanks everyone for the advice and i hope this not the last, if you see something that can be improved, please let me know.


//-----------------------------------------------------

int Right;
int Left;


main {

if(get_val(11) >20 || get_val(16)){Right = 16; Left = 15;}
if(get_val(11) <-20 || get_val(15)){Right = 15; Left = 16;}


// hold to the Right
if (get_val (PS4_RX) >= 60) {
combo_run(CRight)
}
// hold to the Left
if (get_val (PS4_RX) <= -60) {
combo_run (CLeft)
}
// hold Right to the Up
if (get_val (PS4_RY) <= -60) {
combo_run(CUp)
}
// hold to the Down
if (get_val (PS4_RY) >= 60) {
combo_run(CDown)
}

if ( abs(get_val (PS4_RX))<= 20 && abs(get_val (PS4_RY)) <= 20) {
combo_stop (CUp);
combo_stop (CDown);
combo_stop (CRight);
combo_stop (CLeft);

}
}


combo CRight {
set_val(XB1_UP, 100);
wait(40);
set_val(XB1_UP, 100);
set_val(XB1_Y, 100);
wait(150);
set_val(XB1_UP, 0);
set_val(XB1_Y, 0);
wait(530);
set_val(XB1_DOWN, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(XB1_B, 100);
wait(160);
set_val(XB1_DOWN, 100);
set_val(XB1_B, 0);
wait(40);
set_val(XB1_DOWN, 0);
wait(380);
set_val(XB1_DOWN, 100);
wait(10);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(210);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
set_val(XB1_Y, 0);
wait(600);
set_val(Right, 100);
set_val(XB1_B, 100);
wait(25);
set_val(XB1_Y, 100);
wait(1000);
set_val(Left, 100);
wait(50);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(50);
set_val(XB1_DOWN, 100);
set_val(Left, 0);
wait(50);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(50);
set_val(XB1_DOWN, 0);
set_val(Right, 100);
wait(50);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(50);
set_val(Right, 0);
set_val(XB1_A, 100);
wait(50);
set_val(XB1_A, 0);
wait(1000);
}


combo CLeft {
set_val(Left, 100);
wait(90);
set_val(Left, 0);
wait(70);
set_val(Left, 100);
wait(30);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(10);
set_val(Left, 100);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(60);
set_val(Left, 0);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(1350);
set_val(XB1_Y, 0);
set_val(XB1_B, 100);
wait(20);
set_val(XB1_B, 0);
wait(250);
set_val(Left, 100);
wait(10);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(140);
set_val(Left, 0);
set_val(XB1_B, 100);
wait(20);
set_val(XB1_B, 0);
wait(300);
set_val(XB1_B, 100);
wait(170);
set_val(XB1_B, 0);
wait(590);
set_val(Right, 100);
wait(40);
set_val(Right, 100);
set_val(XB1_B, 100);
wait(160);
set_val(Right, 0);
set_val(XB1_B, 100);
wait(30);
set_val(XB1_B, 0);
wait(300);
set_val(Left, 100);
wait(120);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(40);
set_val(XB1_DOWN, 100);
set_val(Left, 0);
wait(60);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(10);
set_val(XB1_DOWN, 0);
set_val(Right, 100);
wait(70);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(30);
set_val(Right, 0);
set_val(XB1_A, 100);
wait(100);
set_val(XB1_A, 0);
wait(3000);
}


combo CUp {
set_val(Left, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Left, 0);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_DOWN, 0);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(20);
set_val(Right, 0);
set_val(XB1_A, 100);
wait(110);
set_val(XB1_A, 0);
wait(800);
set_val(XB1_DOWN, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_DOWN, 0);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 0);
wait(20);
set_val(XB1_UP, 100);
set_val(XB1_A, 100);
wait(10);
set_val(XB1_UP, 0);
set_val(XB1_A, 100);
wait(90);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(10);
set_val(XB1_DOWN, 100);
set_val(Left, 0);
wait(60);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_DOWN, 0);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(80);
set_val(XB1_UP, 100);
set_val(Right, 0);
set_val(XB1_A, 100);
wait(80);
set_val(XB1_UP, 100);
set_val(XB1_A, 0);
wait(10);
set_val(XB1_UP, 0);
}


combo CDown {
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(130);
set_val(XB1_DOWN, 100);
set_val(Right, 0);
wait(10);
set_val(XB1_DOWN, 0);
wait(100);
set_val(XB1_DOWN, 100);
wait(10);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(30);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(130);
set_val(XB1_DOWN, 100);
set_val(Right, 0);
set_val(XB1_Y, 100);
wait(20);
set_val(XB1_DOWN, 0);
set_val(XB1_Y, 100);
wait(20);
set_val(XB1_Y, 0);
wait(150);
set_val(Left, 100);
wait(170);
set_val(Left, 0);
wait(400);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(160);
set_val(Right, 0);
set_val(XB1_Y, 100);
wait(30);
set_val(XB1_Y, 0);
wait(400);
set_val(Left, 100);
wait(20);
set_val(XB1_RT, 100);
set_val(Left, 100);
wait(140);
set_val(XB1_RT, 100);
set_val(Left, 0);
wait(40);
set_val(XB1_RT, 0);
wait(600);
set_val(XB1_B, 100);
wait(10);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(210);
set_val(XB1_Y, 0);
set_val(XB1_B, 100);
wait(20);
set_val(XB1_B, 0);
wait(190);
set_val(Left, 100);
wait(190);
set_val(Left, 0);
wait(400);
set_val(XB1_B, 100);
wait(180);
set_val(XB1_B, 0);
wait(500);
set_val(XB1_Y, 100);
wait(50);
set_val(XB1_Y, 0);
wait(50);
set_val(XB1_Y, 100);
wait(50);
set_val(XB1_Y, 0);
wait(50);
set_val(Left, 100);
wait(50);
set_val(Left, 100);
set_val(XB1_Y, 100);
wait(50);
set_val(Left, 100);
set_val(XB1_Y, 0);
wait(50);
set_val(Left, 0);
wait(300);
set_val(XB1_UP, 0);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(30);
set_val(Left, 100);
set_val(XB1_B, 0);
wait(10);
set_val(Left, 0);
wait(3000);
}

Excalibur
5th April 16, 05:40
You can remove all lines where you zeros the output and can add block for inputs if the combos are running.



//Posted by Mikehell, a member of the community in the CronusMAX Forums - http://www.cronusmax.com/forums

//Posted : Tuesday 5th of April, 2016 5:45 UTC


//-----------------------------------------------------

int Right;
int Left;


main {

if(get_val(11) >20 || get_val(16)){Right = 16; Left = 15;}
if(get_val(11) <-20 || get_val(15)){Right = 15; Left = 16;}


// hold to the Right
if (get_val (PS4_RX) >= 60) {
combo_run(CRight)
}
// hold to the Left
if (get_val (PS4_RX) <= -60) {
combo_run (CLeft)
}
// hold Right to the Up
if (get_val (PS4_RY) <= -60) {
combo_run(CUp)
}
// hold to the Down
if (get_val (PS4_RY) >= 60) {
combo_run(CDown)
}

if ( abs(get_val (PS4_RX))<= 20 && abs(get_val (PS4_RY)) <= 20) {
combo_stop (CUp);
combo_stop (CDown);
combo_stop (CRight);
combo_stop (CLeft);

}

if(combo_running(CUp) || combo_running(CDown) || combo_running(CRight) || combo_running(CLeft)){
set_val(3,0);
set_val(4,0);
set_val(5,0);
set_val(6,0);
set_val(7,0);
set_val(8,0);
set_val(17,0);
set_val(18,0);
set_val(19,0);
set_val(20,0);

}
}


combo CRight {
set_val(XB1_UP, 100);
wait(40);
set_val(XB1_UP, 100);
set_val(XB1_Y, 100);
wait(150);
wait(530);
set_val(XB1_DOWN, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(XB1_B, 100);
wait(160);
set_val(XB1_DOWN, 100);
wait(40);
wait(380);
set_val(XB1_DOWN, 100);
wait(10);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(210);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(600);
set_val(Right, 100);
set_val(XB1_B, 100);
wait(25);
set_val(XB1_Y, 100);
wait(1000);
set_val(Left, 100);
wait(50);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(50);
set_val(XB1_DOWN, 100);
wait(50);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(50);
set_val(Right, 100);
wait(50);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(50);
set_val(XB1_A, 100);
wait(50);
wait(1000);
}


combo CLeft {
set_val(Left, 100);
wait(90);
wait(70);
set_val(Left, 100);
wait(30);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(10);
set_val(Left, 100);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(60);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(1350);
set_val(XB1_B, 100);
wait(20);
wait(250);
set_val(Left, 100);
wait(10);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(140);
set_val(XB1_B, 100);
wait(20);
wait(300);
set_val(XB1_B, 100);
wait(170);
wait(590);
set_val(Right, 100);
wait(40);
set_val(Right, 100);
set_val(XB1_B, 100);
wait(160);
set_val(XB1_B, 100);
wait(30);
wait(300);
set_val(Left, 100);
wait(120);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(40);
set_val(XB1_DOWN, 100);
wait(60);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(10);
set_val(Right, 100);
wait(70);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(30);
set_val(XB1_A, 100);
wait(100);
wait(3000);
}


combo CUp {
set_val(Left, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(20);
set_val(XB1_DOWN, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(20);
set_val(XB1_A, 100);
wait(110);
wait(800);
set_val(XB1_DOWN, 100);
wait(20);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 0);
wait(20);
set_val(XB1_UP, 100);
set_val(XB1_A, 100);
wait(10);
set_val(XB1_A, 100);
wait(90);
set_val(XB1_DOWN, 100);
set_val(Left, 100);
wait(10);
set_val(XB1_DOWN, 100);
wait(60);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
wait(20);
set_val(XB1_UP, 100);
set_val(Right, 100);
set_val(XB1_A, 100);
wait(80);
set_val(XB1_UP, 100);
set_val(XB1_A, 100);
wait(80);
set_val(XB1_UP, 100);
wait(10);
}


combo CDown {
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(130);
set_val(XB1_DOWN, 100);
wait(10);
wait(100);
set_val(XB1_DOWN, 100);
wait(10);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
wait(30);
set_val(XB1_DOWN, 100);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(130);
set_val(XB1_DOWN, 100);
set_val(XB1_Y, 100);
wait(20);
set_val(XB1_Y, 100);
wait(20);
wait(150);
set_val(Left, 100);
wait(170);
wait(400);
set_val(Right, 100);
wait(20);
set_val(Right, 100);
set_val(XB1_Y, 100);
wait(160);
set_val(XB1_Y, 100);
wait(30);
wait(400);
set_val(Left, 100);
wait(20);
set_val(XB1_RT, 100);
set_val(Left, 100);
wait(140);
set_val(XB1_RT, 100);
wait(40);
wait(600);
set_val(XB1_B, 100);
wait(10);
set_val(XB1_Y, 100);
set_val(XB1_B, 100);
wait(210);
set_val(XB1_B, 100);
wait(20);
wait(190);
set_val(Left, 100);
wait(190);
wait(400);
set_val(XB1_B, 100);
wait(180);
wait(500);
set_val(XB1_Y, 100);
wait(50);
wait(50);
set_val(XB1_Y, 100);
wait(50);
wait(50);
set_val(Left, 100);
wait(50);
set_val(Left, 100);
set_val(XB1_Y, 100);
wait(50);
set_val(Left, 100);
wait(50);
wait(300);
set_val(Left, 100);
set_val(XB1_B, 100);
wait(30);
set_val(Left, 100);
wait(10);
wait(3000);
}

Mikehell
5th April 16, 12:14
You can remove all lines where you zeros the output and can add block for inputs if the combos running.



Thanks, I will try it later today. When I compile the combo I remove these but sometimes the moves and timing fail, thats why Ileft them in the code.

Excalibur
5th April 16, 14:26
Thanks, I will try it later today. When I compile the combo I remove these but sometimes the moves and timing fail, thats why Ileft them in the code.


Hi,
you need to zeros the output only in case you held this button .

Mikehell
6th April 16, 12:22
It work smootly, thanks for the tip pal.

Excalibur
7th April 16, 06:10
It work smootly, thanks for the tip pal.


And if you reach the code limit size , then you can convert it to data segment so you can fit it below the limit.

Congratulations, Good work man !

Mikehell
7th April 16, 17:29
And if you reach the code limit size , then you can convert it to data segment so you can fit it below the limit.

Congratulations, Good work man !

How can I convert it to data segment?, where is the option? how big can be? 110%? more? less?

Thanks for all the patience and help.