MK11

GPC1 script programming for Titan One. Code examples, questions, requests.

MK11

Postby xII GAMBIT IIx » Tue May 21, 2019 11:35 pm

been looking for a while for a script for combos in Mortal kombat 11 saw the ones for titan2 can those work with the one thanks in adv
User avatar
xII GAMBIT IIx
Corporal
Corporal
 
Posts: 4
Joined: Tue Oct 23, 2018 9:24 pm

Re: MK11

Postby STEELES » Fri May 24, 2019 4:51 pm

yes these work
User avatar
STEELES
Master Sergeant
Master Sergeant
 
Posts: 26
Joined: Sat Mar 23, 2019 2:00 pm

Re: MK11

Postby STEELES » Fri May 24, 2019 4:52 pm

Code: Select all
 
/*---------------------------------------------------------------------------------
Infinite Warden|
----------------
 
RB Adjust = Spends a Meter
RT Adjust = Spends a Second Meter
LT Adjust = Uses Fatal during Combo (Can be used during RB/RT's combo adjust)
 
---------------------------------------------------------------------------------
IF YOU WANT TO USE SECOND BAR OF METER DURING THE FIRST BAR, PRESS RT/R2 AS SOON
AS YOU SEE THE FIRST BAR GO OFF/USED.
---------------------------------------------------------------------------------
IF YOU WANT TO USE Fatal DURING FIRST METER, PRESS LT/L2 AFTER THE DASH.
---------------------------------------------------------------------------------
 
There is quite a few check points in this one (checks if it should change Combos
mid Combo), so go in practice and get the timings down.
---------------------------------------------------------------------------------
 
RS UP --------
RS Down ------    (RS DOWN + UP are same Combo)
Hold X    ------ = All 5 can use RB and RT and LT
RS Right -----
RS Left ------
 
LS Up = Easy Fatal
 
LT + R3 to changes to corner combos which there's four of and all use 2 Meters.
 
Fatality on R3.
 
-----------------------------------------------------------------------------------**/
// TRIANGLE, Y
// CIRCLE, B 
// CROSS, A
// SQUARE, X
// R1, RB   
// R2, RT   
// L1, LB   
// L2, LT   
// TOUCH PAD   
// DPAD UP   
// DPAD DOWN
// DPAD LEFT 
// DPAD RIGHT 
// LEFT ANALOG X
// LEFT ANALOG Y
// BACK FLAG   
// FORWARD FLAG
// End Flags. 253, 254 and 255 should never be used in the
// data segment for other purposes.                 
//-----------------------------------------------------
// check for transition to another combo
// End of Combo     
// End of Data Segment
//-----------------------------------------------------
//Define Combos
//--------------------------------------
//--------------------------------------
//Define Combo Adjusters
//--------------------------------------
//
//
//
//
//--------------------------------------
// Combo Data
//--------------------------------------
//--------------------------------------
//--------------------------------------
//--------------------------------------
//--------------------------------------
//--------------------------------------
// Hold X/Square
//--------------------------------------
//--------------------------------------
// Right Stick RIGHT
//--------------------------------------
//--------------------------------------
// Right Stick LEFT
//--------------------------------------
//--------------------------------------
// Right Stick UP
//--------------------------------------
//--------------------------------------
// Right Stick DOWN
//--------------------------------------
//--------------------------------------
// Left Stick RIGHT
//--------------------------------------
//--------------------------------------
// Left Stick LEFT
//--------------------------------------
//--------------------------------------
//Left Stick Up
//--------------------------------------
//--------------------------------------
//Left Stick Down
//--------------------------------------
//--------------------------------------
// Right Stick RIGHT *SWITCHED*
//--------------------------------------
//--------------------------------------
//Right Stick Up *SWITCHED*
//--------------------------------------
//--------------------------------------
// Right Stick LEFT *SWITCHED*
//--------------------------------------
//--------------------------------------
// Right Stick DONW *SWITCHED*
//--------------------------------------
//--------------------------------------
//--------------------------------------
//End Of Combo Data
//--------------------------------------
//Unmaps
//--block button
//--switch XB1_LT + press XB1_RS
//--block button
//--block button until release
//--toggle
//--rumble controller
//--BACK and FORWARD       
//--EXECUTE COMBOS
//--check for activator button press
// execute combo step-by-step     
//--end of combo
// RS X / Y are in rest = cancel the combo
// block user input (does not interfere in the combo)
//--no combo running                         
//--reset activator button and led
//------------------
// Right Stick RIGHT
//--------------------
//-----------------
// Right Stick LEFT
//-------------------
//---------------
// Right Stick UP
//-----------------
//-----------------
// Right Stick DOWN
//-------------------
//-------------
// hold LS / L3
//---------------
//-------------
// hold RS / R3
//---------------
//--switch (default)                             
//---------------
//Hold X/Square.
//----------------
//---------------------------
//Right Stick RIGHT.
//---------------------------
//---------------------------
// Right Stick LEFT.
//---------------------------
//---------------
// Right Stick UP
//-----------------
//-----------------
// Right Stick DOWN
//-------------------
//--end of switch
//--end of combo run
//--block btns
//--end of main
// This combo will run a step with wait           
// This combo will run a step without wait       
// Returns the starting index of a combo
//-----------------------       
//====================           
//#     
//#                                 
//=============================         
//-----------------------------------       
// Set the buttons, values and wait time of a step
//--get value from data segment
//--look for CHK_PNT
//--RT_PRESS combo
//--RB_PRESS combo
//--LT_PRESS combo
//--LB_PRESS combo
//--no activator pressed
//--check for activator button pressed
//--new combo
// If the step has FORWARD and BACK buttons, set the correct value.
// Set the buttons and values, function used on the combos.
//--BLOCK BUTTONS
 
 
 
 
define Y = 17;
define B = 18;
define A = 19;
define X = 20;
define RB = 3;
define RT = 4;
define LB = 6;
define LT = 7;
define TOUCH = 27;
define UP = 13;
define DOWN = 14;
define LEFT = 15;
define RIGHT = 16;
define MOVE_X = 11;
define MOVE_Y = 12;
define BACK = 128;
define FORWARD = 129;
define CHK_PNT = 253;
define EOC = 254;
define EOD = 255;
define Combo1 = 10;
define Combo2 = 11;
define Combo3 = 12;
define Combo4 = 13;
define Combo5 = 14;
define Combo6 = 15;
define Combo7 = 16;
define Combo8 = 17;
define Combo9 = 18;
define Combo10 = 19;
define Combo11 = 26;
define Combo12 = 30;
define Punish = 31;
define Fatality1 = 24;
define Fatality2 = 25;
define LB_PRESS = 20;
define LT_PRESS = 21;
define RB_PRESS = 22;
define RT_PRESS = 23;
 
data(
RT_PRESS,
1, FORWARD, 100,
10, 0, 8,
1, FORWARD, 100,
10, 0, 4,
1, FORWARD, 100,
4, 0, 8,
2, FORWARD, 100,
A, 100,
8,
1, BACK, 100,
8,
2, FORWARD, 100,
X, 100,
10, 0, 20,
1, RB, 100,
10, 0, 73,
1, DOWN, 100,
10,
2, DOWN, 100,
Y, 100,
20,
1, DOWN, 100,
80,
2, DOWN, 100,
Y, 100,
10, 0, 55,
1, FORWARD, 100,
4, 0, 4,
1, FORWARD, 100,
4, 0, 43,
2, FORWARD, 100,
A, 100,
4, CHK_PNT,
1, BACK, 100,
4,
2, FORWARD, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
RB_PRESS,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10, 0, 80,
1, RB, 100,
10, 0, 185, CHK_PNT,
1, FORWARD, 100,
4, 0, 4,
1, FORWARD, 100,
10, 0, 18,
1, B, 100,
8, CHK_PNT,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
LT_PRESS,
2, RT, 100,
LT, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
LB_PRESS,
EOC,
Punish,
1, X, 100,
10, 0, 10,
1, X, 100,
10, 0, 30, CHK_PNT,
1, X, 100,
10, 0, 20,
2, X, 100,
A, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo1,
2, BACK, 100,
Y, 100,
10, 0, 10,
1, Y, 100,
50, CHK_PNT,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo2,
2, FORWARD, 100,
Y, 100,
10, 0, 20,
1, X, 100,
10, 0, 20, CHK_PNT,
1, Y, 100,
10, 0, 20,
1, DOWN, 100,
10, 0, 20,
2, BACK, 100,
Y, 100,
10, 0, 20,
1, X, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo3,
1, Y, 100,
10, 0, 18,
1, B, 100,
10, 0, 25, CHK_PNT,
1, X, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo4,
1, Y, 100,
10, 0, 18,
1, B, 100,
10, 0, 25, CHK_PNT,
1, X, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo5,
EOC,
Combo6,
EOC,
Combo7,
2, LT, 100,
RT, 100,
200, 0, 200,
EOC,
Combo8,
EOC,
Combo9,
2, BACK, 100,
Y, 100,
10, 0, 20,
1, Y, 100,
10, 0, 8,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10, 0, 120,
1, RB, 100,
10, 0, 210,
2, FORWARD, 100,
Y, 100,
10, 0, 4,
1, X, 100,
10, 0, 4,
1, Y, 100,
10, 0, 4,
1, BACK, 100,
4, 0, 4,
2, FORWARD, 100,
X, 100,
10, 0, 90,
1, RB, 100,
10, 0, 80,
2, DOWN, 100,
Y, 100,
10,
1, DOWN, 100,
90,
2, DOWN, 100,
Y, 100,
10, 0, 30,
1, BACK, 100,
75,
2, BACK, 100,
X, 100,
8,
1, FORWARD, 100,
8,
2, BACK, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo10,
1, X, 100,
10, 0, 10,
1, X, 100,
10, 0, 8,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10, 0, 110,
1, RB, 100,
10, 0, 223,
2, FORWARD, 100,
Y, 100,
10, 0, 4,
1, X, 100,
10, 0, 4,
1, Y, 100,
10, 0, 4,
1, BACK, 100,
4, 0, 4,
2, FORWARD, 100,
X, 100,
10, 0, 90,
1, RB, 100,
10, 0, 80,
2, DOWN, 100,
Y, 100,
10,
1, DOWN, 100,
90,
2, DOWN, 100,
Y, 100,
10, 0, 30,
1, BACK, 100,
85,
2, BACK, 100,
X, 100,
8,
1, FORWARD, 100,
8,
2, BACK, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo11,
2, FORWARD, 100,
Y, 100,
10, 0, 20,
1, X, 100,
10, 0, 20,
1, Y, 100,
10, 0, 95,
1, B, 100,
10, 0, 8,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10, 0, 80,
1, RB, 100,
10, 0, 220,
2, BACK, 100,
Y, 100,
10, 0, 4,
1, Y, 100,
10, 0, 4,
1, BACK, 100,
4, 0, 4,
2, FORWARD, 100,
X, 100,
10, 0, 50,
1, RB, 100,
10, 0, 80,
2, DOWN, 100,
Y, 100,
10,
1, DOWN, 100,
90,
2, DOWN, 100,
Y, 100,
10, 0, 30,
1, BACK, 100,
102,
2, BACK, 100,
X, 100,
8,
1, FORWARD, 100,
8,
2, BACK, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Combo12,
1, Y, 100,
10, 0, 10,
1, B, 100,
10, 0, 8,
1, BACK, 100,
8,
2, FORWARD, 100,
Y, 100,
10, 0, 110,
1, RB, 100,
10, 0, 223,
2, FORWARD, 100,
Y, 100,
10, 0, 4,
1, X, 100,
10, 0, 4,
1, Y, 100,
10, 0, 4,
1, BACK, 100,
4, 0, 4,
2, FORWARD, 100,
X, 100,
10, 0, 90,
1, RB, 100,
10, 0, 80,
2, DOWN, 100,
Y, 100,
10,
1, DOWN, 100,
90,
2, DOWN, 100,
Y, 100,
10, 0, 30,
1, BACK, 100,
80,
2, BACK, 100,
X, 100,
8,
1, FORWARD, 100,
8,
2, BACK, 100,
Y, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
Fatality1,
1, RT, 100,
10, 0, 20,
1, FORWARD, 100,
10, 0, 4,
1, DOWN, 100,
10, 0, 4,
1, DOWN, 100,
10, 0, 4,
1, A, 100,
10,
0, 200,
0, 200,
0, 200,
0, 200,
0, 200,
EOC,
EOD );
 
unmap PS4_RX;
unmap PS4_RY;
unmap PS4_LX;
unmap PS4_LY;
unmap PS4_L3;
unmap PS4_R3;
 
int c,  idx,  i =- 1,  btn,  v;
int back = LEFT,  forward = RIGHT;
int button,  button_1,  button_2,  button_3,  button_4,  button_5;
int value,  value_1,  value_2,  value_3,  value_4,  value_5;
int lt_press,  lb_press,  rt_press,  rb_press;
int wait_time;
int t1_switch, flash;
int b, bb, bb_array[3];
 
main {
    if (get_val(XB1_LT)) {
        bb = f_bb(XB1_LT);
        if (event_press(XB1_RS)) {
            bb = f_bb(XB1_RS);
            t1_switch =! t1_switch;
            combo_run(c_RUMBLE_NOTIFY);
        }
    }
    if (get_val(RIGHT)) {
        back = LEFT;
        forward = RIGHT;
    }
    else if (get_val(LEFT)) {
        back = RIGHT;
        forward = LEFT;
    }
    if (i != - 1) {
        if (event_press(XB1_RT)) rt_press = TRUE;
        if (event_press(XB1_RB)) rb_press = TRUE;
        if (event_press(XB1_LT)) lt_press = TRUE;
        if (event_press(XB1_LB)) lb_press = TRUE;
        if (!combo_running(c_EXECUTE_STEP)) {
            if (f_get_step_values()) if (wait_time == 0) combo_run(c_EXECUTE_STEP_NO_WAIT);
            else  combo_run(c_EXECUTE_STEP);
            else {
                i =- 1;
                flash = FALSE;
            }
        }
        if ((abs(get_val(9)) <= 20 && abs(get_val(10)) <= 20 && abs(get_val(11)) <= 20 && abs(get_val(12)) <= 20) && (!get_val(5) && !get_val(8)) && (!get_val(XB1_X)) && (!get_val(XB1_Y))) {
            i =- 1;
            combo_stop(c_EXECUTE_STEP);
        }
        btn = 3
        while(btn <= 20) {
            set_val(btn, 0);
            btn = btn + 1;
        }
    }
    else {
        rt_press = FALSE;
        rb_press = FALSE;
        lt_press = FALSE;
        lb_press = FALSE;
        flash = FALSE;
        if (t1_switch) {
            if (get_val(9) >= 60) {
                i = f_get_combo_index(Combo9);
            }
            if (get_val(9) <= - 60) {
                i = f_get_combo_index(Combo11);
            }
            if (get_val(10) <= - 60) {
                i = f_get_combo_index(Combo10);
            }
            if (get_val(10) >= 60) {
                i = f_get_combo_index(Combo12);
            }
            if (get_val(8)) {
                i = f_get_combo_index(0);
            }
            if (get_val(5)) {
                i = f_get_combo_index(Fatality1);
            }
        }
        else {
            if (get_val(XB1_X) && !get_val(forward) && !get_val(XB1_DOWN)) {
                set_val(XB1_X, 0);
                if (get_lval(XB1_X)) i = f_get_combo_index(Punish);
            }
            if (get_val(9) >= 60) {
                i = f_get_combo_index(Combo1);
            }
            if (get_val(9) <= - 60) {
                i = f_get_combo_index(Combo2);
            }
            if (get_val(10) <= - 60) {
                i = f_get_combo_index(Combo3);
            }
            if (get_val(10) >= 60) {
                i = f_get_combo_index(Combo4);
            }
        }
    }
    if (bb) f_block_btn();
}
 
 
combo c_RUMBLE_NOTIFY {
    set_rumble(t1_switch, 100);
    wait(300);
    reset_rumble();
}
 
combo c_EXECUTE_STEP {
    f_set_buttons_values();
    wait(wait_time);
    f_set_buttons_values();
}
 
combo c_EXECUTE_STEP_NO_WAIT {
    f_set_buttons_values();
}
 
 
function f_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;
}
 
function f_get_step_values() {
    btn = dbyte(i);
    if (btn == CHK_PNT) {
        if (f_check_point(rt_press, RT_PRESS)) rt_press = FALSE;
        else if (f_check_point(rb_press, RB_PRESS)) rb_press = FALSE;
        else if (f_check_point(lt_press, LT_PRESS)) lt_press = FALSE;
        else if (f_check_point(lb_press, LB_PRESS)) lb_press = FALSE;
        else {
            i = i + 1;
            btn = dbyte(i);
        }
    }
    i = i+1;
    if (btn >= 1) {
        button_1 = f_convert_back_forward(dbyte(i));
        i = i + 1;
        value_1 = dbyte(i);
        i = i + 1;
    }
    else {
        button_1 =- 1;
        value_1 = 0;
    }
    if (btn >= 2) {
        button_2 = f_convert_back_forward(dbyte(i));
        i = i + 1;
        value_2 = dbyte(i);
        i = i + 1;
    }
    else {
        button_2 =- 1;
        value_2 = 0;
    }
    if (btn >= 3) {
        button_3 = f_convert_back_forward(dbyte(i));
        i = i + 1;
        value_3 = dbyte(i);
        i = i + 1;
    }
    else {
        button_3 =- 1;
        value_3 = 0;
    }
    if (btn >= 4) {
        button_4 = f_convert_back_forward(dbyte(i));
        i = i + 1;
        value_4 = dbyte(i);
        i = i + 1;
    }
    else {
        button_4 =- 1;
        value_4 = 0;
    }
    if (btn >= 5) {
        button_5 = f_convert_back_forward(dbyte(i));
        i = i + 1;
        value_5 = dbyte(i);
        i = i + 1;
    }
    else {
        button_5 =- 1;
        value_5 = 0;
    }
    wait_time = dbyte(i);
    i = i + 1;
    wait_time = (wait_time - 1) * 10;
    if (wait_time < 0) wait_time = 0;
    return (TRUE);
}
 
function f_check_point(f_bool, f_combo) {
    if (f_bool) {
        i = f_get_combo_index(f_combo);
        btn = dbyte(i);
        return TRUE;
    }
    return FALSE;
}
 
function f_convert_back_forward(button) {
    if (button == FORWARD)
        return forward;
    if (button == BACK)
        return back;
    return (button);
}
 
function f_set_buttons_values() {
    idx = 1;
    while(idx <= 5) {
        if (button[idx] != -1) set_val(button[idx], value[(idx)]);
        idx = idx + 1;
    }
}
 
function f_bb(f_btn) {
    b = 0;
    while(b <= 2) {
        if (!bb_array[b]) {
            bb_array[b] = f_btn;
            return TRUE;
        }
        if (bb_array[b] == f_btn)
            return TRUE;
 
        b = b+1;
    }
    return FALSE;
}
 
function f_block_btn() {
    bb = FALSE;
    b = 0;
    while(b <= 2) {
        if (bb_array[b]) {
            if (event_release(bb_array[b])) {
                bb_array[b] = 0;
            }
            else {
                set_val(bb_array[b], 0);
                bb = TRUE;
            }
        }
        b = b +1;
    }
}
 
/* function f_led_color(f_color) {
    for (c = 0; c <= 3; c ++ ) {
        set_led(c, dbyte((f_color * 4) + c));
    }
}
*/
User avatar
STEELES
Master Sergeant
Master Sergeant
 
Posts: 26
Joined: Sat Mar 23, 2019 2:00 pm

Re: MK11

Postby STEELES » Fri May 24, 2019 4:53 pm

kabal

Code: Select all
 
define BF_Y = 17; // TRIANGLE, Y
define BF_B = 18; // CIRCLE, B
define BF_A = 19; // CROSS, A
define BF_X = 20; // SQUARE, X
define BR1 = 3; // R1, RB
define BR2 = 4; // R2, RT
define BL1 = 6; // L1, LB
define BL2 = 7; // L2, LT
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
define EOC = 254; // End of Combo
define EOD = 255; // End of Data Segment
// combo names
define RIGHTstickRIGHT =0;
define RIGHTstickLEFT =1;
define RIGHTstickUP =2;
define RIGHTstickDOWN =3;
define LEFTstickRIGHT =4;
define LEFTstickLEFT =5;
define LEFTstickDOWN =6;
define LEFTstickUP =7;
define LEFTstickPRESS =8;
define RIGHTstickPRESS =9;
define DOWNA =10;
define sRIGHTstickRIGHT =11;
define sRIGHTstickLEFT =12;
define sRIGHTstickUP =13;
define sRIGHTstickDOWN =14;
define sLEFTstickRIGHT =15;
define sLEFTstickLEFT =16;
define sLEFTstickDOWN =17;
define sLEFTstickUP =18;
define sLEFTstickPRESS =19;
define sRIGHTstickPRESS =20;
// data segment
data(
 
 
 
 
RIGHTstickRIGHT,
2,BACK,100,BF_X,100,4,0,4,
2,BACK,100,BF_Y,100,4,0,40,
 
 
1,BACK,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_A,100,4,0,10,
 
 
1,BACK,100,120,0,4,
 
 
1,BF_B,100,4,0,4,
1,DOWN,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_A,100,4,0,122,
 
 
2,FORWARD,100,BF_B,100,4,0,250,
 
 
EOC,
 
 
RIGHTstickLEFT,
1,BF_Y,100,4,0,4,
1,BF_A,100,4,0,30,
 
 
1,BACK,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_A,100,4,0,30,
 
 
1,BACK,100,90,0,4,
 
 
1,BF_B,100,4,0,4,
1,DOWN,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_Y,100,4,0,100,
1,BR1,100,4,0,250,
 
 
EOC,
 
 
RIGHTstickUP,
 
 
2,BACK,100,BF_X,100,4,0,4,
2,BACK,100,BF_Y,100,4,0,30,
 
 
1,BACK,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_A,100,4,0,10,
 
 
1,BACK,40,140,0,4,
 
 
1,BF_B,100,4,0,4,
1,DOWN,100,4,0,4,
1,FORWARD,100,4,0,4,
1,BF_B,100,4,0,250,
 
 
EOC,
 
 
RIGHTstickDOWN,
2,BACK,100,BF_X,100,4,0,4,
1,BF_Y,100,4,0,4,
2,DOWN,100,BF_Y,100,4,0,250,
 
 
EOC,
 
 
sRIGHTstickRIGHT,
EOC,
 
 
sRIGHTstickLEFT,
EOC,
 
 
sRIGHTstickUP,
EOC,
 
 
sRIGHTstickDOWN,
EOC,
 
 
 
 
LEFTstickRIGHT,
 
 
EOC,
 
 
LEFTstickLEFT,
 
 
EOC,
 
 
LEFTstickDOWN,
 
 
EOC,
 
 
LEFTstickUP,
 
 
EOC,
 
 
LEFTstickPRESS,
EOC,
 
 
sLEFTstickPRESS,
EOC,
RIGHTstickPRESS,
EOC,
sRIGHTstickPRESS,
EOC,
 
 
 
 
EOD );
 
 
 
 
// Unmaps
unmap PS4_L3;
unmap PS4_LY;
unmap PS4_LX;
 
 
 
 
// Variables
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 RUMBLE_TYPE=RUMBLE_A;
int delay_t;
int cancel;
 
main {
 
 
 
 
if (event_release(PS4_L2)){ //CREDIT TO SOLO FOR SWITCH SCRIPT
switch=!switch;
set_val(PS4_L2 ,0);
}
 
 
 
// 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-----------------------------------------
// RS X and Y are in rest - cancel the combo
if(cancel==1){
if ( (abs(get_val (9)) <= 20 && abs(get_val (10)) <= 20) ) {
i = -1;
combo_stop(execute_step);
}
}else if(cancel==2){
if ( (abs(get_val (11)) <= 20 && abs(get_val (12)) <= 20) ) {
i = -1;
combo_stop(execute_step);
}
}
 
 
// Make sure the user inputs does not interfere in the combo
set_val(BF_Y , 0);
set_val(BF_B , 0);
set_val(BF_A , 0);
set_val(BF_X , 0);
set_val(BR1 , 0);
set_val(BR2 , 0);
set_val(BL1 , 0);
set_val(BL2 , 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){
 
// RS DOWN to Activate
if (get_val (9) <= -60) {
cancel=1;
i = get_combo_index(sRIGHTstickLEFT);
}
// Press RS UP to Activate
if (get_val (9) >= 60) {
cancel=1;
i = get_combo_index(sRIGHTstickRIGHT);
}
// RS LEFT
if (get_val (10) <= -60) {
cancel=1;
i = get_combo_index(sRIGHTstickUP);
}
/////RS RIGHT
if (get_val (10) >= 40) {
cancel=1;
i = get_combo_index(sRIGHTstickDOWN);
}
// LS UP
if (get_val (12)<= -60) {
cancel=2;
i = get_combo_index(sLEFTstickUP);
}
// LEFT Stick Pressed
if (get_val (5)) {
cancel=3;
i = get_combo_index(sLEFTstickPRESS);
}
// RIGHT Stick Pressed
if (get_val (8)) {
cancel=3;
i = get_combo_index(sRIGHTstickPRESS);
}
// LS DOWN
if (get_val (12) >= 60) {
cancel=2;
i = get_combo_index(sLEFTstickDOWN);
}
// LS LEFT
if (get_val (11)<= -60) {
cancel=2;
i = get_combo_index(LEFTstickLEFT);
}
// LS RIGHT
if (get_val (11)>= 60) {
cancel=2;
i = get_combo_index(LEFTstickRIGHT);
}
// switch
}else{
// RS DOWN to Activate
if (get_val (9) <= -60) {
cancel=1;
i = get_combo_index(RIGHTstickLEFT);
}
// Press RS UP to Activate
if (get_val (9) >= 60) {
cancel=1;
i = get_combo_index(RIGHTstickRIGHT);
}
// RS LEFT
if (get_val (10) <= -60) {
cancel=1;
i = get_combo_index(RIGHTstickUP);
}
/////RS RIGHT
if (get_val (10) >= 40) {
cancel=1;
i = get_combo_index(RIGHTstickDOWN);
}
// LS UP
if (get_val (12)<= -60) {
cancel=2;
i = get_combo_index(LEFTstickUP);
}
// LEFT Stick Pressed
if (get_val (5)) {
cancel=3;
i = get_combo_index(LEFTstickPRESS);
}
// RIGHT Stick Pressed
if (get_val (8)) {
cancel=3;
i = get_combo_index(RIGHTstickPRESS);
}
// LS DOWN
if (get_val (12) >= 60) {
cancel=2;
i = get_combo_index(LEFTstickDOWN);
}
// LS LEFT
if (get_val (11)<= -60) {
cancel=2;
i = get_combo_index(LEFTstickLEFT);
}
// LS RIGHT
if (get_val (11)>= 60) {
cancel=2;
i = get_combo_index(LEFTstickRIGHT);
}
 
 
 
 
 
 
 
// 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();
}
 
// 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 = dbyte(i); i = i + 1;
} else { button_1 = -1; value_1 = 0; }
 
if(b >= 2) {
button_2 = convert_back_forward(dbyte(i)); i = i + 1;
value_2 = dbyte(i); i = i + 1;
} else { button_2 = -1; value_2 = 0; }
 
if(b >= 3) {
button_3 = convert_back_forward(dbyte(i)); i = i + 1;
value_3 = dbyte(i); i = i + 1;
} else { button_3 = -1; value_3 = 0; }
 
if(b >= 4) {
button_4 = convert_back_forward(dbyte(i)); i = i + 1;
value_4 = dbyte(i); i = i + 1;
} else { button_4 = -1; value_4 = 0; }
 
if(b >= 5) {
button_5 = convert_back_forward(dbyte(i)); i = i + 1;
value_5 = dbyte(i); i = i + 1;
} 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);
 
 
}
User avatar
STEELES
Master Sergeant
Master Sergeant
 
Posts: 26
Joined: Sat Mar 23, 2019 2:00 pm

Re: MK11

Postby STEELES » Fri May 24, 2019 4:53 pm

and there is a noob script that has been published , that works on both
User avatar
STEELES
Master Sergeant
Master Sergeant
 
Posts: 26
Joined: Sat Mar 23, 2019 2:00 pm

Re: MK11

Postby jemie123 » Thu Jun 20, 2019 5:48 pm

thanks it works, here I am using these script of this developer, they are great here the video https://youtu.be/HxHBlXg66es
User avatar
jemie123
Private First Class
Private First Class
 
Posts: 2
Joined: Thu Jun 20, 2019 5:46 pm

Re: MK11

Postby STEELES » Wed Jun 26, 2019 4:11 pm

How much did you pay?
User avatar
STEELES
Master Sergeant
Master Sergeant
 
Posts: 26
Joined: Sat Mar 23, 2019 2:00 pm


Return to GPC1 Script Programming

Who is online

Users browsing this forum: No registered users and 43 guests