Convert this T1 --> T2 (2 errors only)

GPC2 script programming for Titan Two. Code examples, questions, requests.

Convert this T1 --> T2 (2 errors only)

Postby Derivates » Wed Feb 13, 2019 11:19 pm

Fortunately 2 errors only; I'm facing issues with the function "min" and "max" right here; also for the "switch" error I think it can be changed to c_switch and that gets it fixed..
Code: Select all
///
/// Left Stick hold is a trigger for the combos. Hold Left Stick and Hold Right Stick together
///
/// Special Moves -> No Left Stick
///RIGHT stick UP              - Overhead Missiles
///RIGHT stick DOWN            - Teleport
///RIGHT stick LEFT            - Flames
///RIGHT stick RIGHT           - Normal Missile
///
/// Meterless Combos => Hold Left Stick Right and:
///RIGHT stick UP              - 7 hits 25%
///RIGHT stick DOWN            - 4 hits 18%
///RIGHT stick LEFT            - 6 hits 26%
///RIGHT stick RIGHT           - 4 hits 25%
///
/// 1 bar Combos => Hold Left Stick Down and:
///RIGHT stick UP              - 6 hits 28%
///RIGHT stick DOWN            - 9 hits 36% THE BEST COMBO!!!
///RIGHT stick LEFT            - 11 hits 27%
///RIGHT stick RIGHT           - 11 hits 31%
///
/// Brutalities => Hold Left Stick Left and:
///RIGHT stick UP              - Missile Brutality -> Need 3 missiles during the game
///RIGHT stick DOWN            - Free Throw Brutality -> Hold LEft or Right or Down to change
///RIGHT stick LEFT            - Flame Brutality
///RIGHT stick RIGHT           - Normal Throw Brutality
///
/// FATALITIES => Hold Left Stick Up and:
///RIGHT stick RIGHT           - Fatality 1
///RIGHT stick LEFT            - Fatality 2
///RIGHT stick UP              - Stage Fatality
///RIGHT stick DOWN            - Stage Fatality
///X RAY                       - PRESS L2 FOR ONE BUTTON X RAY ATTACK
 
 
define BACK_PUNCH                             =  17; // TRIANGLE, Y
define BACK_KICK                              =  18; // CIRCLE, B 
define FRONT_KICK                             =  19; // CROSS, A
define FRONT_PUNCH                            =  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                                         
 
// End Flags. 254 and 255 should never be used in the
// data segment for other purposes.                 
// 253    Combo Name     
define EOC              = 254; // End of Combo     
define EOD              = 255; // End of Data Segment
 
// combo names
define Combo_0                                 =0;
define Combo_1                                 =1;
define Combo_2                                 =2;
define Combo_3                                 =3;
define Combo_4                                 =4;
define Combo_5                                 =5;
define Combo_6                                 =6;
define Combo_7                                 =7;
define Combo_8                                 =8;
define Combo_9                                 =9;
define Combo_10                                =10;
define Combo_11                                =11;
define Brutality_1                             =12;
define Brutality_2                             =13;
define Brutality_3                             =14;
define Brutality_4                             =15;
define Fatality_1                              =16;
define Fatality_2                              =17;
define Fatality_3                              =18;
 
 
// data segment
data(
Brutality_1,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
1, BL1, 100,
4,
0,40,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 100,
4,
0,4,
0,200,
EOC,
Brutality_2,
1, DOWN, 10,
4,
0, 4,
2, DOWN, 10,
   FRONT_KICK, 10,
4,
0, 4,
EOC,
Brutality_3,
1, BACK, 10,
4,
0, 4,
2, FORWARD, 10,
   FRONT_PUNCH, 10,
4,
0, 4,
EOC,
Brutality_4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
1, BL1, 100,
4,
0,4,
EOC,
Fatality_1,
1,BACK,100,
60,
0,2,
1,FORWARD,100,
20,
0,2,
1,BACK,100,
20,
0,2,
1,FORWARD,100,
20,
0,2,
1,FORWARD,100,
126,
0,2,
EOC,
Fatality_2,
1,BACK,100,
150,
0,2,
1,FORWARD,100,
4,
0,0,
1,DOWN,100,
4,
0,8,
1,DOWN,100,
4,
0,20,
1,UP,100,
4,
EOC,
Fatality_3,
1,BACK,100,
20,
0,2,
1,DOWN,20,
100,
0,4,
2,UP,20,
  BR2,20,
4,
0,20,
EOC,
Combo_0,
2, BACK, 100,
   FRONT_PUNCH, 100,
4,
0, 20,
2, BACK_PUNCH, 100,
   BACK_KICK, 100,
4,
0, 40,
1, BR2, 100,
4,
0,180,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,110,
2, DOWN, 100,
   BACK_PUNCH,100,
4,
0,4,
0,20,
EOC,
Combo_1,
2, BACK, 100,
   FRONT_PUNCH, 100,
4,
0, 20,
2, BACK_PUNCH, 100,
   BACK_KICK, 100,
4,
0, 40,
1, BR2, 100,
4,
0,180,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,110,
1, BACK_KICK, 100,
4,
0,40,
EOC,
Combo_2,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 20,
1, DOWN, 100,
4,
0,4,
3, BACK, 100,
   BACK_KICK, 100,
   BR2,100,
4,
0,150,
2,UP,100,
BACK,100,
4,
0,10,
1,FRONT_KICK,100,
4,
0,18,
1, FORWARD, 100,
4,
0, 20,
2, BACK, 100,
   FRONT_KICK, 100,
4,
0, 20,
 
 
 
 
0, 200,
EOC,
Combo_3,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
3, FORWARD, 100,
   BACK_KICK, 100,
   BR2,100,
4,
0,160,
2,UP,100,
FORWARD,100,
4,
0,10,
1,FRONT_KICK,100,
4,
0,10,
1, BACK, 100,
4,
0, 10,
2, FORWARD, 100,
   FRONT_KICK, 100,
4,
0, 20,
0, 200,
EOC,
Combo_4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
2, DOWN, 100,
   BACK_PUNCH, 100,
4,
0,60,
EOC,
Combo_5,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,100,
EOC,
Combo_6,
2,UP,100,
FORWARD,100,
4,
0,30,
1,BACK_PUNCH,100,
4,
0,20,
2, FORWARD,100,
   FRONT_PUNCH, 100,
4,
0, 10,
1, FRONT_KICK, 100,
4,
0, 20,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 110,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
0,100,
EOC,
Combo_7,
2,UP,100,
FORWARD,100,
4,
0,10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,100,
EOC,
Combo_8,
1, BACK, 10,
4,
0, 4,
2, FORWARD, 10,
   FRONT_PUNCH, 10,
4,
0, 4,
EOC,
Combo_9,
1, DOWN, 10,
4,
0, 4,
2, BACK, 10,
   BACK_KICK, 10,
4,
0, 4,
EOC,
Combo_10,
1, DOWN, 10,
4,
0, 4,
2, DOWN, 10,
   FRONT_KICK, 10,
4,
0, 4,
EOC,
Combo_11,
1, DOWN, 10,
4,
0, 4,
2, BACK, 10,
   BACK_PUNCH, 10,
4,
0, 4,
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 delay_t;                                                             
int cancel;               
 
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-----------------------------------------
        // 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(BACK_PUNCH                              , 0);                       
        set_val(BACK_KICK                               , 0);                       
        set_val(FRONT_KICK                              , 0);                       
        set_val(FRONT_PUNCH                             , 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 ---------------------------
//////////////////////////////////////////////////////////////////////////
        // NO LEFT STICK
        if (between(11, -30, 30) && between(12, -30, 30)) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_8);
 
            // Right Stick LEFT
            executeComboByIndex(9, -90, 10, 1, Combo_10);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_11);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_9);
 
        } // LEFT STICK RIGHT
        else if (get_val (11) >= 60) {   
          // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_4);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 1, Combo_5);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_6);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_7);//Combo_2c);
 
        } // LEFT STICK LEFT
        else if (get_val (11)<= -60) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Brutality_1);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 1, Brutality_2);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Brutality_3);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Brutality_4);
 
        } // LEFT STICK DOWN
        else if (get_val (12) >= 60) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_0);
 
            // Right Stick LEFT
            executeComboByIndex(9, -90, 10, 1, Combo_1);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_2);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_3);
 
 
        } // LEFT STICK UP
        else if (get_val (12) <= -60) {
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 3, Fatality_1);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 3, Fatality_2);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 3, Fatality_3);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 3, Fatality_3);
        }       
 
 
        if(get_val(7)){              //X-RAY On L2
        set_val(4,100);
        }                                                     
    // 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);   
 
 
}
 
 
function between(button, min, max) {
    return ((get_val(button) >= min) && (get_val(button) <= max));
}
 
 
function executeComboByIndex(buttonLeft, value, buttonRight, valueCancel, comboIndex) {
   if (((value > 0)&&(get_val(buttonLeft) >= value))||
       ((value < 0)&&(get_val(buttonLeft) <= value))) {
     if (between(buttonRight, -30, 30)) {
       cancel=valueCancel;                             
       i = get_combo_index(comboIndex)
     }   
   }
 
}
 
 
User avatar
Derivates
Sergeant Major
Sergeant Major
 
Posts: 75
Joined: Sat Jan 19, 2019 6:15 pm

Re: Convert this T1 --> T2 (2 errors only)

Postby J2Kbr » Thu Feb 14, 2019 12:40 pm

Fixed:
Code: Select all
#include <titanone.gph>
 
///
/// Left Stick hold is a trigger for the combos. Hold Left Stick and Hold Right Stick together
///
/// Special Moves -> No Left Stick
///RIGHT stick UP              - Overhead Missiles
///RIGHT stick DOWN            - Teleport
///RIGHT stick LEFT            - Flames
///RIGHT stick RIGHT           - Normal Missile
///
/// Meterless Combos => Hold Left Stick Right and:
///RIGHT stick UP              - 7 hits 25%
///RIGHT stick DOWN            - 4 hits 18%
///RIGHT stick LEFT            - 6 hits 26%
///RIGHT stick RIGHT           - 4 hits 25%
///
/// 1 bar Combos => Hold Left Stick Down and:
///RIGHT stick UP              - 6 hits 28%
///RIGHT stick DOWN            - 9 hits 36% THE BEST COMBO!!!
///RIGHT stick LEFT            - 11 hits 27%
///RIGHT stick RIGHT           - 11 hits 31%
///
/// Brutalities => Hold Left Stick Left and:
///RIGHT stick UP              - Missile Brutality -> Need 3 missiles during the game
///RIGHT stick DOWN            - Free Throw Brutality -> Hold LEft or Right or Down to change
///RIGHT stick LEFT            - Flame Brutality
///RIGHT stick RIGHT           - Normal Throw Brutality
///
/// FATALITIES => Hold Left Stick Up and:
///RIGHT stick RIGHT           - Fatality 1
///RIGHT stick LEFT            - Fatality 2
///RIGHT stick UP              - Stage Fatality
///RIGHT stick DOWN            - Stage Fatality
///X RAY                       - PRESS L2 FOR ONE BUTTON X RAY ATTACK
 
 
define BACK_PUNCH                             = PS4_TRIANGLE; // TRIANGLE, Y
define BACK_KICK                              = PS4_CIRCLE; // CIRCLE, B 
define FRONT_KICK                             = PS4_CROSS; // CROSS, A
define FRONT_PUNCH                            = PS4_SQUARE; // SQUARE, X
define BR1                                    = PS4_R1; // R1, RB   
define BR2                                    = PS4_R2; // R2, RT   
define BL1                                    = PS4_L1; // L1, LB   
define BL2                                    = PS4_L2; // L2, LT   
define UP                                     = PS4_UP; // DPAD UP   
define DOWN                                   = PS4_DOWN; // DPAD DOWN
define LEFT                                   = PS4_LEFT; // DPAD LEFT 
define RIGHT                                  = PS4_RIGHT; // DPAD RIGHT 
define MOVE_X                                 = PS4_RX; // LEFT ANALOG X
define MOVE_Y                                 = PS4_LY; // 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.                 
// 253    Combo Name     
define EOC              = 254; // End of Combo     
define EOD              = 255; // End of Data Segment
 
// combo names
define Combo_0                                 =0;
define Combo_1                                 =1;
define Combo_2                                 =2;
define Combo_3                                 =3;
define Combo_4                                 =4;
define Combo_5                                 =5;
define Combo_6                                 =6;
define Combo_7                                 =7;
define Combo_8                                 =8;
define Combo_9                                 =9;
define Combo_10                                =10;
define Combo_11                                =11;
define Brutality_1                             =12;
define Brutality_2                             =13;
define Brutality_3                             =14;
define Brutality_4                             =15;
define Fatality_1                              =16;
define Fatality_2                              =17;
define Fatality_3                              =18;
 
 
// data segment
data(
Brutality_1,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
1, BL1, 100,
4,
0,40,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 20,
4,
0,4,
1, BACK_PUNCH, 100,
4,
0,4,
0,200,
EOC,
Brutality_2,
1, DOWN, 10,
4,
0, 4,
2, DOWN, 10,
   FRONT_KICK, 10,
4,
0, 4,
EOC,
Brutality_3,
1, BACK, 10,
4,
0, 4,
2, FORWARD, 10,
   FRONT_PUNCH, 10,
4,
0, 4,
EOC,
Brutality_4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
1, BL1, 100,
4,
0,4,
EOC,
Fatality_1,
1,BACK,100,
60,
0,2,
1,FORWARD,100,
20,
0,2,
1,BACK,100,
20,
0,2,
1,FORWARD,100,
20,
0,2,
1,FORWARD,100,
126,
0,2,
EOC,
Fatality_2,
1,BACK,100,
150,
0,2,
1,FORWARD,100,
4,
0,0,
1,DOWN,100,
4,
0,8,
1,DOWN,100,
4,
0,20,
1,UP,100,
4,
EOC,
Fatality_3,
1,BACK,100,
20,
0,2,
1,DOWN,20,
100,
0,4,
2,UP,20,
  BR2,20,
4,
0,20,
EOC,
Combo_0,
2, BACK, 100,
   FRONT_PUNCH, 100,
4,
0, 20,
2, BACK_PUNCH, 100,
   BACK_KICK, 100,
4,
0, 40,
1, BR2, 100,
4,
0,180,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,110,
2, DOWN, 100,
   BACK_PUNCH,100,
4,
0,4,
0,20,
EOC,
Combo_1,
2, BACK, 100,
   FRONT_PUNCH, 100,
4,
0, 20,
2, BACK_PUNCH, 100,
   BACK_KICK, 100,
4,
0, 40,
1, BR2, 100,
4,
0,180,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,110,
1, BACK_KICK, 100,
4,
0,40,
EOC,
Combo_2,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 20,
1, DOWN, 100,
4,
0,4,
3, BACK, 100,
   BACK_KICK, 100,
   BR2,100,
4,
0,150,
2,UP,100,
BACK,100,
4,
0,10,
1,FRONT_KICK,100,
4,
0,18,
1, FORWARD, 100,
4,
0, 20,
2, BACK, 100,
   FRONT_KICK, 100,
4,
0, 20,
 
 
 
 
0, 200,
EOC,
Combo_3,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
3, FORWARD, 100,
   BACK_KICK, 100,
   BR2,100,
4,
0,160,
2,UP,100,
FORWARD,100,
4,
0,10,
1,FRONT_KICK,100,
4,
0,10,
1, BACK, 100,
4,
0, 10,
2, FORWARD, 100,
   FRONT_KICK, 100,
4,
0, 20,
0, 200,
EOC,
Combo_4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,20,
1, FRONT_KICK, 100,
4,
1, DOWN, 100,
4,
0,4,
2, BACK, 100,
   BACK_KICK, 100,
4,
0,110,
2, DOWN, 100,
   BACK_PUNCH, 100,
4,
0,60,
EOC,
Combo_5,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,100,
EOC,
Combo_6,
2,UP,100,
FORWARD,100,
4,
0,30,
1,BACK_PUNCH,100,
4,
0,20,
2, FORWARD,100,
   FRONT_PUNCH, 100,
4,
0, 10,
1, FRONT_KICK, 100,
4,
0, 20,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 110,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN, 100,
4,
0, 20,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0, 20,
0,100,
EOC,
Combo_7,
2,UP,100,
FORWARD,100,
4,
0,10,
1, DOWN, 100,
4,
0, 20,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 95,
2, BACK, 100,
   BACK_KICK, 100,
4,
0, 20,
1, FRONT_KICK, 100,
4,
0, 10,
1, DOWN,100,
4,
0,4,
2, FORWARD, 100,
   BACK_KICK, 100,
4,
0,100,
EOC,
Combo_8,
1, BACK, 10,
4,
0, 4,
2, FORWARD, 10,
   FRONT_PUNCH, 10,
4,
0, 4,
EOC,
Combo_9,
1, DOWN, 10,
4,
0, 4,
2, BACK, 10,
   BACK_KICK, 10,
4,
0, 4,
EOC,
Combo_10,
1, DOWN, 10,
4,
0, 4,
2, DOWN, 10,
   FRONT_KICK, 10,
4,
0, 4,
EOC,
Combo_11,
1, DOWN, 10,
4,
0, 4,
2, BACK, 10,
   BACK_PUNCH, 10,
4,
0, 4,
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 delay_t;                                                             
int cancel;               
 
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-----------------------------------------
        // 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(BACK_PUNCH                              , 0);                       
        set_val(BACK_KICK                               , 0);                       
        set_val(FRONT_KICK                              , 0);                       
        set_val(FRONT_PUNCH                             , 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 ---------------------------
//////////////////////////////////////////////////////////////////////////
        // NO LEFT STICK
        if (between(11, -30, 30) && between(12, -30, 30)) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_8);
 
            // Right Stick LEFT
            executeComboByIndex(9, -90, 10, 1, Combo_10);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_11);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_9);
 
        } // LEFT STICK RIGHT
        else if (get_val (11) >= 60) {   
          // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_4);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 1, Combo_5);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_6);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_7);//Combo_2c);
 
        } // LEFT STICK LEFT
        else if (get_val (11)<= -60) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Brutality_1);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 1, Brutality_2);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Brutality_3);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Brutality_4);
 
        } // LEFT STICK DOWN
        else if (get_val (12) >= 60) {   
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 1, Combo_0);
 
            // Right Stick LEFT
            executeComboByIndex(9, -90, 10, 1, Combo_1);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 1, Combo_2);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 1, Combo_3);
 
 
        } // LEFT STICK UP
        else if (get_val (12) <= -60) {
            // Right Stick RIGHT
            executeComboByIndex(9, 90, 10, 3, Fatality_1);
 
            // Right Stick LEFT                                               
            executeComboByIndex(9, -90, 10, 3, Fatality_2);
 
            // Right Stick UP
            executeComboByIndex(10, -90, 9, 3, Fatality_3);
 
            // Right Stick DOWN
            executeComboByIndex(10, 90, 9, 3, Fatality_3);
        }       
 
 
        if(get_val(7)){              //X-RAY On L2
        set_val(4,100);
        }                                                     
    // 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);   
 
 
}
 
 
function between(button, Min, Max) {
    return ((get_val(button) >= Min) && (get_val(button) <= Max));
}
 
 
function executeComboByIndex(buttonLeft, value, buttonRight, valueCancel, comboIndex) {
   if (((value > 0)&&(get_val(buttonLeft) >= value))||
       ((value < 0)&&(get_val(buttonLeft) <= value))) {
     if (between(buttonRight, -30, 30)) {
       cancel=valueCancel;                             
       i = get_combo_index(comboIndex)
     }   
   }
 
}
 
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: Convert this T1 --> T2 (2 errors only)

Postby Derivates » Thu Feb 14, 2019 4:53 pm

J2Kbr wrote:Fixed:
Code: Select all
code
 

First off thanks for the reply, now for my better understanding I want to point & ask some things;
this is a device script by the way.
[img]
https://i.imgur.com/OvhcYMF.png
[/img]
Could you please explain this action?
[img]
https://i.imgur.com/OE39ojO.png
[/img]
Had a headache with this line, why in caps?
User avatar
Derivates
Sergeant Major
Sergeant Major
 
Posts: 75
Joined: Sat Jan 19, 2019 6:15 pm

Re: Convert this T1 --> T2 (2 errors only)

Postby Sillyasskid » Thu Feb 14, 2019 5:20 pm

These are reserved keywords for the Titan Two
Code: Select all
switch
min
max

Your script had these words declared as variables. This is why they were given a different name/removed from the script,
User avatar
Sillyasskid
Captain
Captain
 
Posts: 574
Joined: Sat May 14, 2016 3:07 am

Re: Convert this T1 --> T2 (2 errors only)

Postby Derivates » Thu Feb 14, 2019 9:25 pm

Sillyasskid wrote:These are reserved keywords for the Titan Two
Code: Select all
switch
min
max

Your script had these words declared as variables. This is why they were given a different name/removed from the script,

Thanks, I'm happy I'm aware of that now.
User avatar
Derivates
Sergeant Major
Sergeant Major
 
Posts: 75
Joined: Sat Jan 19, 2019 6:15 pm


Return to GPC2 Script Programming

Who is online

Users browsing this forum: Majestic-12 [Bot] and 80 guests