PDA

View Full Version : Converting Data



Mr Fwak
24th May 17, 17:29
Could anyone be a god and teach me how to convert my combos please :(
Tut looks abit outdated, that or i'm just thick.

Mr Fwak
25th May 17, 05:02
iv'e figured it out, but now all my wait times are messed up, anyone now why? :S

Excalibur
26th May 17, 00:52
iv'e figured it out, but now all my wait times are messed up, anyone now why? :S

Here is the converted script :


// Script was generated with < Script Manipulator > ver. 12.6 Date :05/26/17 Time: 7:37:44 AM
//------------------------------------------------------------------------

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


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


define Combo1 = 0;
define Combo2 = 1;
define Combo3 = 2;
define Combo4 = 3;
define Combo5 = 4;
define Combo6 = 5;
data(
Combo1,
2,FORWARD,
Y,
2,
0,2,
1,A,
10,
0,2,
1,DOWN,
10,
0,4,
1,BACK,
10,
0,4,
1,A,
10,
0,10,
1,RT,
10,
0,110,
1,FORWARD,
10,
0,4,
1,FORWARD,
10,
0,30,
2,BACK,
A,
20,
0,80,
2,UP,
FORWARD,
10,
0,30,
1,A,
10,
0,40,
2,FORWARD,
Y,
10,
0,4,
1,A,
10,
0,4,
1,DOWN,
10,
0,4,
1,BACK,
10,
0,4,
1,Y,
10,
0,4,
EOC,
Combo2,
2,FORWARD,
Y,
2,
0,2,
2,A,
DOWN,
10,
0,10,
1,BACK,
2,
0,2,
1,A,
2,
0,60,
1,RT,
2,
0,130,
1,B,
70,
0,20,
1,FORWARD,
2,
0,2,
1,B,
10,
0,60,
2,FORWARD,
Y,
2,
0,4,
1,A,
2,
0,4,
1,A,
2,
0,135,
1,A,
2,
0,4,
1,BACK,
2,
0,4,
2,FORWARD,
X,
10,
0,85,
1,A,
10,
0,2,
1,BACK,
2,
0,2,
2,FORWARD,
X,
10,
0,75,
1,A,
2,
0,2,
1,DOWN,
10,
0,4,
2,BACK,
Y,
10,
0,102,
1,B,
140,
0,30,
2,BACK,
Y,
2,
0,2,
1,A,
2,
0,2,
1,DOWN,
10,
0,4,
1,BACK,
10,
0,4,
1,Y,
10,
0,140,
EOC,
Combo3,
2,FORWARD,
Y,
2,
0,2,
1,A,
10,
0,20,
1,FORWARD,
2,
0,10,
1,FORWARD,
2,
0,10,
1,RT,
2,
0,110,
2,DOWN,
Y,
2,
0,80,
2,FORWARD,
Y,
2,
0,2,
1,A,
10,
0,40,
1,DOWN,
2,
0,2,
2,BACK,
Y,
2,
0,200,
EOC,
Combo4,
1,BACK,
2,
0,2,
2,FORWARD,
X,
2,
0,2,
EOC,
Combo5,
2,FORWARD,
Y,
2,
0,2,
1,A,
10,
0,20,
1,DOWN,
2,
0,2,
2,BACK,
Y,
2,
0,200,
EOC,
Combo6,
1,DOWN,
2,
0,2,
2,BACK,
Y,
30,
EOC,
EOD );
int i = -1, b, v;
int back = LEFT, forward = RIGHT;
int button_1, button_2, button_3, button_4, button_5;
int value_1, value_2, value_3, value_4, value_5;
int wait_time;
int switch;
int delay_t;
int RUMBLE_TYPE=RUMBLE_A;
int cancel;
int EndOfCombo;
int CanStart;

main {



// Determine Back and Forward
if(get_val(RIGHT) || get_val(MOVE_X) >= 30) {
back = LEFT; forward = RIGHT;
} else if(get_val(LEFT) || get_val(MOVE_X) <= -30) {
back = RIGHT; forward = LEFT;
}//----------------------------------------------



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


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


// Make sure the user inputs does not interfere in the combo
set_val(Y , 0);
set_val(B , 0);
set_val(A , 0);
set_val(X , 0);
set_val(RB , 0);
set_val(RT , 0);
set_val(LB , 0);
set_val(LT , 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) >= 60) { //combo Combo4
i = get_combo_index(Combo4);
}
// Right Stick LEFT
if (get_val (9) <= -60) { //combo Combo3
i = get_combo_index(Combo3);
}
// Right Stick UP
if (get_val (10) <= -60) { //Combo Combo1
i = get_combo_index(Combo1);
}
// Right Stick DOWN
if (get_val (10) >= 60) { //Combo Combo2
i = get_combo_index(Combo2);
}
// Left Stick RIGHT
if (get_val (11) >= 60) { //combo Combo5
i = get_combo_index(Combo5);
}
// Left Stick LEFT
if (get_val (11) <= -60) { //combo Combo6
i = get_combo_index(Combo6);
}
// end editing here --------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////
}// <combo activation> end
}//<main> block end

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

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


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

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

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

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

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

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

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

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

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

return(TRUE);
}

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

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