PDA

View Full Version : Dragonball FighterZ Combos Thread



justframe
4th February 18, 18:45
Since I'm going to be making plenty of scripts for this game I decided to make a thread for all of them.

These have all been tested on PC and console, and should work on both.

I have three scripts ready right now, a new and improved Goku, Vegeta, and Teen Gohan.

Press left and right on the d-pad to change which side the combos will work from. Alternatively, you can press R3 while holding back to make the combos work from the front, without having to release back and press forward.

Pressing L3 will load up a different memory slot in your CronusMax. You can use this to run scripts for 3 characters at once, using L3 to cycle between them. By default all scripts will load the second slot of your CronusMax. To get the scripts working together, Copy the script of the character you will lead with and load it into the first memory slot in your CronusMax. Then for the other characters you will use, find this segment of code:

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

and change load_slot(2) to load_slot(3) for your second pick which you should load into memory slot 2, and make it load_slot(1) for your third pick which you then load into memory slot 3. If done correctly you should be able to cycle between three different scripts with the press of a button! If you are having trouble finding the segment of code you need to change, you can use ctrl+f to search for it.

Here's Goku:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/01/18 Time: 6:36:31 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuMACorner = 3;
define GokuMAMeterless = 4;
define GokuMACornerMeterless = 5;
define GokuDR = 6;
define GokuDRMeter = 7;
data(
Goku2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,50,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
155,
0,4,
1,BTN1,
4,
0,20,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,80,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMACorner,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,60,
EOC,
GokuMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuMACornerMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDRMeter,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
int CurrentSlot;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuMACorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuMAMeterless);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuMACornerMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuDRMeter);
}
// 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);
}

Right stick right and left are combos that start with standing medium attack. RS right works midscreen and RS left works in the corner. RS right takes 2 meter for 5000 damage, RS left takes 1 for 4400.

RS up is an overhead that does 4400 damage, takes 1 meter.

RS down is a low that does 4700 damage, takes 1 meter.

LS left and right are meterless versions of RS left and right.

LS up and down are air-to-air combos for Goku. They can be used after super dashes, dragon rushes, tag dashes, anti-airs (2H , S+H), basically any scenario where both you and your opponent are airborne you can use this to get a modest amount of damage on them. One is meterless and the other uses 1 bar.

RS up and down, as well as LS left, right, and up all use Goku's Dragon Flash Fist move, which leads to a sliding knockdown. If you end the combo after this move, you get an opportunity to wake up your opponent, or go for a level 1 or 3 super.

justframe
4th February 18, 18:50
Here's Vegeta:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/02/18 Time: 7:49:23 AM//------------------------------------------------------------------------

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 Vegeta2M = 0;
define VegetaMA3Meter = 1;
define VegetaMA1Meter = 2;
define VegetaJA = 3;
define VegetaDR = 4;
define VegetaMAMeterless = 5;
define VegetaDRMeter = 6;
data(
EOC,
Vegeta2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaMA3Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
VegetaMA1Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaJA,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
VegetaDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
EOC,
VegetaMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
VegetaDRMeter,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3

main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(VegetaMA1Meter);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(VegetaMA3Meter);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(VegetaJA);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Vegeta2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(VegetaMAMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(VegetaDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(VegetaDRMeter);
}
// 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 and left are combos that start with standing medium attack. RS right uses one bar and RS left uses 3, they both work midscreen and in the corner.

RS up is an overhead for 1 meter

RS down is a low for 1 meter

LS right is a meterless version of RS right and left

LS up and down are air-to-air combos for Vegeta. They can be used after super dashes, dragon rushes, basically in any situation where both you and your opponent are airborne. One is meterless and one uses 1 bar.

There is no LS left for Vegeta.

justframe
4th February 18, 18:58
Here's Teen Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/04/18 Time: 1:01:42 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 TeenGohan2M = 0;
define TeenGohan2MCorner = 1;
define TeenGohanJH = 2;
define TeenGohanJHCorner = 3;
define TeenGohanDR = 4;
define TeenGohanDRMeter = 5;
define TeenGohan2MCornerMeterless = 6;
define TeenGohanJHCornerMeterless = 7;
data(
EOC,
TeenGohan2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,30,
2,DOWN,
BTN3,
4,
0,40,
2,BTN2,
BTN3,
4,
0,80,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
140,
0,4,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
TeenGohan2MCorner,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
TeenGohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,30,
2,DOWN,
BTN3,
4,
0,40,
2,BTN2,
BTN3,
4,
0,80,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
140,
0,4,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
TeenGohanJHCorner,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
TeenGohanDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
EOC,
TeenGohanDRMeter,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
EOC,
TeenGohan2MCornerMeterless,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,100,
EOC,
TeenGohanJHCornerMeterless,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
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;
int CurrentSlot;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}





// 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_L3)) {
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(TeenGohan2MCorner);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJHCorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2MCornerMeterless);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJHCornerMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(TeenGohanDR);
}
}
}
// 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 up and down are an overhead and low combo that work midscreen for 2 bars

RS left and right are an overhead and low combo that work in the corner for 1 bar

LS right and left are meterless versions of the corner combos. You can pretty easily set up a super after these, level 1 or 3.

LS up and down are air-to-air combos for Teen Gohan. They can be used after super dashes, dragon rushes, anti-airs, etc. They are both meterless.

JQuest313
4th February 18, 20:26
Working pretty good in training, moving on to online matches now.

eletif
5th February 18, 16:34
thank you so much, do you think you could make one for gotenks? he's the only one I don't have scripts for. Vegeta works really good.

justframe
7th February 18, 16:51
Here's Frieza:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/07/18 Time: 12:24:53 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 Frieza2M = 0;
define FriezaJH = 1;
define FriezaMA = 2;
define FriezaMA3 = 3;
define FriezaGold2M = 4;
define FriezaGoldJH = 5;
define FriezaDR = 6;
define FriezaDR1 = 7;
data(
EOC,
Frieza2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA3,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN5,
BACK,
4,
0,100,
EOC,
EOC,
FriezaGold2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaGoldJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
FriezaDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(FriezaMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FriezaMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(FriezaJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Frieza2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(FriezaDR);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(FriezaDR1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(FriezaGoldJH);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(FriezaGold2M);
}
// 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 and left are combos that start out of standing middle attack. RS right takes 1 bar and RS left takes 3.

RS up is an overhead that takes 1 bar, does around 4300 damage.

RS down is a low that takes 1 bar, does around 4700 damage.

LS up and down are an overhead and low combo where you transform to golden Frieza mid-combo. They take 4 bars but you can stop before the super at the end to make it just 3 bars.

LS right and left are generic combos to be used after things like super dashes, dragon rushes, tag-in dashes, anti-airs/heavy attacks, etc. they should work in any situation where you and your opponent are both airborne, basically. One is meterless and the other uses 1 bar.

Enjoy! I might be doing Gotenks next.

Cutthroat
7th February 18, 21:53
Here's Frieza:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/07/18 Time: 12:24:53 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 Frieza2M = 0;
define FriezaJH = 1;
define FriezaMA = 2;
define FriezaMA3 = 3;
define FriezaGold2M = 4;
define FriezaGoldJH = 5;
define FriezaDR = 6;
define FriezaDR1 = 7;
data(
EOC,
Frieza2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA3,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN5,
BACK,
4,
0,100,
EOC,
EOC,
FriezaGold2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaGoldJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
FriezaDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(FriezaMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FriezaMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(FriezaJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Frieza2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(FriezaDR);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(FriezaDR1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(FriezaGoldJH);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(FriezaGold2M);
}
// 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 and left are combos that start out of standing middle attack. RS right takes 1 bar and RS left takes 3.

RS up is an overhead that takes 1 bar, does around 4300 damage.

RS down is a low that takes 1 bar, does around 4700 damage.

LS up and down are an overhead and low combo where you transform to golden Frieza mid-combo. They take 4 bars but you can stop before the super at the end to make it just 3 bars.

LS right and left are generic combos to be used after things like super dashes, dragon rushes, tag-in dashes, anti-airs/heavy attacks, etc. they should work in any situation where you and your opponent are both airborne, basically. One is meterless and the other uses 1 bar.

Enjoy! I might be doing Gotenks next.

Could you Do Captain Ginyu Next using setups with Guido's stun?

freddyrocks8
8th February 18, 06:28
first, i just want to say thanks for these awesome scripts! :)
and secondly, when you have the time can you make either a goku black or adult gohan script?

justframe
8th February 18, 17:44
Here's Goku Black:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/08/18 Time: 1:25:03 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 GokuBlack2M = 0;
define GokuBlackMA = 1;
define GokuBlackJH = 2;
define GokuBlackMA3 = 3;
define GokuBlackDR = 4;
define GokuBlackIT = 5;
define GokuBlackDR1 = 6;
define GokuBlackIT1 = 7;
data(
EOC,
GokuBlack2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlackJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackMA3,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
GokuBlackDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GokuBlackIT,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlackIT1,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN2,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN6,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuBlackMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlack2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuBlackIT1);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackIT);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackDR1);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuBlackDR);
}
// 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 and left are combos that come out of standing medium attack. RS right uses 1 bar for about 4500 damage, rs left uses 3 for around 5400 damage.

RS up is an overhead that does 4500 damage for 1 bar.

RS down is a low that does 5000 damage for 1 bar.

LS right and left are overhead combos that come out of Goku Black's 'Instant Transmission' teleport. LS left teleports you in front of the opponent, while LS right teleports you behind them for 1 bar. The combo itself also takes 1 bar and does the same 4500 damage as the other overhead combo.
Both can be countered by 2H so i recommend mixing these up with the QCB+medium teleport into any of the RS combos.

LS up and down are generic combos for use after super dashes, anti-airs, dragon rushes etc. LS down is meterless and LS up takes 1 meter.

Enjoy!

justframe
8th February 18, 18:05
About Gotenks and Ginyu, I've played around with them a bit and their combos seem very different from what most characters usually do. I've been looking around for good combos for them and can't find any, most do too little damage or take too much meter, or are too situational (like they only work in the corner or only if you have certain other character's assists). That's the reason I did Goku Black first, his combos were very standard and easy to figure out.

If anyone has video or notations of good combos for those two post them or pm them to me, I'll get to work on them next if I can find good stuff to make.

bronxrsj2
8th February 18, 18:08
Works great. You are my Hero.

bigkahuna
9th February 18, 04:50
could you make a script for android 21?

eductu
9th February 18, 13:30
Great Work !! can you make Goku & Vegeta Blue ? Thanks

mukmuk
9th February 18, 16:46
can you do goku blue and hit

Remagdroid
10th February 18, 04:07
What about Kid Buu? I've seen some insane combo strings with him that almost seem unguardable..

https://www.youtube.com/watch?v=199DE62wgYQ (kid buu BNB)

https://www.youtube.com/watch?v=HDMZP8QqifA (combo 1:21 in video is crazy)

Also I've seen a combo string where he turns you into candy and then shoots his "Human Extinction" Super after he spits you out..

Hansford
10th February 18, 14:25
Thanks for all the hard work making these scripts. Could you look into making one for Android 16? He is a strong character with a pretty straightforward approach that doesn’t depend on a lot of meter.
https://youtu.be/LQ-ztT0L3Zs

blackgoku
10th February 18, 15:37
plz android 16 one

justframe
10th February 18, 20:28
Here's Blue Goku (SSGSS):
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/10/18 Time: 3:37:21 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 GokuBlue2M = 0;
define GokuBlueJH = 1;
define GokuBlueMA = 2;
define GokuBlueMA3 = 3;
define GokuBlueDR = 4;
define GokuBlueDR1 = 5;
define GokuBlueIT = 6;
define GokuBlueIT1 = 7;
data(
EOC,
GokuBlue2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA3,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,35,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
GokuBlueDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
GokuBlueDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueIT,
1,DOWN,
6,
2,DOWN,
BACK,
2,
2,BACK,
BTN1,
9,
0,110,
2,BTN1,
BTN2,
11,
0,116,
1,BACK,
7,
0,7,
1,BACK,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
BACK,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuBlueIT1,
1,DOWN,
6,
2,DOWN,
FORWARD,
2,
2,FORWARD,
BTN3,
9,
0,90,
2,BTN1,
BTN2,
11,
0,110,
1,FORWARD,
7,
0,7,
1,FORWARD,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
FORWARD,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuBlueMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlue2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueIT);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueIT1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueDR1);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueDR);
}
// 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 and left are combos that come out of standing medium, RS right does 4500 damage for 1 meter and RS left does 5500 damage for 3 meters.

RS up is an overhead that does 4400 damage for 1 bar.

RS down is a low that does 4900 damage for 1 bar.

LS Left is a combo from Goku's instant transmission teleport. Goku can teleport either in front of or behind the opponent depending on whether you pressed forward or back first; the combo will work from either teleport. Note that the back teleport doesn't work in the corner due to the way wallbounces work, sadly there's no way to make it work both midscreen and in the corner. It also won't work if your opponent is too high in the air.

LS Right is a combo for Goku's 'Super God Flash' unblockable. It does 2100 damage for 1 bar.

LS up and down are generic combos for use after things like super dashes, dragon rushes, anti-airs, Goku Blue's auto combo overhead, etc. LS up takes 1 bar while LS down is meterless. Note that the metered version won't work after an empty super dash, you'll have to save it for after dragon rushes, anti-airs, the auto-combo overhead, etc.

Enjoy! Now you can play a triple Goku team lol. I'm still planning to do Gotenks, and i'll do 16, Kid Buu, Blue Vegeta, Hit and all the rest at some point soon.

BluMilk
10th February 18, 20:38
you sir, are THE MAN!!!! Thanks a ton!:thumbsup:

incredi
11th February 18, 19:35
Thank you so much these are all great can you do one for Cell also if you have time

BluMilk
11th February 18, 21:48
Okay so after spending some time with using all the combos released so far i'm having a real hard time keeping track of my opponents and using these combos in the appropriate directions. With all the teleports, super dashes, tagging in, etc. i am constantly finding myself finally getting a hit in but ultimately dropping the combo because my starting position was off. One idea i have for fixing this is to change the LS left and right directions to do the vanilla combo in the direction the left stick is pointed. Now i realize this will override the LS left corner combo or alt combo if you will, so why not change this to having to hold down the RB instead? You would have to manually do the dragon rush instead but its simple to do (ust press light and medium together; piece of cake). Just a thought. That being said these scripts are super helpful and i really appreciate all the hard work you put in so far. Thanks a bunch

bronxrsj2
11th February 18, 23:04
Agreed. This game changes sides way to often. Any combos that work from either side (like Vegeta's) are more useful.

acidmango
12th February 18, 07:45
For playing online, I just keep the bread n butter combo on my Right Thumb X-axis, Right Thumb up = 2H launcher + BnB combo, Right Thumb Down = super dash + BnB combo.
I don't put finishers on my macros though as I like to control when/how I do those. And I don't lockout controller input while combos are executed either, so I can easily interrupt with additional inputs.

Single player, these have been super fun.



Here's a fun combo I tabbed out this morning from a youtube video
Use Cell, with enemy in right corner.


combo CellRightCorner {


set_val(XB1_DOWN, 100);
set_val(XB1_Y, 100);
wait(40);
wait(200);
set_val(XB1_Y, 100);
wait(40);
wait(300);
set_val(XB1_UP , 100);
set_val(XB1_RIGHT , 100);
wait(40);
wait(200);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_UP , 100);
set_val(XB1_RIGHT , 100);
wait(40);
wait(100);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_A, 100);
wait(40);
wait(80);
set_val(XB1_DOWN, 100);
wait (60);
set_val(XB1_LEFT , 100);
set_val(XB1_DOWN , 100);
wait (60);
set_val(XB1_LEFT, 100);
set_val(XB1_X, 100);
wait(50);
wait(870);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_A, 100);
wait(40);
wait(200);
set_val(XB1_RT,100);
wait(40);
wait(700);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_X, 100);
wait(40);
wait(200);
set_val(XB1_A, 100);
wait(40);
wait(200);
set_val(XB1_DOWN, 100);
wait (60);
set_val(XB1_RIGHT , 100);
set_val(XB1_DOWN , 100);
wait (60);
set_val(XB1_RIGHT, 100);
set_val(XB1_Y, 100);
wait(40);
wait(1300);
set_val(XB1_DOWN, 100);
wait (60);
set_val(XB1_LEFT , 100);
set_val(XB1_DOWN , 100);
wait (60);
set_val(XB1_LEFT, 100);
set_val(XB1_RB, 100);
}

BluMilk
12th February 18, 12:25
For playing online, I just keep the bread n butter combo on my Right Thumb X-axis, Right Thumb up = 2H launcher + BnB combo, Right Thumb Down = super dash + BnB combo.
I don't put finishers on my macros though as I like to control when/how I do those. And I don't lockout controller input while combos are executed either, so I can easily interrupt with additional inputs.

Single player, these have been super fun.

That sounds like it would work marvelously. Please share that bit of code if you would and don't mind. I was thinking of trying to edit my scripts to do something simular but I'm still learning and something like reverse coding scripts this complex are currently beyond my skill level....

justframe
14th February 18, 19:34
Okay so after spending some time with using all the combos released so far i'm having a real hard time keeping track of my opponents and using these combos in the appropriate directions. With all the teleports, super dashes, tagging in, etc. i am constantly finding myself finally getting a hit in but ultimately dropping the combo because my starting position was off. One idea i have for fixing this is to change the LS left and right directions to do the vanilla combo in the direction the left stick is pointed. Now i realize this will override the LS left corner combo or alt combo if you will, so why not change this to having to hold down the RB instead? You would have to manually do the dragon rush instead but its simple to do (ust press light and medium together; piece of cake). Just a thought. That being said these scripts are super helpful and i really appreciate all the hard work you put in so far. Thanks a bunch

Do you mean making it so that the vanilla combo always works by moving the LS forward, rather than moving the LS right or left? That can be done.

And if you want to move the combos to work from a different button/stick direction, all you have to do is go to this part of the script, its in the main section and you can find it by pressing ctrl+f and searching for "EDIT THIS PART OF SCRIPT for combo run":
else { // EDIT THIS PART OF SCRIPT for combo run ---------------------------
//////////////////////////////////////////////////////////////////////////
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuMACorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuMACornerMeterless);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuMAMeterless);
}
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuDRMeter);
}
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
}//<main> block end

Then find the combo you want to change and edit the line "if (get_val (9) >= 80)" change the 9-12 to the new button you want it to work from, PS4_R1, PS4_RX etc. If there is already a combo mapped to that button/stick direction you'll need to change it as well.

skitzke
14th February 18, 21:32
Great scripts btw, but only the vegeta one works for me. The rest have this error. ERROR: Syntax error, unexpected IF ('if') on line 34 column 4. which is if(event_press(PS4_RIGHT)) {

Any fix?

justframe
14th February 18, 23:43
Yeah, for whatever reason after the server maintenance there is some issue in the forum that causes it to not post certain scripts correctly if you put them in the GPC wrappers. Those scripts were all working when I posted them and I still have the working scripts on my end, but every time I repost them the same issue happens and they come out wrong.

This isn't happening to my Tekken 7 or MVCI scripts, just these DBFZ ones, for some bizarre reason only Vegeta isn't effected.

Hopefully it gets fixed soon, If not I will just post the scripts outside of the wrappers, there's no problem then

skitzke
15th February 18, 12:35
Yeah, for whatever reason after the server maintenance there is some issue in the forum that causes it to not post certain scripts correctly if you put them in the GPC wrappers. Those scripts were all working when I posted them and I still have the working scripts on my end, but every time I repost them the same issue happens and they come out wrong.

This isn't happening to my Tekken 7 or MVCI scripts, just these DBFZ ones, for some bizarre reason only Vegeta isn't effected.

Hopefully it gets fixed soon, If not I will just post the scripts outside of the wrappers, there's no problem then

Thank you.

Enmanuel
15th February 18, 21:22
Syntax error, unexpected IF ('if')

justframe
16th February 18, 12:35
Alright, here's a repost of all the previous scripts, these should work now.

Goku:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/01/18 Time: 6:36:31 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuMACorner = 3;
define GokuMAMeterless = 4;
define GokuMACornerMeterless = 5;
define GokuDR = 6;
define GokuDRMeter = 7;
data(
Goku2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,50,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
155,
0,4,
1,BTN1,
4,
0,20,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,80,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMACorner,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,60,
EOC,
GokuMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuMACornerMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDRMeter,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
int CurrentSlot;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}
if(get_val(PS4_L1) && get_ptime(PS4_L1) > 500){
load_slot(2);
}
if(get_val(PS4_L2) && get_ptime(PS4_L2) > 500){
load_slot(3);
}


// 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_L3)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuMACorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuMAMeterless);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuMACornerMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuDRMeter);
}
// 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);
}

Teen Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/04/18 Time: 1:01:42 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 TeenGohan2M = 0;
define TeenGohan2MCorner = 1;
define TeenGohanJH = 2;
define TeenGohanJHCorner = 3;
define TeenGohanDR = 4;
define TeenGohanDRMeter = 5;
define TeenGohan2MCornerMeterless = 6;
define TeenGohanJHCornerMeterless = 7;
data(
EOC,
TeenGohan2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,30,
2,DOWN,
BTN3,
4,
0,40,
2,BTN2,
BTN3,
4,
0,80,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
140,
0,4,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
TeenGohan2MCorner,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
TeenGohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,30,
2,DOWN,
BTN3,
4,
0,40,
2,BTN2,
BTN3,
4,
0,80,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
140,
0,4,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
TeenGohanJHCorner,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
TeenGohanDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
EOC,
TeenGohanDRMeter,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
EOC,
TeenGohan2MCornerMeterless,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,100,
EOC,
TeenGohanJHCornerMeterless,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,200,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN1,
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;
int CurrentSlot;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(1);
}
if(get_val(PS4_L1) && get_ptime(PS4_L1) > 500){
load_slot(1);
}
if(get_val(PS4_L2) && get_ptime(PS4_L2) > 500){
load_slot(2);
}




// 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_L3)) {
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(TeenGohan2MCorner);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJHCorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2MCornerMeterless);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJHCornerMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(TeenGohanDR);
}
}
}
// 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);
}

Frieza:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/07/18 Time: 12:24:53 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 Frieza2M = 0;
define FriezaJH = 1;
define FriezaMA = 2;
define FriezaMA3 = 3;
define FriezaGold2M = 4;
define FriezaGoldJH = 5;
define FriezaDR = 6;
define FriezaDR1 = 7;
data(
EOC,
Frieza2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA3,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN5,
BACK,
4,
0,100,
EOC,
EOC,
FriezaGold2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaGoldJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
FriezaDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(FriezaMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FriezaMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(FriezaJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Frieza2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(FriezaDR);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(FriezaDR1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(FriezaGoldJH);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(FriezaGold2M);
}
// 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);
}

Goku Black:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/08/18 Time: 1:25:03 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 GokuBlack2M = 0;
define GokuBlackMA = 1;
define GokuBlackJH = 2;
define GokuBlackMA3 = 3;
define GokuBlackDR = 4;
define GokuBlackIT = 5;
define GokuBlackDR1 = 6;
define GokuBlackIT1 = 7;
data(
EOC,
GokuBlack2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlackJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackMA3,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
GokuBlackDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GokuBlackIT,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlackIT1,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN2,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN6,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuBlackMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlack2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuBlackIT1);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackIT);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackDR1);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuBlackDR);
}
// 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);
}

Blue Goku (SSGSS):
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/10/18 Time: 3:37:21 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 GokuBlue2M = 0;
define GokuBlueJH = 1;
define GokuBlueMA = 2;
define GokuBlueMA3 = 3;
define GokuBlueDR = 4;
define GokuBlueDR1 = 5;
define GokuBlueIT = 6;
define GokuBlueIT1 = 7;
data(
EOC,
GokuBlue2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA3,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,35,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
GokuBlueDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
GokuBlueDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueIT,
1,DOWN,
6,
2,DOWN,
BACK,
2,
2,BACK,
BTN1,
9,
0,110,
2,BTN1,
BTN2,
11,
0,116,
1,BACK,
7,
0,7,
1,BACK,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
BACK,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuBlueIT1,
1,DOWN,
6,
2,DOWN,
FORWARD,
2,
2,FORWARD,
BTN3,
9,
0,90,
2,BTN1,
BTN2,
11,
0,110,
1,FORWARD,
7,
0,7,
1,FORWARD,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
FORWARD,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuBlueMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlue2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueIT);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueIT1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueDR1);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueDR);
}
// 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);
}

justframe
16th February 18, 16:53
And Here's Gotenks:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/16/18 Time: 12:28:55 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 Gotenks2M3 = 0;
define GotenksJH3 = 1;
define Gotenks2MCorner = 2;
define GotenksJHCorner = 3;
define Gotenks2M1 = 4;
define GotenksJH1 = 5;
define GotenksDR = 6;
define GotenksDR3 = 7;
data(
EOC,
Gotenks2M3,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
50,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,82,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GotenksJH3,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
50,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,82,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
Gotenks2MCorner,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,170,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GotenksJHCorner,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,170,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
Gotenks2M1,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,28,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GotenksJH1,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,28,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GotenksDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
GotenksDR3,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(Gotenks2MCorner);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GotenksJHCorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GotenksJH1);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Gotenks2M1);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GotenksDR);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GotenksDR3);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GotenksJH3);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(Gotenks2M3);
}
// 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 up and down are an overhead and a low. they do about 4000-4100 damage for 1 bar.

RS left and right are an overhead and a low that do more damage (around 4600) but will only work if you are in the corner, or carry your opponent to the corner by the end of the combo. They both take 1 meter as well.

LS up and down are an overhead and a low that do around 5200 damage for 3 bars. They work midscreen and in the corner.

LS left and right are generic combos for use after super dashes, anti-airs, dragon rushes, etc. one is meterless and the other takes 3 bars.

Enjoy! And I'm working on a few ways to make the scripts easier to use, feel free to give some suggestions if you have them.

AlphaFelipe
16th February 18, 17:03
Here's Vegeta:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/02/18 Time: 7:49:23 AM//------------------------------------------------------------------------

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 Vegeta2M = 0;
define VegetaMA3Meter = 1;
define VegetaMA1Meter = 2;
define VegetaJA = 3;
define VegetaDR = 4;
define VegetaMAMeterless = 5;
define VegetaDRMeter = 6;
data(
EOC,
Vegeta2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaMA3Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
VegetaMA1Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaJA,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
VegetaDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
EOC,
VegetaMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
VegetaDRMeter,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3

main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(VegetaMA1Meter);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(VegetaMA3Meter);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(VegetaJA);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Vegeta2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(VegetaMAMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(VegetaDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(VegetaDRMeter);
}
// 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 and left are combos that start with standing medium attack. RS right uses one bar and RS left uses 3, they both work midscreen and in the corner.

RS up is an overhead for 1 meter

RS down is a low for 1 meter

LS right is a meterless version of RS right and left

LS up and down are air-to-air combos for Vegeta. They can be used after super dashes, dragon rushes, basically in any situation where both you and your opponent are airborne. One is meterless and one uses 1 bar.

There is no LS left for Vegeta.


i always get an error for every script , 1: New*ERROR: Syntax error, unexpected DEFINE ('define') on line 16 column 0

justframe
16th February 18, 17:09
i always get an error for every script , 1: New*ERROR: Syntax error, unexpected DEFINE ('define') on line 16 column 0

There was an error with the forum that caused all the scripts on the first page to stop working, you can find working versions of them on the second page.

AlphaFelipe
17th February 18, 20:54
Here's Blue Goku (SSGSS):
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/10/18 Time: 3:37:21 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 GokuBlue2M = 0;
define GokuBlueJH = 1;
define GokuBlueMA = 2;
define GokuBlueMA3 = 3;
define GokuBlueDR = 4;
define GokuBlueDR1 = 5;
define GokuBlueIT = 6;
define GokuBlueIT1 = 7;
data(
EOC,
GokuBlue2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA3,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,35,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
GokuBlueDR,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
GokuBlueDR1,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueIT,
1,DOWN,
6,
2,DOWN,
BACK,
2,
2,BACK,
BTN1,
9,
0,110,
2,BTN1,
BTN2,
11,
0,116,
1,BACK,
7,
0,7,
1,BACK,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
BACK,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuBlueIT1,
1,DOWN,
6,
2,DOWN,
FORWARD,
2,
2,FORWARD,
BTN3,
9,
0,90,
2,BTN1,
BTN2,
11,
0,110,
1,FORWARD,
7,
0,7,
1,FORWARD,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
FORWARD,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}

// 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_L3)) {
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(GokuBlueMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueMA3);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlue2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueIT);
}
// Left Stick LEFT
if (get_val (11) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueIT1);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueDR1);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueDR);
}
// 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 and left are combos that come out of standing medium, RS right does 4500 damage for 1 meter and RS left does 5500 damage for 3 meters.

RS up is an overhead that does 4400 damage for 1 bar.

RS down is a low that does 4900 damage for 1 bar.

LS Left is a combo from Goku's instant transmission teleport. Goku can teleport either in front of or behind the opponent depending on whether you pressed forward or back first; the combo will work from either teleport. Note that the back teleport doesn't work in the corner due to the way wallbounces work, sadly there's no way to make it work both midscreen and in the corner. It also won't work if your opponent is too high in the air.

LS Right is a combo for Goku's 'Super God Flash' unblockable. It does 2100 damage for 1 bar.

LS up and down are generic combos for use after things like super dashes, dragon rushes, anti-airs, Goku Blue's auto combo overhead, etc. LS up takes 1 bar while LS down is meterless. Note that the metered version won't work after an empty super dash, you'll have to save it for after dragon rushes, anti-airs, the auto-combo overhead, etc.

Enjoy! Now you can play a triple Goku team lol. I'm still planning to do Gotenks, and i'll do 16, Kid Buu, Blue Vegeta, Hit and all the rest at some point soon.

sadly isn’t gunna work online , Right analog is used to bring down a small screen which messes up the combo , oh well though

BluMilk
17th February 18, 23:51
sadly isn’t gunna work online , Right analog is used to bring down a small screen which messes up the combo , oh well though

the combo still runs just the annoying black bar comes down.......

Anyway i've been doing some more tinkering around with these scripts and i've dug up a few tweeks/info that helped my game out alot:

for starters, the first super goku script needed a small tweek to make it work on the entire cast; i noticed fighting characters that were Freeza and smaller the RS right combo would whiff a bunch. After digging a bit i realized it was because his first set of "in the air" combo was codded to do light, light, auto-combo instead of light, medium. The difference is subtle but made all the difference. The auto combos in the game actually track your opponent so much so that it moves goku out of position against smaller characters. so i made some changes and now it works on 100% of the cast with online lag tested at up to 3 to 4 frames of lag.

secondly, the biggest issue with scripts in the game is that the pace of the game is so over the top, the idea of using more than one stick at a time just isn't reasonable. so after struggling to figure out how to change moves around and then the OP pointing me in the right direction, i was able to change my combos for each character to as follows: RS right is the basic BnB combo, RS down is the basic BnB crouching medium combo, RS up changed to Universal air combo, and RS left to Mix-up combo (IAD overhead or teleport combo etc.). My previous issue with the starting direction of combos was easily fixed by just pressing the correct direction for whatever combo after it starts and the combo always comes out the right way. Lastly i changed the swap script button to R3 and my fingers never have to go to another stick other than the RS. That doesn't leave many combos at my disposal but until someone comes up with a way to make R1 toggle a different set of RS combos this will have to do (wink, wink, hint ,hint).

I also noticed that the OP had snuck in some auto slot changes into his original 3 character reposted scripts so i've been messing with those and yeah they seem pretty solid for the first 2 thirds of the fight but after that you still have to check to make sure your on the right slot so its great so far but i'm not sure if its even possible to make work 100% of the time....

Some final notes:
Gohons scripts seem to not work at all or are just not up to par with the rest of the scripts released so far. I've tried going in and tinkering with him but cant seem to get him to execute properly idk whats going on there
I'm currently trying to "frankenstein" some script together from other characters to make it work for Cell but so far i can only get bare bones stuff working. can someone please explain what the 2 the 4 and the 0 mean in this script because i'm lost there:

2,DOWN,
BTN1,
4,
0,20,

And if there's some plugin or something that coverts combos into this format that idk about someone please fill me in. I can make combos the normal way pretty easy but this new advanced language is like trying to learn spanish when all i can speak is 3rd grade english:confused:

Again thanks to the OP for all your hard work thus far and hopefully i will be competent enough to help you out someday.....

AlphaFelipe
18th February 18, 00:11
the combo still runs just the annoying black bar comes down.......

Anyway i've been doing some more tinkering around with these scripts and i've dug up a few tweeks/info that helped my game out alot:

for starters, the first super goku script needed a small tweek to make it work on the entire cast; i noticed fighting characters that were Freeza and smaller the RS right combo would whiff a bunch. After digging a bit i realized it was because his first set of "in the air" combo was codded to do light, light, auto-combo instead of light, medium. The difference is subtle but made all the difference. The auto combos in the game actually track your opponent so much so that it moves goku out of position against smaller characters. so i made some changes and now it works on 100% of the cast with online lag tested at up to 3 to 4 frames of lag.

secondly, the biggest issue with scripts in the game is that the pace of the game is so over the top, the idea of using more than one stick at a time just isn't reasonable. so after struggling to figure out how to change moves around and then the OP pointing me in the right direction, i was able to change my combos for each character to as follows: RS right is the basic BnB combo, RS down is the basic BnB crouching medium combo, RS up changed to Universal air combo, and RS left to Mix-up combo (IAD overhead or teleport combo etc.). My previous issue with the starting direction of combos was easily fixed by just pressing the correct direction for whatever combo after it starts and the combo always comes out the right way. Lastly i changed the swap script button to R3 and my fingers never have to go to another stick other than the RS. That doesn't leave many combos at my disposal but until someone comes up with a way to make R1 toggle a different set of RS combos this will have to do (wink, wink, hint ,hint).

I also noticed that the OP had snuck in some auto slot changes into his original 3 character reposted scripts so i've been messing with those and yeah they seem pretty solid for the first 2 thirds of the fight but after that you still have to check to make sure your on the right slot so its great so far but i'm not sure if its even possible to make work 100% of the time....

Some final notes:
Gohons scripts seem to not work at all or are just not up to par with the rest of the scripts released so far. I've tried going in and tinkering with him but cant seem to get him to execute properly idk whats going on there
I'm currently trying to "frankenstein" some script together from other characters to make it work for Cell but so far i can only get bare bones stuff working. can someone please explain what the 2 the 4 and the 0 mean in this script because i'm lost there:

2,DOWN,
BTN1,
4,
0,20,

And if there's some plugin or something that coverts combos into this format that idk about someone please fill me in. I can make combos the normal way pretty easy but this new advanced language is like trying to learn spanish when all i can speak is 3rd grade english:confused:

Again thanks to the OP for all your hard work thus far and hopefully i will be competent enough to help you out someday.....
Yea you’re right, the black bar just got me annoyed which made me mess up the combos. Anyways great information man you’re great ! I also noticed that gohan seems really awkward and wasn’t working. Do you mind sharing your scrip for goku ?

ttttttttttt
18th February 18, 07:05
And if there's some plugin or something that coverts combos into this format that idk about someone please fill me in. I can make combos the normal way pretty easy but this new advanced language is like trying to learn spanish when all i can speak is 3rd grade english:confused:


http://cronusmax.com/forums/showthread.php/147533-Latest-version-of-Script-Manipulator

maybe that can do it. i know it has some options for converting codes. also if youre making universal combos from 10 minutes on this shows some tricks to extend them when it shouldnt usually work https://www.youtube.com/watch?v=XtYw3mt3HMw

BluMilk
18th February 18, 13:23
http://cronusmax.com/forums/showthread.php/147533-Latest-version-of-Script-Manipulator

maybe that can do it. i know it has some options for converting codes. also if youre making universal combos from 10 minutes on this shows some tricks to extend them when it shouldnt usually work https://www.youtube.com/watch?v=XtYw3mt3HMw

yea watching maximillian is how i figured out how to fix goku originally...
i really wish i could make that goku combo be his RS bnb though; the double super is f'ing NUTZ!
maybe ill take a stab at it once i get done failing at my franken-cell script:facepalm:

justframe
19th February 18, 18:21
for starters, the first super goku script needed a small tweek to make it work on the entire cast; i noticed fighting characters that were Freeza and smaller the RS right combo would whiff a bunch. After digging a bit i realized it was because his first set of "in the air" combo was codded to do light, light, auto-combo instead of light, medium. The difference is subtle but made all the difference. The auto combos in the game actually track your opponent so much so that it moves goku out of position against smaller characters. so i made some changes and now it works on 100% of the cast with online lag tested at up to 3 to 4 frames of lag.


Yeah, Goku was the first script I did and at the time I didn't know about the difference between auto-combos and manual ones. I'm trying out a few ideas to make the scripts easier to use and am going to re-release Goku when I'm done with it, the combos will do more damage too.


secondly, the biggest issue with scripts in the game is that the pace of the game is so over the top, the idea of using more than one stick at a time just isn't reasonable. so after struggling to figure out how to change moves around and then the OP pointing me in the right direction, i was able to change my combos for each character to as follows: RS right is the basic BnB combo, RS down is the basic BnB crouching medium combo, RS up changed to Universal air combo, and RS left to Mix-up combo (IAD overhead or teleport combo etc.). My previous issue with the starting direction of combos was easily fixed by just pressing the correct direction for whatever combo after it starts and the combo always comes out the right way. Lastly i changed the swap script button to R3 and my fingers never have to go to another stick other than the RS. That doesn't leave many combos at my disposal but until someone comes up with a way to make R1 toggle a different set of RS combos this will have to do (wink, wink, hint ,hint).


Here's an example of how to do that with Goku:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/01/18 Time: 6:36:31 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuMACorner = 3;
define GokuMAMeterless = 4;
define GokuMACornerMeterless = 5;
define GokuDR = 6;
define GokuDRMeter = 7;
data(
Goku2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,50,
2,BTN1,
BTN2,
4,
0,10,
1,BACK,
155,
0,4,
1,BTN1,
4,
0,20,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,80,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMACorner,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,60,
EOC,
GokuMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
10,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuMACornerMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,180,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,UP,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,90,
EOC,
GokuDRMeter,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
int CurrentSlot;
int SWITCH
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3
unmap PS4_RX
unmap PS4_RY
unmap PS4_R1



main {



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_L3)){
load_slot(2);
}
if(get_val(PS4_L1) && get_ptime(PS4_L1) > 500){
load_slot(2);
}
if(get_val(PS4_L2) && get_ptime(PS4_L2) > 500){
load_slot(3);
}

if(event_press(PS4_R1)){
SWITCH = !SWITCH
}
if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}
else if (!SWITCH){
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// 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_L3)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(!SWITCH) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuMACorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
}
else if (SWITCH) {
// Left Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(GokuMAMeterless);
}
// Left Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuMACornerMeterless);
}
// Left Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuDR);
}
// Left Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuDRMeter);
}
}
// 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);
}

All the combos now work from RS, they change with R1, and the LED will change from blue to red when the (former) LS combos are active. There are some problems with the combos themselves now but this is just an example.


I also noticed that the OP had snuck in some auto slot changes into his original 3 character reposted scripts so i've been messing with those and yeah they seem pretty solid for the first 2 thirds of the fight but after that you still have to check to make sure your on the right slot so its great so far but i'm not sure if its even possible to make work 100% of the time....
Oops! I didn't mean to leave that in.
There's no way to make it work 100% of the time, because there's no way to make it so that the same button always tags in the same character. Eventually the order will get messed up and the auto changes will never work again. I don't think I'll include that in any other scripts for that reason, its nice at the beginning of a round but can screw you at the end if you aren't paying close attention to what script you have loaded. If you want to get rid of it, delete these lines:
if(get_val(PS4_L1) && get_ptime(PS4_L1) > 500){ load_slot(2);
}
if(get_val(PS4_L2) && get_ptime(PS4_L2) > 500){
load_slot(3);
}



Gohons scripts seem to not work at all or are just not up to par with the rest of the scripts released so far. I've tried going in and tinkering with him but cant seem to get him to execute properly idk whats going on there

After looking into it, I found out that Gohan's 'light grenade' combos are character specific, they don't work on everyone. I'll probably redo him at some point soon.


I'm currently trying to "frankenstein" some script together from other characters to make it work for Cell but so far i can only get bare bones stuff working. can someone please explain what the 2 the 4 and the 0 mean in this script because i'm lost there:

2,DOWN,
BTN1,
4,
0,20,



2,DOWN, // 2 = the number of buttons to be pressed, DOWN and BTN1 are the buttons that will be pressed.
BTN1, // see above
4, // 4 = the amount of time the buttons will be pressed, in this case 40 milliseconds. Normal wait times are divided by 10 in this format, so a wait time of 40 in normal GPC will be 4 when converted to data, a wait time of 1000 will become 100, etc.
0,30, // 0 = the number of buttons that will be pressed (none), 30 = the amount of time no buttons will be pressed (300 milliseconds)



And yes, script manipulator is the program i use to convert the combos into data segments. You can download it off of the script manipulator subforum, the convert combos into data segments tool is in the fighting games tab at the top.

Good luck with scripting! It would definitely be nice to see someone else posting DBFZ scripts, I don't think I will do every character for this game.

eletif
19th February 18, 20:38
Any eta on gotenks?

justframe
19th February 18, 20:53
gotenks is already up, hes on the second page.

justframe
20th February 18, 00:40
Alright, here's a new Goku with a few changes to how the script works:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
EOC,
GokuDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_RX
unmap PS4_RY

main {
// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(2);
}



// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GokuSD);
}
// 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);
}

The biggest change is that now you can activate combos by pressing the buttons that would start them. Once the combo has started, you can let go of any directional buttons and the combo will still run. To cancel the combo you just let go of the attack button. So to do a 2M combo you could just press down + triangle, you only need to hold on to triangle to keep the combo going, and you would cancel the combo by just letting go of triangle. I also tweaked the combos to do more damage.

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross. Its a little awkward but it had to be done this way to make the combo work regardless of how far away you start the super dash. This also means that you have to have super dash assigned to R2/RT for the combo to work (it is assigned to that button by default).

If you'd rather use stick combos there are still some assigned to right stick.

Right stick up and down are still overhead/low combos.
Right stick right is a combo out of standing medium.
Right stick left is a generic combo that can be used after super dashes, dragon rushes, etc.
In the future if people prefer this format I will probably put unique or different combos on the right stick (like instant transmission combos for Goku Black, Golden Frieza combos for Frieza, etc.)

R3 now loads a different memory slot in your CronusMax instead of L3.

There's nothing on left stick anymore.

Tell me what you think of the new format. If people prefer it I can remake all the previous scripts I've posted to work this way, and do any new scripts I make like this.

BluMilk
20th February 18, 01:19
Alright, here's a new Goku with a few changes to how the script works:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
EOC,
GokuDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_RX
unmap PS4_RY

main {
// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(2);
}



// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GokuSD);
}
// 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);
}

The biggest change is that now you can activate combos by pressing the buttons that would start them. Once the combo has started, you can let go of any directional buttons and the combo will still run. To cancel the combo you just let go of the attack button. So to do a 2M combo you could just press down + triangle, you only need to hold on to triangle to keep the combo going, and you would cancel the combo by just letting go of triangle. I also tweaked the combos to do more damage.

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross. Its a little awkward but it had to be done this way to make the combo work regardless of how far away you start the super dash. This also means that you have to have super dash assigned to R2/RT for the combo to work (it is assigned to that button by default).

If you'd rather use stick combos there are still some assigned to right stick.

Right stick up and down are still overhead/low combos.
Right stick right is a combo out of standing medium.
Right stick left is a generic combo that can be used after super dashes, dragon rushes, etc.
In the future if people prefer this format I will probably put unique or different combos on the right stick (like instant transmission combos for Goku Black, Golden Frieza combos for Frieza, etc.)

R3 now loads a different memory slot in your CronusMax instead of L3.

There's nothing on left stick anymore.

Tell me what you think of the new format. If people prefer it I can remake all the previous scripts I've posted to work this way, and do any new scripts I make like this.

cool stuff dude ill be checking this out as soon as i get a chance

after my last post i actually messed around with the script manipulator and it was WAY easier to work with than i was expecting; i was able to input the double ultimate combo from that maxmillian video into your goku script and right before i was gonna share you dropped more cool code on me lol...
puting the combos on the actual button pressed to initiate it is a brilliant idea for sure; cant wait to test it out

keep up the good work!!!
any idea whats character your gonna work on next cause i think i can actually do a whole character now but i don't want to step on your toes at all... so to speak...

ttttttttttt
20th February 18, 07:12
Tell me what you think of the new format. If people prefer it I can remake all the previous scripts I've posted to work this way, and do any new scripts I make like this.

good job. i prefer it this way, one thing i would like is if you could make LS mimic the D pad, so for example if you press down on LS+triangle it would do the same as if you pressed down on D pad and triangle rather than it doing nothing. for people like me and others using an xbox 360 pad/other controllers with crap D pads. maybe most wont use it but LS is doing nothing right now so if its easy to code i certainly would.

acidmango
20th February 18, 09:38
That's a pretty sexy way to bind combos.

eductu
21st February 18, 16:12
this a better way to combine auto & manual combos :thumbsup:

bigkahuna
21st February 18, 21:10
i'm absolutely loving this new format justframe, keep it up :thumbsup:

justframe
22nd February 18, 00:32
Here's a new and improved Teen Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/21/18 Time: 6:13:26 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 TeenGohanMA = 0;
define TeenGohan2M = 1;
define TeenGohanJH = 2;
define TeenGohanDR = 3;
define TeenGohan2H = 4;
define TeenGohanSD = 5;
data(
EOC,
TeenGohanMA,
1,BTN1,
13,
0,14,
1,BTN1,
10,
0,19,
1,BTN2,
7,
0,66,
1,DOWN,
4,
2,DOWN,
FORWARD,
15,
2,FORWARD,
BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN4,
4,
0,50,
2,BTN1,
BTN2,
4,
0,160,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
EOC,
TeenGohan2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
TeenGohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
EOC,
TeenGohanDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohan2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohanSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(TeenGohanMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(TeenGohan2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohanJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(TeenGohanMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohan2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(TeenGohanDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(TeenGohanSD);
}
// 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);
}

I made a few small changes to this script from the Goku one. Left stick is now usable, you can move and do combos out of it as if it were the d-pad. It feels a little stiff to me, but I always play fighting games on the pad and I'm not used to using a stick at all so I don't know if its just me or if the script needs more fine-tuning. Let me know how it works for you.

You can now press select/back to turn the R3 character switcher on or off. When it is off, the LED will be red. This is so that you can more easily use the record/playback function in practice mode while using the scripts.

The combos have been tweaked and should work on all characters, at the cost of some damage.

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.

Right stick up and down are still overhead/low combos.
Right stick right is a combo out of standing medium.
Right stick left is a generic combo that can be used after super dashes, dragon rushes, etc.


I'll have all the other scripts updated to work with the new format soon and I'll post another Goku with the left-stick and R3 changes along with them. After that I plan to get to work on Android 16.

BluMilk
22nd February 18, 12:36
Here's a new and improved Teen Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/21/18 Time: 6:13:26 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 TeenGohanMA = 0;
define TeenGohan2M = 1;
define TeenGohanJH = 2;
define TeenGohanDR = 3;
define TeenGohan2H = 4;
define TeenGohanSD = 5;
data(
EOC,
TeenGohanMA,
1,BTN1,
13,
0,14,
1,BTN1,
10,
0,19,
1,BTN2,
7,
0,66,
1,DOWN,
4,
2,DOWN,
FORWARD,
15,
2,FORWARD,
BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN4,
4,
0,50,
2,BTN1,
BTN2,
4,
0,160,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
EOC,
TeenGohan2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
TeenGohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
EOC,
TeenGohanDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohan2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohanSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(TeenGohanMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(TeenGohan2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohanJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(TeenGohanMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohan2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(TeenGohanDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(TeenGohanSD);
}
// 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);
}

I made a few small changes to this script from the Goku one. Left stick is now usable, you can move and do combos out of it as if it were the d-pad. It feels a little stiff to me, but I always play fighting games on the pad and I'm not used to using a stick at all so I don't know if its just me or if the script needs more fine-tuning. Let me know how it works for you.

You can now press select/back to turn the R3 character switcher on or off. When it is off, the LED will be red. This is so that you can more easily use the record/playback function in practice mode while using the scripts.

The combos have been tweaked and should work on all characters, at the cost of some damage.

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.

Right stick up and down are still overhead/low combos.
Right stick right is a combo out of standing medium.
Right stick left is a generic combo that can be used after super dashes, dragon rushes, etc.


I'll have all the other scripts updated to work with the new format soon and I'll post another Goku with the left-stick and R3 changes along with them. After that I plan to get to work on Android 16.

YES!!!

bronxrsj2
22nd February 18, 12:44
These new updates make it far easier to execute combos. Thank you.

BluMilk
22nd February 18, 13:24
all right i've had a grand total of about 3 nights of beer coding using script manipulator thanks to ttttttttttt's recommendation and i've come up with something useful i hope......
also i'm not sure what the edicate is for what i've done here or for posting it but ALL CREDIT GOES TO JUSTFRAME!!! HE IS A BOSS AND I WANNA HAVE HIS BABIES!!
I don't know how to code myself per say but i can figure out stuff in reverse pretty good so i'm using all original code from the OP and modifying it to work when im too drunk to press buttons but my friend wanna talk shit and fight me lol

ok so with that outta the way here's my drunk goku script:

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

//Posted : Tuesday 20th of February, 2018 4:40 UTC

// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
13,
0,12,
1,BTN1,
13,
0,9,
1,BTN4,
11,
0,18,
1,DOWN,
5,
2,DOWN,
BTN2,
8,
1,DOWN,
2,
0,12,
1,BTN6,
13,
0,80,
1,BTN4,
13,
0,12,
1,BTN1,
13,
0,20,
1,BTN4,
11,
0,18,
1,DOWN,
12,
2,DOWN,
BTN2,
16,
1,DOWN,
23,
0,1,
1,FORWARD,
1,
2,UP,
FORWARD,
6,
1,UP,
1,
0,2,
1,BTN4,
14,
0,13,
1,BTN4,
14,
0,13,
1,BTN3,
12,
0,12,
1,DOWN,
11,
2,DOWN,
BACK,
4,
1,BACK,
3,
2,BACK,
BTN4,
10,
1,BTN4,
1,
0,22,
1,DOWN,
14,
2,DOWN,
FORWARD,
7,
1,FORWARD,
2,
2,BTN5,
FORWARD,
8,
1,BTN5,
5,
0,40,
1,DOWN,
2,
2,DOWN,
FORWARD,
185,
1,DOWN,
14,
2,DOWN,
FORWARD,
7,
1,FORWARD,
2,
2,BTN6,
FORWARD,
8,
1,BTN6,
5,
0,40,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
EOC,
GokuDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,10,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_RX
unmap PS4_RY

main {




if (get_val(XB1_X)) {combo_run (SCA_Turbofire1);}
if (get_val(XB1_Y)) {combo_run (SCA_Turbofire3);}
if (get_val(XB1_RT)) {combo_run (SCA_Turbofire5);}
if (get_val(XB1_RB)) {combo_run (SCA_Turbofire6);}


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(2);
}



// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
// if (get_val (PS4_DOWN)) {
// set_val(PS4_TRIANGLE,0);
// cancel=2;
// if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}
// forward + square
// if (get_val (forward) && get_val (PS4_SQUARE)) {
// set_val(PS4_SQUARE,0);
// cancel=2;
// if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuMA);
// }
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

// R1 Dragon Rush DISABLED
// if (get_val (PS4_R1)) {
// set_val(PS4_R1,0);
// cancel=2;
// if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
// }

// R2 Super Dash DISABLED
// if (event_release(PS4_R2)) {

// cancel=3;
// i = get_combo_index(GokuSD);
// }
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
//<main> block end




combo SCA_Turbofire1 {


set_val(XB1_X, 100);
wait(40);
set_val(XB1_X, 0);
wait(40);
set_val(XB1_X, 0);
}
combo SCA_Turbofire3 {


set_val(XB1_Y, 100);
wait(40);
set_val(XB1_Y, 0);
wait(40);
set_val(XB1_Y, 0);
}
combo SCA_Turbofire5 {


set_val(XB1_RT, 100);
wait(40);
set_val(XB1_RT, 0);
wait(40);
set_val(XB1_RT, 0);
}
combo SCA_Turbofire6 {


set_val(XB1_RB, 100);
wait(40);
set_val(XB1_RB, 0);
wait(40);
set_val(XB1_RB, 0);
}

// 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);
}



okay so here's the "users manual"

LS right does the same old bnb that just frame made and i've grown to love. i could probably improve it a bit but its so perfect already and im a big believer in "if it aint broke dont fix it" if you know what i mean

LS up is the generic bnb to be used for any air to air combat. again orignal op code that i didnt edit except swithichng its position to LS up. idk i just like air stuff to be coded in the up position; easier to understand while fhitsaced:crazy:

Now for the fun stuff!!

LS right and LS down does a overhead/underhead(?) extended badass double ultimate combo that is definitely not the best ways to do combos but might quite possibly be the coolest!! the second ultimate has you literally shooting your enemy

IN

THE

DICK

LOLOLOLOLOL
its so dope guys you gotta try it
other things in the script are just personal preferences like turbo lights and mediums because auto combos are still great and are easily used in conjunction with LS up air to air stuff
second quality of life change is that i'm pretty sure the OP's first post of the goku rework was literally just missing code from the hold down RT/R2 but idk even after tweeking im not sure how much i like it.....
like, i need RT/R2 and RB/R1 for ultimates and spam and whatnot so i disabled them for the time being..... sometimes i would try and use it but just be stuck and not able to move.... which is super embarrassing when i'm getting stomped by my homies and they have no idea what a cronusmax even is.....
I mean it'll probably be or already has been fixed to be better by justframe but at the time of me making this script it wasn't up to snuff so i took it out
lastly the LS left and LS down combos need to end in the corner otherwise hold left/right on the d-pad depending on the direction and let go of the LS to make sure the combo connects. it sound a bit confusing but you'll understand once you give it a whirl

anyway thats my Drunk goku script im sure someone will have some fun with this if your gonna use the whole set of drunk scripts then put this one in the first slot

BluMilk
22nd February 18, 13:28
next up is Drunk Vegeta
not any change code wise from the original but hes coded to be in second slot plus some turbos....
i probably wouldn't post this normally but hes necessary for the next character script for sweet assist combos:



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

//Posted : Sunday 4th of February, 2018 22:56 UTC

// Script was generated with < Script Manipulator > ver. 13.6 Date :02/02/18 Time: 7:49:23 AM//------------------------------------------------------------------------

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 Vegeta2M = 0;
define VegetaMA3Meter = 1;
define VegetaMA1Meter = 2;
define VegetaJA = 3;
define VegetaDR = 4;
define VegetaMAMeterless = 5;
define VegetaDRMeter = 6;
data(
EOC,
Vegeta2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaMA3Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
VegetaMA1Meter,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaJA,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
VegetaDR,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
EOC,
VegetaMAMeterless,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
VegetaDRMeter,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_R3

main {


if (get_val(XB1_X)) {combo_run (SCA_Turbofire1);}
if (get_val(XB1_Y)) {combo_run (SCA_Turbofire3);}
if (get_val(XB1_B)) {combo_run (SCA_Turbofire4);}
if (get_val(XB1_RT)) {combo_run (SCA_Turbofire5);}
if (get_val(XB1_RB)) {combo_run (SCA_Turbofire6);}



// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

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

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(3);
}

// 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_L3)) {
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(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(VegetaMA1Meter);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(VegetaJA);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(VegetaDRMeter);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Vegeta2M);
}
// Left Stick RIGHT
if (get_val (11) >= 80) {
cancel=1;
i = get_combo_index(VegetaMAMeterless);
}
// Left Stick UP
if (get_val (12) <= -80) {
cancel=1;
i = get_combo_index(VegetaDR);
}
// Left Stick DOWN
if (get_val (12) >= 80) {
cancel=1;
i = get_combo_index(VegetaMA3Meter);
}
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
}//<main> block end


combo SCA_Turbofire1 {


set_val(XB1_X, 100);
wait(40);
set_val(XB1_X, 0);
wait(40);
set_val(XB1_X, 0);
}//Super Combo Assistant Turbofire Script
//
//While XB1_A is pressed, it will Turbofired
//













combo SCA_Turbofire4 {


set_val(XB1_B, 100);
wait(40);
set_val(XB1_B, 0);
wait(40);
set_val(XB1_B, 0);
}








combo SCA_Turbofire3 {


set_val(XB1_Y, 100);
wait(40);
set_val(XB1_Y, 0);
wait(40);
set_val(XB1_Y, 0);
}
combo SCA_Turbofire5 {


set_val(XB1_RT, 100);
wait(40);
set_val(XB1_RT, 0);
wait(40);
set_val(XB1_RT, 0);
}
combo SCA_Turbofire6 {


set_val(XB1_RB, 100);
wait(40);
set_val(XB1_RB, 0);
wait(40);
set_val(XB1_RB, 0);
}
// 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);
}

BluMilk
22nd February 18, 13:42
Alright lastly i present DRUNK GINYU!!!!


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

//Posted : Tuesday 20th of February, 2018 4:40 UTC

// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
1,BTN7,
2,
2,DOWN,
BTN1,
2,
1,BTN1,
5,
0,9,
1,BTN1,
8,
0,6,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
2,
0,50,
1,DOWN,
2,
2,DOWN,
BACK,
2,
3,BTN5,
DOWN,
BACK,
2,
2,BTN5,
BACK,
2,
0,2,
1,BTN5,
150,
EOC,
GokuMA,
1,BTN4,
10,
0,8,
1,BTN4,
9,
0,11,
1,BTN1,
9,
0,7,
1,DOWN,
13,
2,DOWN,
BTN1,
6,
1,BTN1,
6,
0,29,
1,BTN2,
14,
0,8,
1,BTN2,
14,
0,6,
1,BTN2,
15,
0,39,
1,BTN2,
15,
0,5,
1,BTN2,
13,
0,32,
1,BTN4,
13,
0,15,
1,BTN1,
12,
0,7,
1,UP,
1,
2,UP,
FORWARD,
16,
3,UP,
FORWARD,
BTN4,
5,
2,UP,
BTN4,
3,
1,BTN4,
8,
0,9,
1,BTN4,
12,
0,11,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
40,
0,10,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,47,
1,BTN7,
2,
2,DOWN,
BTN1,
2,
1,BTN1,
5,
0,9,
1,BTN1,
8,
0,6,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
2,
0,50,
1,DOWN,
2,
2,DOWN,
BACK,
2,
3,BTN5,
DOWN,
BACK,
2,
2,BTN5,
BACK,
2,
0,2,
1,BTN5,
150,
EOC,
GokuDR,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
26,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
1,BTN2,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,17,
1,UP,
3,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
40,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,45,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_RX
unmap PS4_RY

main {


if (get_val(XB1_X)) {combo_run (SCA_Turbofire1);}
if (get_val(XB1_Y)) {combo_run (SCA_Turbofire3);}
if (get_val(XB1_RT)) {combo_run (SCA_Turbofire5);}
if (get_val(XB1_RB)) {combo_run (SCA_Turbofire6);}


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(1);
}



// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
// if (get_val (PS4_DOWN)) {
// set_val(PS4_TRIANGLE,0);
// cancel=2;
// if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}

// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

if (get_val (XB1_LX) >= 60) {combo_run(SuperComboAssistantLSR);}
if (get_val (XB1_LX) <= -60) {combo_run(SuperComboAssistantLSL);}

// R1 Dragon Rush DISABLED
// if (get_val (PS4_R1)) {
// set_val(PS4_R1,0);
// cancel=2;
// if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
// }

// R2 Super Dash DISABLED
// if (event_release(PS4_R2)) {

// cancel=3;
// i = get_combo_index(GokuSD);
// }
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
//<main> block end




combo SCA_Turbofire1 {


set_val(XB1_X, 100);
wait(40);
set_val(XB1_X, 0);
wait(40);
set_val(XB1_X, 0);
}
combo SCA_Turbofire3 {


set_val(XB1_Y, 100);
wait(40);
set_val(XB1_Y, 0);
wait(40);
set_val(XB1_Y, 0);
}
combo SCA_Turbofire5 {


set_val(XB1_RT, 100);
wait(40);
set_val(XB1_RT, 0);
wait(40);
set_val(XB1_RT, 0);
}
combo SCA_Turbofire6 {


set_val(XB1_RB, 100);
wait(40);
set_val(XB1_RB, 0);
wait(40);
set_val(XB1_RB, 0);
}




combo SuperComboAssistantLSR {
set_val(PS4_DOWN, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_DOWN, 0);
set_val(PS4_RIGHT, 100);
set_val(PS4_CROSS, 100);
wait(110);
set_val(PS4_RIGHT, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
wait(180);
set_val(PS4_TRIANGLE, 100);
set_val(PS4_CIRCLE, 100);
wait(380);
set_val(PS4_TRIANGLE, 0);
set_val(PS4_CIRCLE, 0);
wait(150);
set_val(PS4_DOWN, 100);
wait(30);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(30);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(10);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 0);
set_val(PS4_RIGHT, 100);
wait(110);
set_val(PS4_R2, 100);
set_val(PS4_RIGHT, 0);
wait(2060);
set_val(PS4_R2, 0);
wait(110);
}


combo SuperComboAssistantLSL {
set_val(PS4_DOWN, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_DOWN, 0);
set_val(PS4_LEFT, 100);
set_val(PS4_CROSS, 100);
wait(110);
set_val(PS4_LEFT, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
wait(180);
set_val(PS4_TRIANGLE, 100);
set_val(PS4_CIRCLE, 100);
wait(380);
set_val(PS4_TRIANGLE, 0);
set_val(PS4_CIRCLE, 0);
wait(150);
set_val(PS4_DOWN, 100);
wait(30);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(30);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(10);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 0);
set_val(PS4_LEFT, 100);
wait(110);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 0);
wait(2060);
set_val(PS4_R2, 0);
wait(110);
}

// 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);
}

hes kinda wonky and filled with dumb coding decisions but idk someone im sure will get a real kick outta this

so LS right is basic grounded BnBs but worse
LS up is basic air to air stuff but ending with a ginyu force summon to keep the mixups going... now for the crazy stuff

LS left and down are overhead/underhead(?) combos into BODY SWAP
you need vegeta in slot 2 and his assist not on cool down and guldo your next character in rotation.... i know that's a lotta qualifiers but like i said..... dumb drunk coding decisions are kinda my thing....:confused:
it does work online though with 1-4 frames of lag and maybe more
lastly on the RS left and right are body swap combos only when using sparking blast
you need 4 bars of meter and guildo need to be next on force rotation and you need to be close range BUT:
THIS BODY SWAP COMBO IS ALSO A MIXUP!!!
if your opponent is standing blocking you, you will still hit him its awsome give it a try and let me know what you think

again super duper thanks to justframe for giving me the stepping stone for making this awesome stuff and obviously use whatever code you can in these post to help or improve on your own works and if you need any help punching in some combos for scripts your working on hit me up id be more that glad to help:biggrin:

JQuest313
22nd February 18, 20:08
Alright lastly i present DRUNK GINYU!!!!


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

//Posted : Tuesday 20th of February, 2018 4:40 UTC

// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
1,BTN7,
2,
2,DOWN,
BTN1,
2,
1,BTN1,
5,
0,9,
1,BTN1,
8,
0,6,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
2,
0,50,
1,DOWN,
2,
2,DOWN,
BACK,
2,
3,BTN5,
DOWN,
BACK,
2,
2,BTN5,
BACK,
2,
0,2,
1,BTN5,
150,
EOC,
GokuMA,
1,BTN4,
10,
0,8,
1,BTN4,
9,
0,11,
1,BTN1,
9,
0,7,
1,DOWN,
13,
2,DOWN,
BTN1,
6,
1,BTN1,
6,
0,29,
1,BTN2,
14,
0,8,
1,BTN2,
14,
0,6,
1,BTN2,
15,
0,39,
1,BTN2,
15,
0,5,
1,BTN2,
13,
0,32,
1,BTN4,
13,
0,15,
1,BTN1,
12,
0,7,
1,UP,
1,
2,UP,
FORWARD,
16,
3,UP,
FORWARD,
BTN4,
5,
2,UP,
BTN4,
3,
1,BTN4,
8,
0,9,
1,BTN4,
12,
0,11,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
40,
0,10,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,47,
1,BTN7,
2,
2,DOWN,
BTN1,
2,
1,BTN1,
5,
0,9,
1,BTN1,
8,
0,6,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
2,
0,50,
1,DOWN,
2,
2,DOWN,
BACK,
2,
3,BTN5,
DOWN,
BACK,
2,
2,BTN5,
BACK,
2,
0,2,
1,BTN5,
150,
EOC,
GokuDR,
1,DOWN,
2,
2,DOWN,
FORWARD,
2,
1,FORWARD,
2,
2,FORWARD,
BTN3,
2,
1,BTN3,
26,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
1,BTN2,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,17,
1,UP,
3,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
40,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,45,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
unmap PS4_LX
unmap PS4_LY
unmap PS4_L3
unmap PS4_RX
unmap PS4_RY

main {


if (get_val(XB1_X)) {combo_run (SCA_Turbofire1);}
if (get_val(XB1_Y)) {combo_run (SCA_Turbofire3);}
if (get_val(XB1_RT)) {combo_run (SCA_Turbofire5);}
if (get_val(XB1_RB)) {combo_run (SCA_Turbofire6);}


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------

// Determine Active Character
if(event_press(PS4_R3)){
load_slot(1);
}



// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
// if (get_val (PS4_DOWN)) {
// set_val(PS4_TRIANGLE,0);
// cancel=2;
// if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}

// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

if (get_val (XB1_LX) >= 60) {combo_run(SuperComboAssistantLSR);}
if (get_val (XB1_LX) <= -60) {combo_run(SuperComboAssistantLSL);}

// R1 Dragon Rush DISABLED
// if (get_val (PS4_R1)) {
// set_val(PS4_R1,0);
// cancel=2;
// if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
// }

// R2 Super Dash DISABLED
// if (event_release(PS4_R2)) {

// cancel=3;
// i = get_combo_index(GokuSD);
// }
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
//<main> block end




combo SCA_Turbofire1 {


set_val(XB1_X, 100);
wait(40);
set_val(XB1_X, 0);
wait(40);
set_val(XB1_X, 0);
}
combo SCA_Turbofire3 {


set_val(XB1_Y, 100);
wait(40);
set_val(XB1_Y, 0);
wait(40);
set_val(XB1_Y, 0);
}
combo SCA_Turbofire5 {


set_val(XB1_RT, 100);
wait(40);
set_val(XB1_RT, 0);
wait(40);
set_val(XB1_RT, 0);
}
combo SCA_Turbofire6 {


set_val(XB1_RB, 100);
wait(40);
set_val(XB1_RB, 0);
wait(40);
set_val(XB1_RB, 0);
}




combo SuperComboAssistantLSR {
set_val(PS4_DOWN, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_DOWN, 0);
set_val(PS4_RIGHT, 100);
set_val(PS4_CROSS, 100);
wait(110);
set_val(PS4_RIGHT, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
wait(180);
set_val(PS4_TRIANGLE, 100);
set_val(PS4_CIRCLE, 100);
wait(380);
set_val(PS4_TRIANGLE, 0);
set_val(PS4_CIRCLE, 0);
wait(150);
set_val(PS4_DOWN, 100);
wait(30);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(30);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 100);
set_val(PS4_RIGHT, 100);
wait(10);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 0);
set_val(PS4_RIGHT, 100);
wait(110);
set_val(PS4_R2, 100);
set_val(PS4_RIGHT, 0);
wait(2060);
set_val(PS4_R2, 0);
wait(110);
}


combo SuperComboAssistantLSL {
set_val(PS4_DOWN, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(20);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_DOWN, 0);
set_val(PS4_LEFT, 100);
set_val(PS4_CROSS, 100);
wait(110);
set_val(PS4_LEFT, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
wait(180);
set_val(PS4_TRIANGLE, 100);
set_val(PS4_CIRCLE, 100);
wait(380);
set_val(PS4_TRIANGLE, 0);
set_val(PS4_CIRCLE, 0);
wait(150);
set_val(PS4_DOWN, 100);
wait(30);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(30);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 100);
set_val(PS4_LEFT, 100);
wait(10);
set_val(PS4_R2, 100);
set_val(PS4_DOWN, 0);
set_val(PS4_LEFT, 100);
wait(110);
set_val(PS4_R2, 100);
set_val(PS4_LEFT, 0);
wait(2060);
set_val(PS4_R2, 0);
wait(110);
}

// 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);
}

hes kinda wonky and filled with dumb coding decisions but idk someone im sure will get a real kick outta this

so LS right is basic grounded BnBs but worse
LS up is basic air to air stuff but ending with a ginyu force summon to keep the mixups going... now for the crazy stuff

LS left and down are overhead/underhead(?) combos into BODY SWAP
you need vegeta in slot 2 and his assist not on cool down and guldo your next character in rotation.... i know that's a lotta qualifiers but like i said..... dumb drunk coding decisions are kinda my thing....:confused:
it does work online though with 1-4 frames of lag and maybe more
lastly on the RS left and right are body swap combos only when using sparking blast
you need 4 bars of meter and guildo need to be next on force rotation and you need to be close range BUT:
THIS BODY SWAP COMBO IS ALSO A MIXUP!!!
if your opponent is standing blocking you, you will still hit him its awsome give it a try and let me know what you think

again super duper thanks to justframe for giving me the stepping stone for making this awesome stuff and obviously use whatever code you can in these post to help or improve on your own works and if you need any help punching in some combos for scripts your working on hit me up id be more that glad to help:biggrin:

Thanks for this! Can't wait to try this out.

ttttttttttt
23rd February 18, 14:38
I made a few small changes to this script from the Goku one. Left stick is now usable, you can move and do combos out of it as if it were the d-pad. It feels a little stiff to me, but I always play fighting games on the pad and I'm not used to using a stick at all so I don't know if its just me or if the script needs more fine-tuning. Let me know how it works for you.


great stuff. the stick feels ok to me, but i guess the best way for you to see would be just flip the cronusmax from 1 (the script) to 0(nothing) and back again and see if you notice a difference. one thing that might be an issue is that when i want to cancel the dash in combo. say the first hit is blocked and i want to get out of it by pressing a direction on the d pad for example, once i hit the ground it seems i cant move for a second or so, but maybe thats just me.

i came across this resource for combos that might help you, blumilk or anyone else who wants to have a try making combos. its incomplete, you might already have a better one and im not sure if the combos are even optimal but i think its definately worth a look

https://docs.google.com/spreadsheets/d/e/2PACX-1vStxd3co41pIsJuRt98kl_EQDaAxjHnHP1y76kzU8018Wv_MAhYUqV7ATyTWUkGddxMJQSt-05vbDL_/pubhtml# -combos for every character, the advanced tab has some helpful stuff too. move the tabs at the top to cycle between characters.

https://docs.google.com/spreadsheets/d/1iDRe9pJwcIkIUq8ABKNm00cD9rmAd0cd9m3Sb2V0J4I/edit#gid=0 -this ones more in depth but for only gotenks

Also if you have a request list of characters you wanna do after 16 please put beerus, cell, goku black, tien, hit and kid buu somewhere on it at some point. not really in a rush at all just these are the ones im looking forward to most

justframe
23rd February 18, 23:26
Here's all the characters I've done so far, remade to work with the new format.

Universal controls:
holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.
RS Left does a combo that works after super dashes, dragon rushes, etc.

Goku:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/19/18 Time: 6:53:22 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 Goku2M = 0;
define GokuMA = 1;
define GokuJH = 2;
define GokuDR = 3;
define Goku2H = 4;
define GokuSD = 5;
define GokuATA = 6;
data(
EOC,
Goku2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
EOC,
GokuDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
Goku2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuATA,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}


// 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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Goku2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Goku2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Goku2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GokuDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GokuSD);
}
// 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);
}

Vegeta:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/23/18 Time: 6:10:49 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 Vegeta2M = 0;
define VegetaMA = 1;
define VegetaJH = 2;
define VegetaSD = 3;
define Vegeta2H = 4;
define VegetaDR = 5;
data(
EOC,
Vegeta2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
60,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
VegetaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
50,
0,4,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
VegetaSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Vegeta2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
VegetaDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(VegetaMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(VegetaSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(VegetaJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Vegeta2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Vegeta2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(VegetaJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(VegetaMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Vegeta2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(VegetaDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(VegetaSD);
}
// 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);
}

Teen Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/21/18 Time: 6:13:26 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 TeenGohanMA = 0;
define TeenGohan2M = 1;
define TeenGohanJH = 2;
define TeenGohanDR = 3;
define TeenGohan2H = 4;
define TeenGohanSD = 5;
data(
EOC,
TeenGohanMA,
1,BTN1,
13,
0,14,
1,BTN1,
10,
0,19,
1,BTN2,
7,
0,66,
1,DOWN,
4,
2,DOWN,
FORWARD,
15,
2,FORWARD,
BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,40,
1,BTN4,
4,
0,50,
2,BTN1,
BTN2,
4,
0,160,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
EOC,
TeenGohan2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
TeenGohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,BTN1,
BTN2,
4,
0,160,
1,BACK,
4,
0,4,
1,BTN5,
4,
0,100,
EOC,
EOC,
TeenGohanDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohan2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TeenGohanSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(TeenGohanMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TeenGohanJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(TeenGohan2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(TeenGohan2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohanJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(TeenGohanMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TeenGohan2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(TeenGohanDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(TeenGohanSD);
}
// 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);
}

Frieza:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/07/18 Time: 12:24:53 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 Frieza2M = 0;
define FriezaJH = 1;
define FriezaMA = 2;
define FriezaGold2M = 3;
define FriezaGoldJH = 4;
define FriezaSD = 5;
define Frieza2H = 6;
define FriezaDR = 7;
data(
EOC,
Frieza2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaMA,
1,BTN1,
6,
0,30,
2,DOWN,
BTN1,
9,
0,65,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
EOC,
FriezaGold2M,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,35,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaGoldJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
9,
0,64,
1,BTN1,
6,
0,31,
1,DOWN,
3,
1,DOWN,
3,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BTN6,
BACK,
4,
0,100,
0,100,
0,100,
0,100,
0,100,
0,70,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
FriezaDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
Frieza2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,10,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
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;
int SWITCH;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(FriezaMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FriezaSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(FriezaGoldJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(FriezaGold2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Frieza2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(FriezaJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(FriezaMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Frieza2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(FriezaDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(FriezaSD);
}
// 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);
}

Goku Black:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/08/18 Time: 1:25:03 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 GokuBlack2M = 0;
define GokuBlackMA = 1;
define GokuBlackJH = 2;
define GokuBlackIT = 3;
define GokuBlackIT1 = 4;
define GokuBlackSD = 5;
define GokuBlack2H = 6;
define GokuBlackDR = 7;
data(
EOC,
GokuBlack2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,40,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlackJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlackSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GokuBlackIT,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN6,
4,
0,100,
EOC,
GokuBlack2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GokuBlackIT1,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN2,
4,
0,50,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,70,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN6,
4,
0,100,
EOC,
GokuBlackDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuBlackMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlackIT);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlackIT1);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(GokuBlack2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuBlackJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuBlackMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuBlack2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GokuBlackDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GokuBlackSD);
}
// 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);
}

Goku Blue (SSGSS):
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/10/18 Time: 3:37:21 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 GokuBlue2M = 0;
define GokuBlueJH = 1;
define GokuBlueMA = 2;
define GokuBlueSD = 3;
define GokuBlue2H = 4;
define GokuBlueSGF = 5;
define GokuBlueIT = 6;
define GokuBlueDR = 7;
data(
EOC,
GokuBlue2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GokuBlueSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
GokuBlue2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GokuBlueSGF,
1,DOWN,
6,
2,DOWN,
BACK,
2,
2,BACK,
BTN1,
9,
0,110,
2,BTN1,
BTN2,
11,
0,116,
1,BACK,
7,
0,7,
1,BACK,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
BACK,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
GokuBlueIT,
1,DOWN,
6,
2,DOWN,
FORWARD,
2,
2,FORWARD,
BTN3,
9,
0,90,
2,BTN1,
BTN2,
11,
0,110,
1,FORWARD,
7,
0,7,
1,FORWARD,
19,
0,1,
1,BTN1,
8,
0,18,
1,UP,
2,
2,UP,
FORWARD,
10,
0,9,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
GokuBlueDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GokuBlueMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GokuBlueIT);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(GokuBlueSGF);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(GokuBlue2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuBlueJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GokuBlueMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GokuBlue2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GokuBlueDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GokuBlueSD);
}
// 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);
}

Gotenks:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/23/18 Time: 6:40:01 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 Gotenks2M = 0;
define GotenksJH = 1;
define GotenksSD = 2;
define Gotenks2H = 3;
define GotenksMA = 4;
define Gotenks2M3 = 5;
define GotenksJH3 = 6;
define GotenksDR = 7;
data(
EOC,
Gotenks2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,28,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GotenksJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,28,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GotenksSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
Gotenks2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
GotenksMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
Gotenks2M3,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
50,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,82,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GotenksJH3,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,30,
1,BTN1,
4,
0,10,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
40,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
2,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
60,
0,4,
1,BTN1,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
50,
0,4,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,82,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
GotenksDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(GotenksMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(GotenksSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GotenksJH3);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Gotenks2M3);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Gotenks2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GotenksJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(GotenksMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Gotenks2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GotenksDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GotenksSD);
}
// 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);
}

There are also 4 combos mapped to each right stick direction for each character, you can use them in practice mode to find out what they do.

justframe
24th February 18, 01:40
And here's Android 16:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/23/18 Time: 7:36:58 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 Android16_2M = 0;
define Android16_MA = 1;
define Android16_JM = 2;
define Android16_SD = 3;
define Android16_2H = 4;
define Android16_DR = 5;
define Android16_2MCROSS = 6;
define Android16_JMCROSS = 7;
data(
EOC,
Android16_2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
4,
0,80,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
2,BTN1,
BTN2,
11,
0,130,
1,BACK,
4,
0,4,
1,BACK,
19,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
Android16_MA,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
2,BTN1,
BTN2,
11,
0,130,
1,BACK,
5,
0,5,
1,BACK,
19,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
Android16_JM,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN1,
4,
0,45,
1,BTN4,
4,
0,25,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
4,
0,80,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
2,BTN1,
BTN2,
11,
0,130,
1,BACK,
4,
0,4,
1,BACK,
19,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
EOC,
Android16_SD,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
EOC,
Android16_2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
2,BTN1,
BTN2,
11,
0,130,
1,BACK,
5,
0,4,
1,BACK,
19,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
Android16_DR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,120,
2,BTN1,
BTN2,
11,
0,130,
1,BACK,
4,
0,4,
1,BACK,
15,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,100,
EOC,
Android16_2MCROSS,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,38,
3,DOWN,
BACK,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
4,
0,80,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,110,
2,BTN1,
BTN2,
11,
0,130,
1,FORWARD,
4,
0,4,
1,FORWARD,
19,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
EOC,
Android16_JMCROSS,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN1,
4,
0,40,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
2,BTN1,
BTN2,
11,
0,130,
1,FORWARD,
8,
0,8,
1,FORWARD,
16,
0,1,
2,DOWN,
BTN1,
8,
0,18,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(Android16_MA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(Android16_SD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(Android16_JMCROSS);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Android16_2MCROSS);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Android16_2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Android16_JM);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(Android16_MA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Android16_2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(Android16_DR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(Android16_SD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

All of Android 16's combos, except for the super dash combo, end in a hard knockdown from Android 16's dynamite driver special. From there, you can start Android 16's vortex. After the knockdown you can choose between a cross-up overhead (RS up), a low(the 2M combo), or a dragon rush and your opponent is forced to guess what you'll do.

RS up is a cross-up combo that hits overhead. Its meant to be used after the hard knockdown.
RS down is an empty air-dash into a low, also for use after the hard knockdown.

If you want to do a super instead, both his lvl 1 and lvl 3 supers can be done after either powerbomb.

RS left is a generic combo for use after super dashes, dragon rushes, etc.
RS right is a combo out of standing medium.

Enjoy! I'll be doing Kid Buu next, then Cell.

acidmango
24th February 18, 05:48
Love your updated Teen Gohan combos justframe (http://cronusmax.com/forums/member.php/310190-justframe)
Thanks for all the other ones as well

cloudff7ac
26th February 18, 12:15
omg this thread is so nice. thx for all your works :O

if someone is going to do trunks, pleaaaase add this corner combo: https://youtu.be/wbaqld3xq1g?t=1m52s

justframe
26th February 18, 22:39
Here's Kid Buu:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/26/18 Time: 6:02:11 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 KidBuu2M = 0;
define KidBuuJH = 1;
define KidBuuMA = 2;
define KidBuu2H = 3;
define KidBuuSD = 4;
define KidBuuDR = 5;
define KidBuu3M = 6;
data(
EOC,
KidBuu2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,70,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,25,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,70,
1,BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
KidBuuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
1,BTN1,
4,
0,70,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,22,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,40,
EOC,
KidBuuMA,
1,BTN1,
4,
0,70,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,28,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,40,
EOC,
EOC,
KidBuu2H,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,70,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,100,
EOC,
KidBuuSD,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,15,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
KidBuuDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,32,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,70,
1,BTN4,
4,
0,100,
EOC,
KidBuu3M,
3,DOWN,
FORWARD,
BTN1,
4,
0,35,
2,DOWN,
BTN1,
4,
0,35,
3,DOWN,
BACK,
BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN2,
4,
0,140,
1,BTN4,
4,
0,15,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(KidBuuMA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(KidBuuSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(KidBuuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(KidBuu3M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(KidBuu2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(KidBuuJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(KidBuuMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(KidBuu2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(KidBuuDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(KidBuuSD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS up is the overhead combo
RS down is a combo out of Kid Buu's 3M. It hits low and can connect from almost fullscreen but doesn't work if you're too close.
RS left is a combo for use after super dashes, dragon rushes, etc.
RS right is a combo out of standing medium.

falconpunch323
27th February 18, 17:14
Everything is amazing here man! Great work I am trying to get a template up for arcade sticks as I just got a hitbox and the button press and hold was a great idea! Now on to the request lol Nappa. Can you hook me up with my bald boy lol

justframe
1st March 18, 00:54
Everything is amazing here man! Great work I am trying to get a template up for arcade sticks as I just got a hitbox and the button press and hold was a great idea! Now on to the request lol Nappa. Can you hook me up with my bald boy lol

Arcade stick support would be cool, I never use them so I have no idea how well my scripts would work with them lol.

I'll do nappa soon, right now I'm almost done with Cell and I'm running through the story mode to get Android 21 so I can make a script for her.

falconpunch323
1st March 18, 03:38
Arcade stick support would be cool, I never use them so I have no idea how well my scripts would work with them lol.

I'll do nappa soon, right now I'm almost done with Cell and I'm running through the story mode to get Android 21 so I can make a script for her.
yea it would be awesome, as of right now I cant get the CM to detect the hitbox but if I can somehow get it to happen or if I can get someone to look into it I would be more than willing to convert these to work on a stick for stick users

justframe
1st March 18, 18:48
Here's Cell:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/26/18 Time: 5:48:59 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 Cell2M = 0;
define CellJH = 1;
define CellMA = 2;
define Cell2H = 3;
define CellSD = 4;
define CellDR = 5;
define CellMA2 = 6;
data(
EOC,
Cell2M,
2,DOWN,
BTN1,
4,
0,25,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,33,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,21,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,32,
1,BTN3,
4,
0,27,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
CellJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,25,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,33,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,21,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,32,
1,BTN3,
4,
0,27,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
CellMA,
1,BTN1,
4,
0,30,
2,FORWARD,
BTN2,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
Cell2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,BTN3,
4,
0,30,
2,DOWN,
BTN1,
4,
0,100,
EOC,
CellSD,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
CellDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,60,
1,BTN3,
4,
0,30,
2,DOWN,
BTN1,
4,
0,100,
EOC,
CellMA2,
1,BTN1,
4,
0,30,
2,FORWARD,
BTN2,
4,
0,30,
1,BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN3,
4,
0,120,
0,120,
2,BTN1,
BTN2,
4,
0,135,
1,BTN3,
4,
0,4,
1,BTN3,
4,
0,30,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(CellMA2);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(CellSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(CellJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Cell2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Cell2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(CellJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(CellMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Cell2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(CellDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(CellSD);
}
// 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);

}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS up and down are the overhead and low combos.
RS left is a generic combo for use after dragon rushes, super dashes, etc.
RS right is an alternate combo out of standing medium that looks cooler and does more damage, but only works midscreen.

JQuest313
1st March 18, 19:05
Here's Cell:
// Script was generated with < Script Manipulator > ver. 13.6 Date :02/26/18 Time: 5:48:59 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 Cell2M = 0;
define CellJH = 1;
define CellMA = 2;
define Cell2H = 3;
define CellSD = 4;
define CellDR = 5;
define CellMA2 = 6;
data(
EOC,
Cell2M,
2,DOWN,
BTN1,
4,
0,25,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,33,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,21,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,32,
1,BTN3,
4,
0,27,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
CellJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,25,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,33,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,21,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,32,
1,BTN3,
4,
0,27,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,110,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
CellMA,
1,BTN1,
4,
0,30,
2,FORWARD,
BTN2,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
Cell2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,BTN3,
4,
0,30,
2,DOWN,
BTN1,
4,
0,100,
EOC,
CellSD,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,100,
EOC,
CellDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN2,
4,
0,60,
1,BTN3,
4,
0,30,
2,DOWN,
BTN1,
4,
0,100,
EOC,
CellMA2,
1,BTN1,
4,
0,30,
2,FORWARD,
BTN2,
4,
0,30,
1,BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN3,
4,
0,120,
0,120,
2,BTN1,
BTN2,
4,
0,135,
1,BTN3,
4,
0,4,
1,BTN3,
4,
0,30,
2,BTN2,
BTN3,
4,
0,50,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(CellMA2);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(CellSD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(CellJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Cell2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Cell2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(CellJH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(CellMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Cell2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(CellDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(CellSD);
}
// 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);

}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS up and down are the overhead and low combos.
RS left is a generic combo for use after dragon rushes, super dashes, etc.
RS right is an alternate combo out of standing medium that looks cooler and does more damage, but only works midscreen.

Ahh thank you for this one!

justframe
3rd March 18, 14:35
Here's Android 21:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/03/18 Time: 10:18:01 AM
//------------------------------------------------------------------------

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 Android21_MA = 0;
define Android21_2M = 1;
define Android21_JH = 2;
define Android21_2H = 3;
define Android21_SD = 4;
define Android21_DR = 5;
data(
EOC,
Android21_MA,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,95,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
9,
0,32,
3,UP,
FORWARD,
BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Android21_2M,
2,DOWN,
BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
9,
0,32,
3,UP,
FORWARD,
BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Android21_JH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
9,
0,32,
3,UP,
FORWARD,
BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
EOC,
Android21_2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
9,
0,32,
3,UP,
FORWARD,
BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Android21_SD,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Android21_DR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
9,
0,32,
3,UP,
FORWARD,
BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN3,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
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;
int SWITCH
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(Android21_MA);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(Android21_SD);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(Android21_JH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Android21_2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Android21_2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Android21_JH);
}
// forward + square
if (get_val (forward) && get_val (PS4_SQUARE)) {
set_val(PS4_SQUARE,0);
cancel=2;
if(get_lval(PS4_SQUARE)) i = get_combo_index(Android21_MA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Android21_2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(Android21_DR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(Android21_SD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 6L (forward + square) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS up and down are the overhead and low combos.
RS left is a generic combo for use after dragon rushes, super dashes, etc.
RS right is a combo out of standing medium.

BluMilk
7th March 18, 10:04
any chance at getting a hit script next? I need someone with more defensive options to round out my squad So far everything has been pretty darn effective against my enemies keep up the great work

Birth
11th March 18, 02:16
These work online?

mdmortier
13th March 18, 04:59
> ERROR line 527: syntax error near unexpected token 'unmap'.
Build failed with 1 errors ...

Why do I keep getting this error?
Thanks for the hard work :) Haven't had the chance to try it out yet, but it looks very promising!

(I've tried almost every script, and they give me the same error. Although, if I remove the lines where it says: Unmap. It runs through)

cloudff7ac
13th March 18, 05:48
possible to make forward dashjump with rightstick right
and backwards dashjump with rightstick left ?

justframe
13th March 18, 07:01
any chance at getting a hit script next?

I've got Nappa and Hit almost done, they're working on PC but I don't have my PS4 to test them on console right now and don't want to release them until i know they work on both pc and console. After that I plan to do Trunks and then Adult Gohan.


These work online?
yes, they should work online as long as you stick to decent connections (3 bars or over).


> ERROR line 527: syntax error near unexpected token 'unmap'.
Build failed with 1 errors ...

Why do I keep getting this error?
I don't know, I copy/pasted all the scripts I posted in the thread into cronuspro and never got that error. Is anyone else getting it?

if the unmap lines aren't working most of the script should still be usable except for whatever is on the sticks.


possible to make forward dashjump with rightstick right
and backwards dashjump with rightstick left ?

I've been thinking about adding it, but I'm not looking forward to reposting all these scripts yet again lol... I'm trying to fix a few things with the format that will help with some of the problems I've noticed when using the scripts, like moving the standing medium combo so that you can actually do light specials and making it easier to do supers with the shoulder buttons. I might add in forward/back IADs when I'm done with those, but I don't know where I'll put the combos already on right stick if I do.

mdmortier
13th March 18, 09:39
I don't know, I copy/pasted all the scripts I posted in the thread into cronuspro and never got that error. Is anyone else getting it?

if the unmap lines aren't working most of the script should still be usable except for whatever is on the sticks.


Could it be the reason that I am using a Titan One instead of CronusMax?
It wasn't an issue before with other scripts for some other games, like the division for example.

justframe
15th March 18, 20:33
Here's Nappa. I made a few changes to the script this time so be sure to read the instructions:

// Script was generated with < Script Manipulator > ver. 13.6 Date :03/15/18 Time: 5:34:36 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 Nappa5M = 0;
define Nappa2M = 1;
define NappaJH = 2;
define Nappa2H = 3;
define NappaSD = 4;
define NappaDR = 5;
define FWD_IAD = 6;
define BACK_IAD = 7;
data(
EOC,
Nappa5M,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Nappa2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
NappaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,6,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Nappa2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,100,
EOC,
EOC,
NappaSD,
0,5,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,100,
EOC,
NappaDR,
1,BTN5,
4,
0,110,
0,100,
0,96,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(NappaSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Nappa2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Nappa2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(NappaJH);
}
// standing medium
if (!get_val (PS4_DOWN) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Nappa5M);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Nappa2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(NappaDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(NappaSD);
}
// 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);
}


holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.

I decided to add these because they are technically the safest way to move around the screen. During an air dash you can block, which makes it safer than ground dashing forwards or backwards. The combo will do the blocking for you, all you have to do is hold the RS forward or back. Note that its not airtight as you can be hit during the startup of the jump, and be careful not to just keep it held during blockstun.

RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a combo out of crouching medium.

Hit should be finished soon.

JQuest313
15th March 18, 20:43
Here's Nappa. I made a few changes to the script this time so be sure to read the instructions:

// Script was generated with < Script Manipulator > ver. 13.6 Date :03/15/18 Time: 5:34:36 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 Nappa5M = 0;
define Nappa2M = 1;
define NappaJH = 2;
define Nappa2H = 3;
define NappaSD = 4;
define NappaDR = 5;
define FWD_IAD = 6;
define BACK_IAD = 7;
data(
EOC,
Nappa5M,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Nappa2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
NappaJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,6,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,40,
1,BTN2,
4,
0,50,
2,BTN2,
BTN3,
13,
0,85,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,40,
2,BTN1,
BTN2,
4,
0,140,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,100,
EOC,
Nappa2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,100,
EOC,
EOC,
NappaSD,
0,5,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,100,
EOC,
NappaDR,
1,BTN5,
4,
0,110,
0,100,
0,96,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(NappaSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Nappa2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Nappa2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(NappaJH);
}
// standing medium
if (!get_val (PS4_DOWN) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Nappa5M);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Nappa2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(NappaDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(NappaSD);
}
// 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);
}


holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.

I decided to add these because they are technically the safest way to move around the screen. During an air dash you can block, which makes it safer than ground dashing forwards or backwards. The combo will do the blocking for you, all you have to do is hold the RS forward or back. Note that its not airtight as you can be hit during the startup of the jump, and be careful not to just keep it held during blockstun.

RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a combo out of crouching medium.

Hit should be finished soon.

Thanks for this. Can't wait for Hit!

justframe
18th March 18, 12:31
Here's Hit:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/18/18 Time: 8:08:36 AM
//------------------------------------------------------------------------

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 Hit5M = 0;
define Hit2M = 1;
define HitJM = 2;
define Hit2H = 3;
define HitSD = 4;
define HitDR = 5;
define HitVanish = 6;
define FWD_IAD = 7;
define BACK_IAD = 8;
data(
EOC,
Hit5M,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Hit2M,
2,DOWN,
BTN1,
4,
0,50,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
HitJM,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN1,
4,
0,30,
1,BTN4,
4,
0,30,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,35,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Hit2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
EOC,
HitSD,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
EOC,
HitDR,
1,BTN5,
4,
0,110,
0,100,
0,96,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
EOC,
HitVanish,
2,BTN1,
BTN2,
4,
0,140,
1,BTN1,
4,
0,30,
2,UP,
BACK,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
BACK,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,150,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(1);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(HitSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(HitVanish);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Hit2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(HitJM);
}
// standing medium
if (!get_val (PS4_DOWN) && !get_val (forward) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Hit5M);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Hit2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(HitDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(HitSD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.
RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a vanish combo for use after Hit's 'Vital Point Attack' and 'Tides of Time' stance light and medium attacks.

eletif
19th March 18, 11:44
Thanks for all your hard work, do you think it would be possible to add this 100% combo to SSJ1 goku? https://streamable.com/h5b7l

Darkxninja1
23rd March 18, 14:30
Do you think it’s possible to make a
SSGSS VEGETA BLUE Combo I think it’ll be great if you do I’ll pay for somebody like that I love his dunk combos I’ll send some if necessary

justframe
24th March 18, 11:37
Here's Trunks:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/18/18 Time: 12:00:24 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 Trunks2M = 0;
define Trunks5M = 1;
define TrunksJH = 2;
define Trunks2H = 3;
define TrunksSD = 4;
define TrunksDR = 5;
define FWD_IAD = 6;
define BACK_IAD = 7;
data(
EOC,
Trunks2M,
2,DOWN,
BTN1,
4,
0,40,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,25,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,95,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,170,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Trunks5M,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,25,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,22,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
TrunksJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,40,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,15,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,25,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,95,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,170,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
Trunks2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,25,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,22,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
EOC,
TrunksSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
TrunksDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,35,
2,DOWN,
BTN2,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(TrunksSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Trunks2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Trunks2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(TrunksJH);
}
// standing medium
if (!get_val (PS4_DOWN) && !get_val (forward) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Trunks5M);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Trunks2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(TrunksDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(TrunksSD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
releasing R2/RT will do a combo out of a super dash. In order to cancel the combo, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.
RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a combo out of crouching medium.

I'll see about doing SSGSS Vegeta, Adult Gohan, etc. after Broly and Bardock come out I'll be doing them first.

BluMilk
24th March 18, 12:55
Yay! Brolly first please!!

Argon
27th March 18, 08:12
@Justframe Could you add this fantastic combo to the Black Goku script?

https://youtu.be/HdZTg47GK6M

justframe
28th March 18, 01:18
While I wait for Broly and Bardock to become available I thought I would share this script for automatic Zeni farming:
main {if( get_val(PS4_RY) > -80 ) combo_run (AutoZeni );
}




combo AutoZeni {
set_val(PS4_CROSS,100); //
wait(40); //
wait(100); //
}




Here's how it works:

Go into your buttons menu in game and change light attack to Cross/A (the default ki blast button). You can always change it back when you're done doing automatic farming.
Then go to the arcade mode, select any fighters and select the basic Snake Way Course.
Then load the memory slot you put this script into.

The script will now spam the light auto combo which will (usually) win the arcade mode with an S ranking, which gives you 7000 zeni per run. After thats done it will restart the arcade mode on its own and complete it again. All in all this will usually give you 42,000-49,000 zeni per hour.

Enjoy!

Edit: apparently Broly and Bardock might not be coming out until 7 pm Pacific which means it will probably be tomorrow before the Broly script gets finished.

justframe
28th March 18, 19:01
So Broly and Bardock came sooner than expected and I've been able to play around with them a bit. After trying out their combos I decided to do Bardock first, because his combos were much more standard and easy to make. Broly's combo game is either really bad or no one has figured them out yet, he seems to need 2-3 meter or two assists to get damage even close to what most characters get. I haven't been able to come up with anything good for him and can't find any good combos online either. They either do no damage, spend too much meter, involve specific assists or only work in the corner. I'm going to hold off on making Broly for a few days in hopes that someone can come up with some better combos for him, if not I guess I'll make do with whatever he has.

Here's Bardock:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/28/18 Time: 1:16:36 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 Bardock2M = 0;
define BardockJH = 1;
define Bardock5M = 2;
define Bardock2H = 3;
define BardockSD = 4;
define BardockDR = 5;
define FWD_IAD = 6;
define BACK_IAD = 7;
define Bardock236S = 8;
data(
EOC,
Bardock2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN6,
FORWARD,
4,
0,100,
EOC,
BardockJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN6,
FORWARD,
4,
0,100,
EOC,
Bardock5M,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,40,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,31,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN6,
FORWARD,
4,
0,100,
EOC,
EOC,
Bardock2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,60,
2,UP,
FORWARD,
2,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,160,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN6,
FORWARD,
4,
0,100,
EOC,
BardockSD,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,55,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,10,
EOC,
BardockDR,
1,BTN5,
4,
0,110,
0,100,
0,96,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN1,
4,
0,160,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
EOC,
Bardock236S,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,190,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,64,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,31,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,60,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN2,
4,
0,160,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(BardockSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Bardock236S);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Bardock2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(BardockJH);
}
// standing medium
if (!get_val (PS4_DOWN) && !get_val (forward) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Bardock5M);
}
// down + heavy
if (get_val (PS4_DOWN) && get_ptime(PS4_DOWN) > 40) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Bardock2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(BardockDR);
}

// R2 Super Dash
//if (event_release(PS4_R2)) {

//cancel=3;
//i = get_combo_index(BardockSD);
//}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
I got rid of the R2 super dash combo for Bardock because it gets in the way of his supers.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.
RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a corner combo out of Bardock's 236S "Tyrant Lancer" special.

Don't forget that if a combo ends in the "Saiyan Spirit" super you can press any attack button during it to do a follow-up super for more damage.

BluMilk
28th March 18, 19:35
Yeah I was curious how you would handle Broly considering how wonky his combos can be....
I've been scouring YouTube pretty much hourly today but no luck on finding any combo vids that aren't crazy meter heavy or use Vegetta assist; never mind the ones that require being in the corner to connect
It's a shame....I was really looking forward to him but he seems unweildly at the moment

amr9698
30th March 18, 18:04
the new format scripts don't have 3 bar super combos?

justframe
31st March 18, 11:12
No, I decided it wasn't needed because so far there hasn't been a character who needs to do a completely different combo to land their lvl 3 super. If you want to do a level 3 you can always stop the combo before the lvl 1 and input a lvl 3 manually.

justframe
31st March 18, 11:24
Here's Broly:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/31/18 Time: 7:01:57 AM
//------------------------------------------------------------------------

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 Broly2M = 0;
define BrolyJH = 1;
define Broly5M = 2;
define Broly2H = 3;
define BrolySD = 4;
define BrolyDR = 5;
define Broly2MCorner = 6;
define Broly5MCorner = 7;
define BrolyJHCorner = 8;
define Broly2HCorner = 9;
data(
EOC,
Broly2M,
2,DOWN,
BTN1,
4,
0,22,
1,BTN1,
4,
0,45,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
BrolyJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,22,
1,BTN1,
4,
0,45,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
Broly5M,
1,BTN1,
4,
0,22,
2,DOWN,
BTN1,
4,
0,40,
1,BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
Broly2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
EOC,
BrolySD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
BrolyDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,90,
EOC,
EOC,
Broly2MCorner,
2,DOWN,
BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,180,
1,FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,90,
EOC,
Broly5MCorner,
1,BTN1,
4,
0,25,
2,DOWN,
BTN1,
4,
0,25,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,190,
1,FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,90,
EOC,
BrolyJHCorner,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,180,
1,FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,90,
EOC,
Broly2HCorner,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,25,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,35,
2,DOWN,
BTN2,
4,
0,90,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,90,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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(Broly5MCorner);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(Broly2HCorner);
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(BrolyJHCorner);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Broly2MCorner);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Broly2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(BrolyJH);
}
// standing medium
if (!get_val (PS4_DOWN) && !get_val (forward) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Broly5M);
}
// down + heavy
if (get_val (PS4_DOWN) && get_ptime(PS4_DOWN) > 40) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Broly2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1) && get_ptime (PS4_R1) > 40 ){
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(BrolyDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(BrolySD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
Releasing R2 will do a combo out of a super dash. To cancel it, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

Because Broly's combo potential is so limited midscreen, I put special corner combos on RS.

RS right does a corner combo out of standing medium.
RS left does a corner combo out of crouching heavy.
RS up is a corner combo out of jumping heavy.
RS down is a corner combo out of crouching medium.

The midscreen combos are there if you want them but what I've been doing while playing Broly is using EX Lariat Express to put my opponents in the corner if I land a hit midscreen. You can also use an assist to set up the medium version if you don't want to spend the meter for the EX version. Bardock's assist actually works very well for this.

Vegeta Blue will be next.

eletif
31st March 18, 23:29
Thank you so much, you're a god send.

justframe
3rd April 18, 12:45
Here's Vegeta Blue (SSGSS):
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/26/18 Time: 5:47:07 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 VegetaBlue2M = 0;
define VegetaBlueMA = 1;
define VegetaBlueJH = 2;
define VegetaBlueSD = 3;
define VegetaBlue2H = 4;
define VegetaBlueDR = 5;
define FWD_IAD = 6;
define BACK_IAD = 7;
data(
EOC,
VegetaBlue2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,70,
2,BTN1,
BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,130,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
VegetaBlueMA,
1,BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
1,BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,110,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,70,
2,BTN1,
BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,130,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
VegetaBlueJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,40,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,70,
2,BTN1,
BTN2,
4,
0,120,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,130,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN5,
4,
0,100,
EOC,
EOC,
VegetaBlueSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,100,
EOC,
VegetaBlue2H,
2,DOWN,
BTN2,
4,
0,40,
2,BTN2,
BTN3,
4,
0,90,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
VegetaBlueDR,
1,BTN5,
4,
0,110,
0,100,
0,100,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(VegetaBlueJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(VegetaBlue2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(VegetaBlue2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(VegetaBlueJH);
}
// forward + square
if (!get_val (forward) && !get_val (PS4_DOWN) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(VegetaBlueMA);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(VegetaBlue2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(VegetaBlueDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(VegetaBlueSD);
}
// 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);
}

holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
Release R2 for a combo out of a super dash. To cancel, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.

RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.
RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a combo out of crouching medium.

Next will be Adult Gohan

eletif
3rd April 18, 22:35
Can't wait for adult gohan! I've been using him since launch and I've been using universal combos from your other character scripts that still work with him in the meantime.

justframe
6th April 18, 10:00
Here's Adult Gohan:
// Script was generated with < Script Manipulator > ver. 13.6 Date :03/26/18 Time: 8:33:50 AM//------------------------------------------------------------------------

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 Gohan2M = 0;
define Gohan5M = 1;
define GohanJH = 2;
define Gohan2L = 3;
define GohanSD = 4;
define GohanDR = 5;
define Gohan2H = 6;
define FWD_IAD = 7;
define BACK_IAD = 8;
data(
EOC,
Gohan2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,50,
2,DOWN,
FORWARD,
4,
3,DOWN,
FORWARD,
BTN2,
4,
0,20,
1,DOWN,
4,
0,4,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
Gohan5M,
1,BTN1,
4,
0,20,
2,DOWN,
BTN1,
4,
0,40,
2,DOWN,
FORWARD,
4,
3,DOWN,
FORWARD,
BTN2,
4,
0,20,
1,DOWN,
4,
0,4,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GohanJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,50,
2,DOWN,
FORWARD,
4,
3,DOWN,
FORWARD,
BTN2,
4,
0,20,
1,DOWN,
4,
0,4,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
EOC,
Gohan2L,
2,DOWN,
BTN4,
4,
0,20,
1,BTN4,
4,
0,35,
1,BTN1,
4,
0,25,
2,DOWN,
BTN1,
4,
0,55,
2,DOWN,
FORWARD,
4,
3,DOWN,
FORWARD,
BTN2,
4,
0,10,
1,DOWN,
4,
0,4,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
2,BTN2,
BTN3,
4,
0,90,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
GohanSD,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,50,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
EOC,
GohanDR,
1,BTN5,
4,
0,110,
0,100,
0,92,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,22,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
EOC,
Gohan2H,
2,DOWN,
BTN2,
4,
0,30,
2,BTN3,
BTN2,
4,
0,100,
1,BTN1,
4,
0,20,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BTN2,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN4,
4,
0,30,
2,DOWN,
BTN2,
4,
0,30,
1,DOWN,
4,
2,DOWN,
BACK,
4,
2,BACK,
BTN4,
4,
0,150,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(3);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(GohanSD);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Gohan2M);
}
// Down + Medium
if (get_val (PS4_DOWN)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Gohan2M);
}
// up/forward + heavy
if (get_val (forward) && get_val (PS4_UP)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(GohanJH);
}
// forward + square
if (!get_val (forward) && !get_val (PS4_DOWN) && get_val (PS4_TRIANGLE)) {
set_val(PS4_TRIANGLE,0);
cancel=2;
if(get_lval(PS4_TRIANGLE)) i = get_combo_index(Gohan5M);
}
// down + heavy
if (get_val (PS4_DOWN)) {
set_val(PS4_CIRCLE,0);
cancel=2;
if(get_lval(PS4_CIRCLE)) i = get_combo_index(Gohan2H);
}

// R1 Dragon Rush
if (get_val (PS4_R1)&& get_ptime (PS4_R1) > 40) {
set_val(PS4_R1,0);
cancel=2;
if(get_lval(PS4_R1)) i = get_combo_index(GohanDR);
}

// R2 Super Dash
if (event_release(PS4_R2)) {

cancel=3;
i = get_combo_index(GohanSD);
}
// 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);
}

Important note: All of these combos are made to work when Gohan is level 1 or above. They won't work at level 0. If you are level 0 end the combo with a regular heavy attack instead of the down+heavy, and then do your level 1 super when you hit the ground. It won't hit the opponent unless they are in the corner, but it will get you to level 1.


holding 2M (down + triangle) will do a combo out of crouching medium.
holding 9H (up/forward + circle) will do a combo out of IAD heavy (overhead).
holding 5M (triangle) will do a combo out of standing medium.
holding 2H (down + circle) will do a combo out of crouching heavy.
holding R1/RB will do a combo out of a dragon rush.
Release R2 for a combo out of a super dash. To cancel, quickly press cross.
Pressing R3 will load a different memory slot in your CronusMax.
Pressing select/back will turn the R3 memory slot loader on or off. When its off, the LED will be red.


RS forward will do instant air-dash forwards.
RS back will do an instant air-dash backwards.
RS up is a generic combo for use after super dashes, dragon rushes, etc.
RS down is a combo out of crouching medium.

I will be taking a break from scripting for a while. I might not come back until the next two DLC characters. If I do anyone before then it will probably be Tien.

JQuest313
6th April 18, 10:52
Thanks for the hard work!

BluMilk
7th April 18, 10:59
You da Man!!! Thanks for all the cool scripts dude

eletif
15th April 18, 01:59
Hey just so you're aware A. Gohan finishers don't connect properly (the aerial special)

eletif
16th April 18, 18:09
Whoops nevermind I'm retarded and forgot to level up before trying the combos.

redry84
17th April 18, 21:29
Thanks a lot for your hard work, i have a question though. I use razer synapse macros (im on pc) for some stuff that isnt on the forums.

What are the chances of a ban since dbfz uses EAC? Tekken doesn't have anything so you can macro with anything all you want but when i googled around there's tons of posts about people getting banned by EAC on Rust for using razer synapse and AHK macros. Since dbfz uses that same anticheat that rust has, EAC, aren't we all detected because the scripts don't have something like random delay so it could be very easy to detect even if youre not only using razer synapse?

I understand that neither cronus max nor razer synapse do anything with the game files etc and especially cronus max should be impossible to detect but the actions you input in-game still might be very predictable and its always the same inputs at the same intervals etc so EAC could easily detect this, no?

Since this anticheat seems to be able to easily detect ahk scripts i dont see how it would be any different with these, the AC and the game cannot differentiate between ahk and and synapse or cronusmax/whatever else. Everything gets converted into the same format. For example, what's the difference when you click and a program clicks for you? The computer takes it as the same input.

http://i.imgur.com/qudGKSj.png theres tons of examples of bans.. And EAC bans in waves not instantly so.. how safe is it to use razer synapse?

justframe
18th April 18, 02:49
As far as I know EAC can only detect processes that are running while you run the game, so unless the macros are being run through a program that is running while you have the game on you can't be detected.

goku100055
25th April 18, 14:08
these don't work for xbox one.

JQuest313
25th April 18, 14:17
these don't work for xbox one.

Really? They been working perfectly for me on there. Which characters did you try?

goku100055
25th April 18, 15:36
goku blue ssgss, is it because i'm on a arcade stick?

JQuest313
25th April 18, 16:27
goku blue ssgss, is it because i'm on a arcade stick?

Could be a possibility. I've never used the cronus on my sticks.

Aesee
1st May 18, 09:09
JustFrame I would say I'd do it but seeing as I barely have knowledge I'll just suggest, Perhaps incorporate a system for changing script to match certain delays a match might have? Here in canada atleast, it typically happens where since the canada servers are so low with player amounts (since the removal of servers) most canadians are bound to switch to us servers where delays can value between 1-8, this would be a BIG help, and I thank you for all your previous hard work, its actually really nice being able to use these to also manually learn the combos, a few things I couldn't find online like how to knockup (cancelish, so you can do the knockup without IT to extend, it was a great thing to learn manually because of your scripts) Am also super excited to see what you will do for zamasu and vegito!

justframe
18th May 18, 17:47
A quick update: the rumor is that the DLC characters are going to drop at the end of this month. If so I won't be able to get to them until around June 8-10th, as I'll be away on vacation until then. Vegito will probably be done first since I expect Zamasu's combos to be harder to make due to his flight mechanic. Once I'm done with those two I'll go back to posting new scripts regularly.

As far as changing a script to match lag, I do plan on eventually going back through all of the scripts and ironing out the kinks in them to make them more lag-friendly.

Aesee
20th May 18, 11:26
A quick update: the rumor is that the DLC characters are going to drop at the end of this month. If so I won't be able to get to them until around June 8-10th, as I'll be away on vacation until then. Vegito will probably be done first since I expect Zamasu's combos to be harder to make due to his flight mechanic. Once I'm done with those two I'll go back to posting new scripts regularly.

As far as changing a script to match lag, I do plan on eventually going back through all of the scripts and ironing out the kinks in them to make them more lag-friendly.

Sounds great thanks!, I'll be sure to see what I can come up with combo wise when they come out I suppose ^^ just as a temporary thing until you do yours.

Aesee
1st June 18, 01:19
Just an update, I've been personally working on a Zamasu script, so look forward to that hopefully tomorrow or the day after.

Heres one of the combos as featured, (atleast until I discover other things, for now the script includes this and a overhead variation, aswell as IAD's) Will expand , and may just release script as is for now,
note that the combo featured in the video has no actual special at the end, those were manually input because thats just how I play, as for the combo itself, the quater circle triangle slash, doesnt actually hit if in a corner, so follow up after the quater circle x manually instead, or I could make some sort of variation combo for those whom don't work well with some manual inputs.

I also use right stick only, as everything else is manual, I use stick combos based on situation, I dont find the need to bind Down Triangle etc although may take requests.


https://www.youtube.com/watch?v=pDGuWi4x5MQ

Aesee
2nd June 18, 13:52
I sadly have yet to get to finish any other combo due to other things ive been doing, however heres whats shown in the video, i's nothing special and the delays are a mess, but ill either fix it at some point or someone else can try, or we can wait for just frames scripts. im still working on compiling a bunch of combos into a text file, thinking of adding some assist combos and stuff too.

Note: if you quater circle back circle, for the beams that shoot at the opponent, and sparking you could hit around 69% i believe it was. just a note.

Zamasu (Only One Combo, JH Or Non Variant, Only Right Stick.)

//Posted by Aesee, a member of the community in the CronusMAX Forums - http://cronusmax.com/forums
//Posted : Sunday 2nd of June, 2018 13:54 UTC

// Script was generated with < Script Manipulator > ver. 13.6 Date :06/02/18 Time: 4:53:20 AM//------------------------------------------------------------------------

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 Zamasu2M = 0;
define ZamasuJH = 1;
define FWD_IAD = 2;
define BACK_IAD = 3;
data(
EOC,


Zamasu2M,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,10,
1,BTN4,
4,
0,40,
1,BTN4,
4,
0,30,
2,UP,
FORWARD,
4,
0,5,
1,BTN4,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN3,
4,
0,30,
1,BTN3,
4,
0,10,
1,BTN3,
4,
0,5,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,95,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
ZamasuJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
2,DOWN,
BTN1,
4,
0,20,
1,BTN1,
4,
0,30,
2,UP,
FORWARD,
4,
0,20,
1,BTN1,
4,
0,10,
1,BTN4,
4,
0,40,
1,BTN4,
4,
0,30,
2,UP,
FORWARD,
4,
0,5,
1,BTN4,
4,
0,10,
1,BTN1,
4,
0,10,
1,BTN3,
4,
0,30,
1,BTN3,
4,
0,10,
1,BTN3,
4,
0,5,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN3,
4,
0,95,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,50,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN5,
4,
0,100,
EOC,
FWD_IAD,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
4,
0,4,
1,BACK,
40,
0,4,
EOC,
BACK_IAD,
2,UP,
BACK,
4,
0,4,
1,BACK,
42,
0,4,
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;
int SWITCH;
int Switch;
unmap PS4_RX
unmap PS4_RY
unmap PS4_LX
unmap PS4_LY
unmap PS4_SHARE

main {


// Determine Back and Forward
if(event_press(PS4_RIGHT)) {
back = LEFT; forward = RIGHT;
Switch = TRUE;
} else if(event_press(PS4_LEFT)) {
back = RIGHT; forward = LEFT;
Switch = FALSE
}//----------------------------------------------


//TURN character switch on and off
if (event_press(PS4_SHARE)) {
SWITCH = !SWITCH;
}
// Determine Active Character
if (!SWITCH) {
set_led(LED_1, 2);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(event_press(PS4_R3)){
load_slot(2);
}
}
else if (SWITCH) {
set_led(LED_1, 0);
set_led(LED_2, 2);
set_led(LED_3, 0);
set_led(LED_4, 0);
}


// Left Stick Functionality
if (get_val (PS4_LX) >= 40) {
back = LEFT; forward = RIGHT;
set_val(forward, 100);

}
if (get_val (PS4_LX) <= -40) {
back = RIGHT; forward = LEFT;
set_val(forward, 100);

}
if (get_val (PS4_LY) >= 40) {

set_val(PS4_DOWN, 100);

}
if (get_val (PS4_LY) <= -40) {

set_val(PS4_UP, 100);

}







// 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;
}
}
// combo cancel buttons
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_CIRCLE) && !get_val(PS4_TRIANGLE) && !get_val(PS4_R1) && !get_val(PS4_R2) && !get_val(PS4_SQUARE) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==3){
if (get_val(PS4_CROSS)) {
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 ---------------------------
//////////////////////////////////////////////////////////////////////////
if(Switch) {
// Right Stick RIGHT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
else if (!Switch) {
// Right Stick RIGHT
if (get_val (9) <= -80) {
cancel=1;
i = get_combo_index(FWD_IAD);
}
// Right Stick LEFT
if (get_val (9) >= 80) {
cancel=1;
i = get_combo_index(BACK_IAD);
}
}
// Right Stick UP
if (get_val (10) <= -80) {
cancel=1;
i = get_combo_index(ZamasuJH);
}
// Right Stick DOWN
if (get_val (10) >= 80) {
cancel=1;
i = get_combo_index(Zamasu2M);
}
// 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);
}

justframe
8th June 18, 08:43
Here's Vegito:
// Script was generated with < Script Manipulator > ver. 13.6 Date :06/05/18 Time: 2:53:33 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 Vegito2M = 0;
define Vegito5M = 1;
define VegitoJH = 2;
define Vegito2H = 3;
define VegitoSD = 4;
define VegitoDR = 5;
define Vegito5S = 6;
define Vegito6S = 7;
define FWD_IAD = 8;
define BACK_IAD = 9;
data(
EOC,
Vegito2M,
2,DOWN,
BTN1,
4,
0,20,
2,DOWN,
BTN4,
4,
0,60,
1,BTN4,
4,
0,60,
1,BTN4,
4,
0,30,
1,BTN1,
4,
0,40,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,25,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
2,DOWN,
BTN3,
4,
0,70,
2,BTN2,
BTN3,
4,
0,70,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,140,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
////////////////////////////////
Vegito5M,
1,BTN1,
4,
0,25,
2,DOWN,
BTN1,
4,
0,40,
2,DOWN,
BTN4,
4,
0,60,
1,BTN4,
4,
0,60,
1,BTN4,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,25,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
2,DOWN,
BTN3,
4,
0,70,
2,BTN2,
BTN3,
4,
0,70,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,140,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
/////////////////////////////
VegitoJH,
2,UP,
FORWARD,
4,
0,4,
1,FORWARD,
10,
0,4,
1,BTN2,
4,
0,50,
1,BTN1,
4,
0,25,
2,DOWN,
BTN1,
4,
0,40,
2,DOWN,
BTN4,
4,
0,60,
1,BTN4,
4,
0,60,
1,BTN4,
4,
0,30,
2,UP,
FORWARD,
4,
0,10,
1,BTN1,
4,
0,25,
1,BTN4,
4,
0,25,
1,BTN4,
4,
0,20,
2,DOWN,
BTN3,
4,
0,70,
2,BTN2,
BTN3,
4,
0,70,
1,BTN1,
4,
0,22,
1,BTN4,
4,
0,22,
1,BTN4,
4,
0,20,
2,UP,
FORWARD,
4,
0,10,
1,BTN4,
4,
0,20,
1,BTN1,
4,
0,20,
1,BTN3,
4,
0,70,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,FORWARD,
BTN1,
4,
0,140,
1,DOWN,
4,
2,DOWN,
FORWARD,
4,
2,BTN5,
FORWARD,
4,
0,100,
EOC,
EOC,
Vegito2H,
2,DOWN,
BTN2,
4,