PDA

View Full Version : SF5 URIEN 8 COMBOS



swa2776
2nd February 18, 06:46
4589



SF5 URIEN 8 COMBOS

RS ARE METERLESS
LS IS V TRIGGER & metered

use touchpad to switch sides





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 Combo1 = 0;
define Combo2 = 1;
define Combo3 = 2;
define Combo4 = 3;
define Combo5 = 4;
define Combo6 = 5;
define KBD = 6;
define KBDF = 7;
define SSFore = 8;
define SSBack = 9;
define Combo_10 =10;
data(
//COMBO DATA START


KBD,

1,FORWARD,
8,
0,50,
1,BTN5,
57,
1,DOWN,
5,
2,DOWN,
FORWARD,
5,
1,FORWARD,
1,
3,FORWARD,
BTN1,
BTN4,
11,
3,BACK,
BTN1,
BTN4,
107,
2,BACK,
BTN4,
1,
0,2,
1,FORWARD,
1,
2,FORWARD,
BTN3,
6,
1,BACK,
5,
1,BACK,
70,
2,BACK,
BTN4,
8,
1,BACK,
11,
2,BACK,
BTN1,
6,
1,BACK,
20,
0,3,
2,BTN6,
FORWARD,
12,
1,FORWARD,
200,
EOC,


KBDF,
1,FORWARD,
15,
0,36,
1,BTN5,
12,
0,55,
1,FORWARD,
7,
0,8,
1,FORWARD,
13,
0,6,
2,DOWN,
BACK,
8,
3,BTN5,
DOWN,
BACK,
9,
2,DOWN,
BACK,
50,
1,BACK,
3,
4,UP,
BTN2,
BTN3,
BACK,
18,
1,BACK,
1,
1,BACK,
80,
0,3,
1,FORWARD,
2,
3,FORWARD,
BTN2,
BTN3,
17,
2,BTN2,
BTN3,
3,
1,BTN2,
200,
EOC,


SSFore,
2,UP,
FORWARD,
23,
1,UP,
4,
0,26,
1,BTN6,
13,
0,34,
1,BTN6,
13,
0,20,
2,BTN5,
BTN6,
11,
1,BTN6,
2,
0,110,
1,FORWARD,
6,
0,5,
1,FORWARD,
7,
0,20,
1,BTN6,
74,
0,40,
1,DOWN,
9,
2,BTN5,
DOWN,
8,
1,DOWN,
9,
0,20,
1,DOWN,
3,
2,DOWN,
FORWARD,
4,
1,FORWARD,
1,
2,BTN5,
FORWARD,
8,
1,BACK,
1,
1,BACK,
80,
0,3,
2,BTN6,
FORWARD,
12,
1,FORWARD,
1,
0,30,
1,DOWN,
8,
2,DOWN,
FORWARD,
4,
1,FORWARD,
4,
1,DOWN,
6,
2,DOWN,
FORWARD,
3,
1,FORWARD,
4,
2,BTN5,
FORWARD,
6,
1,BTN5,
200,
EOC,


SSBack,


2,UP,
FORWARD,
19,
1,FORWARD,
4,
0,28,
1,BTN6,
15,
0,33,
1,BTN5,
11,
0,18,
1,BTN5,
1,
2,BTN5,
BTN6,
11,
0,120,
1,BTN1,
7,
0,50,
1,BTN5,
3,
0,70,
2,FORWARD,
BTN1,
8,
0,50,
1,DOWN,
10,
2,BTN5,
DOWN,
9,
1,DOWN,
24,
0,20,
1,DOWN,
6,
2,DOWN,
FORWARD,
3,
1,FORWARD,
3,
2,BTN5,
FORWARD,
6,
2,BTN5,
BACK,
2,
1,BACK,
70,
0,2,
2,BTN6,
FORWARD,
200,

EOC,




Combo1, //Super

1,FORWARD,
3,
2,UP,
FORWARD,
15,
1,UP,
2,
2,UP,
BACK,
2,
1,BACK,
32,
2,BTN5,
BACK,
11,
1,BACK,
39,
2,BACK,
BTN1,
11,
1,BACK,
4,
2,DOWN,
BACK,
36,
3,DOWN,
BACK,
BTN1,
12,
2,DOWN,
BACK,
4,
2,DOWN,
FORWARD,
5,
1,FORWARD,
1,
2,FORWARD,
BTN3,
200,
EOC,


Combo2, //SRK

1,FORWARD,
2,
2,UP,
FORWARD,
18,
1,FORWARD,
1,
0,30,
1,BTN6,
11,
0,18,
1,DOWN,
28,
2,BTN5,
DOWN,
10,
1,DOWN,
2,
0,40,
1,DOWN,
5,
2,DOWN,
FORWARD,
3,
1,FORWARD,
5,
2,BTN5,
FORWARD,
2,
2,BTN5,
BACK,
4,
1,BACK,
70,
0,2,
1,FORWARD,
2,
2,BTN6,
FORWARD,
10,
1,BTN6,
200,
EOC,


Combo3, //1 stock

1,FORWARD,
9,
0,31,
1,BTN6,
66,
2,BTN6,
DOWN,
4,
1,DOWN,
52,
2,BTN5,
DOWN,
2,
0,40,
1,DOWN,
3,
2,DOWN,
FORWARD,
5,
1,FORWARD,
2,
3,BTN5,
FORWARD,
BTN1,
2,
1,BACK,
100,
0,1,
1,FORWARD,
4,
2,BTN6,
FORWARD,
13,
1,FORWARD,
200,
EOC,




Combo4, //Low EX2 v1


1,FORWARD,
4,
0,12,
1,BACK,
2,
2,DOWN,
BACK,
30,
3,DOWN,
BACK,
BTN3,
8,
2,DOWN,
BACK,
21,
3,DOWN,
BACK,
BTN4,
11,
2,DOWN,
BACK,
12,
1,BACK,
2,
2,UP,
BACK,
2,
4,BTN5,
UP,
BACK,
BTN1,
3,
1,BACK,
80,
0,2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
10,
1,FORWARD,
200,
EOC,


Combo5, //Low EX2 v2


EOC,


Combo6, //Meterless

EOC,




//COMBO DATA END
EOD );
int i = -1, b, v;
int back = LEFT, forward = RIGHT;
int button_1, button_2, button_3, button_4, button_5;
int value_1, value_2, value_3, value_4, value_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_TOUCHX) >= 70) {
back = LEFT; forward = RIGHT;
} else if(get_val(PS4_TOUCHX) <= -70) {
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;
}
}

// CANCEL combos condition-----------------------------------------
// RS X and Y are in rest - cancel the combo
if(cancel==1){
if ( (abs(get_val (9)) <= 20 && abs(get_val (10)) <= 20) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==2){
if ( (abs(get_val (11)) <= 20 && abs(get_val (12)) <= 20) ) {
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) {
cancel=1;
i = get_combo_index(Combo1);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(Combo2);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(Combo3);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Combo4);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=2;
i = get_combo_index(KBD);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=2;
i = get_combo_index(KBDF);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=2;
i = get_combo_index(SSBack);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=2;
i = get_combo_index(SSFore);
}
// R3 Press
if (get_val (PS4_R3)) {
cancel=3;
i = get_combo_index(Combo2);
}
// L3 Press
if (get_val (PS4_L3)) {
cancel=3;
i = get_combo_index(Combo_10);
}




// 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;
value_1 = 100;
} else { button_1 = -1; value_1 = 0; }

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

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

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

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

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, value_1);
if(button_2 != -1) set_val(button_2, value_2);
if(button_3 != -1) set_val(button_3, value_3);
if(button_4 != -1) set_val(button_4, value_4);
if(button_5 != -1) set_val(button_5, value_5);
}

Rampage
3rd February 18, 22:47
Thanks, bring sf forum back 2 life

byakugam
1st March 18, 16:22
please make for the GUILE, my favorite character!

:D

swa2776
1st March 18, 20:20
OK i'll release it soon, I also have done every character on sf5:ok:

crunchypickle
11th August 18, 04:45
Great stuff. Do you have anything else you are willing to share? PM ME if you don't want to make it public I suppose, I would be ok with floating you some paypal donations.