PDA

View Full Version : [Request] Dead or Alive 5 Combos



Suppaii
10th August 18, 17:04
Hello does anyone have any doa 5 scripts for combos?
Post it here :)

Suppaii
25th August 18, 12:02
Anyone please?

Suppaii
16th December 18, 02:35
bump!

justframe
19th December 18, 06:59
I just discovered that you can get a free version of the game on steam with a couple of the characters unlocked. Since I want to script for DOA6 but have never played a DOA game before I might do 1 or 2 scripts soon to familiarize myself with the series.

KS212
22nd December 18, 12:31
I just discovered that you can get a free version of the game on steam with a couple of the characters unlocked. Since I want to script for DOA6 but have never played a DOA game before I might do 1 or 2 scripts soon to familiarize myself with the series.

The general idea of the game is quite simple but to be completely honest it makes scripting an actual nightmare. This is the one game where using a 'pre set' combo gets you absolutely murdered due to the counter system so its not a really good idea at all.

Combos tho go like this: start with any opener that causes a decent amt of stagger, then just keep adding hits (grounded hits) until you see the text on the opponent's side of the screen flash red. When that happens, use your character's Critical Stun move (marked as CS in the movelist). This will cause MASSIVE stagger. HERE is where you do one of two things: Either 1) Power Blow, the flashy super move thing you can do at half life only once or 2) launcher, into juggle into ender.

Thassit. The combos are extremely freeform for the first half before the Critical Stun... the reason is as mentioned above: the Counter system. Its simply not worth AT ALL to script the first part IMO... just LEARN your character's [CS] move, and script the latter half coz at least when a character has been put into Critical Stun there is no way to Counter you.

justframe
9th January 19, 22:49
Alright, here's a script I made for Kasumi. Combos in this game ARE a little crazy to script for because of the hold system, weight classes, and stun levels that effect launch height. The free version of the game only has light and middleweight characters so I don't know if these combos will work on other weight classes. You can switch sides with L3 and R3.

// Script was generated with < Script Manipulator > ver. 13.6 Date :01/09/19 Time: 6:25:08 PM
//------------------------------------------------------------------------

define BTN1 = 17; // TRIANGLE, Y
define BTN2 = 18; // CIRCLE, B
define BTN3 = 19; // CROSS, A
define BTN4 = 20; // SQUARE, X
define BTN5 = 3; // R1, RB
define BTN6 = 4; // R2, RT
define BTN7 = 6; // L1, LB
define BTN8 = 7; // L2, LT
define TOUCH = 27; // TOUCH PAD
define UP = 13; // DPAD UP
define DOWN = 14; // DPAD DOWN
define LEFT = 15; // DPAD LEFT
define RIGHT = 16; // DPAD RIGHT
define MOVE_X = 11; // LEFT ANALOG X
define MOVE_Y = 12; // LEFT ANALOG Y
//-----------------------------------------------------
define BACK = 128; // BACK FLAG
define FORWARD = 129; // FORWARD FLAG


// End Flags. 254 and 255 should never be used in the
// data segment for other purposes.
//-----------------------------------------------------
define EOC = 254; // End of Combo
define EOD = 255; // End of Data Segment
//-----------------------------------------------------


define KasumiGetsurin = 0;
define KasumiGetsurin2 = 1;
define KasumiQCFP = 2;
define KasumiCB = 3;
data(
KasumiGetsurin,
1,BTN2,
4,
0,20,
1,BTN2,
4,
0,20,
3,UP,
BACK,
BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,20,
3,UP,
FORWARD,
BTN1,
4,
0,10,
1,BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,20,
1,BTN2,
4,
0,10,
1,BTN2,
4,
0,100,
EOC,
KasumiGetsurin2,
3,UP,
BACK,
BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,10,
3,UP,
FORWARD,
BTN1,
4,
0,15,
1,BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,20,
1,BTN2,
4,
0,10,
1,BTN2,
4,
0,100,
EOC,
KasumiQCFP,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,80,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,20,
1,BTN2,
4,
0,20,
3,UP,
BACK,
BTN2,
4,
0,45,
2,BTN1,
BTN2,
4,
0,100,
EOC,
KasumiCB,
3,FORWARD,
BTN1,
BTN2,
4,
0,50,
1,UP,
62,
0,4,
3,BACK,
BTN2,
BTN4,
8,
0,5,
0,1,
1,FORWARD,
37,
0,34,
1,BTN2,
4,
0,20,
1,BTN2,
4,
0,20,
3,UP,
BACK,
BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,20,
3,UP,
FORWARD,
BTN1,
4,
0,10,
1,BTN2,
4,
0,40,
3,FORWARD,
BTN1,
BTN2,
4,
0,20,
1,BTN2,
4,
0,10,
1,BTN2,
4,
0,100,
EOC,
EOD );
int i = -1, b, v;
int back = LEFT, forward = RIGHT;
int button_1, button_2, button_3, button_4, button_5;
int wait_time;
int switch;
int delay_t;
int RUMBLE_TYPE=RUMBLE_A;
int cancel;
int EndOfCombo;
int CanStart;

main {



// Determine Back and Forward
if(get_val(PS4_L3)) {
back = LEFT; forward = RIGHT;
} else if(get_val(PS4_R3)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------



// If there is a combo to be executed
if(i >= 0 && delay_t<=0) {
// Execute the combo step-by-step
if(!combo_running(execute_step)) {
if(get_step_values()) {
if(wait_time == 0) {
combo_run(execute_step_no_wait);
} else {
combo_run(execute_step);
}
} else { // the combo finished
i = -1;
}
}

if(cancel==1){
if ( (abs(get_val (9)) <= 20 && abs(get_val (10)) <= 20) && (abs(get_val (11)) <= 20 && abs(get_val (12)) <= 20) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==2){
if (!get_val(PS4_L1) && !get_val(PS4_L2) && !get_val(PS4_R1) && !get_val(PS4_R2) ) {
i = -1;
combo_stop(execute_step);
}
}
// Make sure the user inputs does not interfere in the combo
set_val(BTN1 , 0);
set_val(BTN2 , 0);
set_val(BTN3 , 0);
set_val(BTN4 , 0);
set_val(BTN5 , 0);
set_val(BTN6 , 0);
set_val(BTN7 , 0);
set_val(BTN8 , 0);
set_val(UP , 0);
set_val(DOWN , 0);
set_val(LEFT , 0);
set_val(RIGHT , 0);
set_val(MOVE_X , 0);
set_val(MOVE_Y , 0);

// if no combo execute - look for combo activation
} else {
// EDIT THIS PART OF SCRIPT for combo run ---------------------------
//////////////////////////////////////////////////////////////////////////
// Right Stick RIGHT
if (get_val (9) >= 80) { //combo QCFP
cancel=1;
i = get_combo_index(KasumiQCFP);
}
// Right Stick LEFT
if (get_val (9) <= -80) { //combo Gesturin
cancel=1;
i = get_combo_index(KasumiGetsurin);
}
// Right Stick UP
if (get_val (10) <= -80) { //combo Getsurin 2
cancel=1;
i = get_combo_index(KasumiGetsurin2);
}
// Right Stick DOWN
if (get_val (10) >= 80) { //combo CB
cancel=1;
i = get_combo_index(KasumiCB);
}
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
}//<main> block end

// This combo will run a step with wait
combo execute_step {
set_buttons_values();
wait(wait_time);
set_buttons_values();
}

// This combo will run a step without wait
combo execute_step_no_wait {
set_buttons_values();
}


combo RUMBLE_NOTIFICATION {
set_rumble(RUMBLE_TYPE, 100);
wait(300);
reset_rumble ();
}

// Returns the starting index of a combo
function get_combo_index(combo_id) {
i = 0;
while(TRUE) {//-----------------------
v = dbyte(i);
if(v == combo_id) {
return(i + 1);
} else {//====================
while(v != EOC && v != EOD) {//#
i = i + 1;
v = dbyte(i);
}//#
if(v == EOD) break;
else i = i + 1;
}//=============================
}//-----------------------------------
return(-1);
}

// Set the buttons, values and wait time of a step
function get_step_values() {
b = dbyte(i); i = i + 1;
if(b > 5) return(FALSE);

if(b >= 1) {
button_1 = convert_back_forward(dbyte(i)); i = i + 1;
} else { button_1 = -1; }

if(b >= 2) {
button_2 = convert_back_forward(dbyte(i)); i = i + 1;
} else { button_2 = -1; }

if(b >= 3) {
button_3 = convert_back_forward(dbyte(i)); i = i + 1;
} else { button_3 = -1; }

if(b >= 4) {
button_4 = convert_back_forward(dbyte(i)); i = i + 1;
} else { button_4 = -1; }

if(b >= 5) {
button_5 = convert_back_forward(dbyte(i)); i = i + 1;
} else { button_5 = -1; }

wait_time = dbyte(i); i = i + 1;
wait_time = (wait_time - 1) * 10;
if(wait_time < 0) wait_time = 0;

return(TRUE);
}

// If the step has FORWARD and BACK buttons, set the correct value.
function convert_back_forward(button) {
if(button == FORWARD) {
return(forward);
} else if(button == BACK) {
return(back);
}
return(button);
}

// Set the buttons and values, function used on the combos.
function set_buttons_values() {
if(button_1 != -1) set_val(button_1, 100);
if(button_2 != -1) set_val(button_2, 100);
if(button_3 != -1) set_val(button_3, 100);
if(button_4 != -1) set_val(button_4, 100);
if(button_5 != -1) set_val(button_5, 100);
}


RS right: QCF+P launcher. High P. Works on stun level 2 and up.
RS left: KK b+K launcher. High K. Works on stun level 1 and below (i.e can be used as a stand alone combo or at critical stun lvl 1)
RS up: b+K launcher. Mid K. Works on stun level 1 and up.
RS down: f+PK launcher. Critical Stun move. Mid P. Works when in critical stun range (for best results use at critical stun lvl 3).

KS212
10th January 19, 03:54
Tried it vs a friend who's decent at playing... after 3 games I started getting destroyed the moment I went for anything scripted as expected due to the way this game works and its Hold/Counter system (you can counter even while getting hit). As expected this is probably the one game where scripted combos are pretty much worthless as an OPENER. All its going to do for you is pretty much telegraph a specific height attack and scream 'I'm going for it! Counter me!' :P

That being said these scripts are great for using AFTER you have achieved Critical Stun. Just gotta tweak the input timing slightly as a launcher gives double the air time after CS.