PDA

View Full Version : To Falconpunch



ScorpionKiller
28th June 17, 21:07
Could you plz help correct my errors in this script thanks if you have time
// GPC Online Library
// injustice_2_-_black_adam.gpc


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;
define Combo7 = 6;
define Combo8 = 7;
data(
Combo1,
1,DOWN,
11,
0,10,
1,BACK,
15,
0,2,
3,FOWARD,
1,X,
2,RT,
1,BACK
1,A,
5,
2,JUMP,
FOWARD
A
77,
2,FOWARD,
Y,
10,
0,4,
1,X,
10,
0,50,
2,A,
A,
200,
EOC,
Combo2,
2,DOWN,
BACK
FOWARD
X,
10,
0,4,
1,RT,
10,
0,4,
1,BACK,
10,
0,4,
1,A,
10,
0,4,
1,JUMP,
FOWARD
10,
0,90,
2,A,
BACK,
10,
0,70,
2,Y,
DOWN,
10,
0,30,
1,Y,
10,
0,4,
1,DOWN,
10,
0,4,
1,BACK,
10,
0,4,
1,A,
10,
0,65,
2,FORWARD,
X,
10,
0,4,
1,RT,
10,
0,4,
2,DOWN,
Y,
10,
0,200,
EOC,
Combo3,
1,X,
4,
0,4,
1,Y,
10,
0,1,
2,X,
Y,
10,
0,4,
1,DOWN,
10,
0,43,
1,BACK,
6,
0,4,
1,Y,
10,
0,1,
2,RT,
FOWARD,
10,
0,57,
2,FORWARD,
BACK,
10,
0,4,
2,Y,
DOWN,
2,
0,64,
2,Y,
DOWN,
10,
0,4,
1,BACK,
10,
0,4,
2,FOWARD,
X,
200,
EOC,
Combo4,
2,X,
Y,
10,
0,4,
1,X,
10,
0,4,
1,Y,
10,
0,50,
2,X,
A,
10,
0,4,
1,DOWN,
10,
0,4,
1,BACK,
10,
0,4,
2,Y,
RT,
10,
0,20,
1,JUMP,
10,
0,114,
2,FOWARD,
A,
10,
0,80,
2,BACK,
Y,
10,
0,20,
1,DOWN,
10,
0,2,
1,Y,
10,
0,4,
2,DOWN,
BACK,
10,
0,70,
2,FORWARD,
X,
10,
0,4,
1,RT,
10,
0,15,
2,DOWN,
Y,
10,
0,200,
EOC,
unmap 9; //PS4_RX
unmap 10; //PS4_RY
unmap 11; //PS4_LX
unmap 12; //PS4_LY
unmap 8; //PS4_L3
unmap 5; //PS4_R3
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)) {
back = LEFT; forward = RIGHT;
} else if(get_val(LEFT)) {
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 Combo2
i = get_combo_index(Combo2);
}
// Right Stick DOWN
if (get_val (10) >= 60) { //Combo Combo1
i = get_combo_index(Combo1);
}
// 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);
}
// Left Stick UP
if (get_val (12) <= -60) { //Combo Combo7
i = get_combo_index(Combo8);
}
// Left Stick DOWN
if (get_val (12) >= 60) { //Combo Combo8
i = get_combo_index(Combo7);
}
// 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);
}
Thanks to Mr. Fawk for letting me use his script

- - - Updated - - -

I only do 4 combos all on right stick midscreen as well its P. Ivy as well