Best MKX Script to Date - Kano Cutthroat

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

Best MKX Script to Date - Kano Cutthroat

Postby Stunys » Wed Mar 27, 2019 3:00 am

Hello all! With the help of Buffy and others on discord and here on the forum, I learned how to refine my scripting skills this last week. The following script would not be possible without their help.

Script Directions:

The script for Kano Cutthroat has 2 settings that are toggle-able by pressing R1. The 2 settings are Red and Green colored.

The 2 analogs are used to start the combos. Pushing the right stick towards your opponent (right/left) does:
Red-Overhead starter - 1 meter - 35%
Green-Fast High starter - 2 meters - 51%

Pushing the right stick UP if opponent is to your right or DOWN if opponent is on your left does:
Red-Low starter - 1 meter - 35%
Green-Low starter - 2 meters - 50%

The left stick only has pushing the stick right/left for now which does:
Red-Meterless - 31%
Green- Jump Roll attack (good for recovery)


Easier Way to read
R1: Toggle

RED:
RS Right/Left - Overhead - 1 meter burn
RS Up/Down - Low - 1 meter burn
LS Right/Left - Middle - Meterless

GREEN:
RS Right/Left - Fast Middle - 2 meter burn
RS Up/Down - Low - 2 meter burn
LS Right/Left - Jump Roll - Meterless

These combos ALL work online if under 250 Mb/s (medium connection) or better.

If you have ANY questions, please let me know below.

Code: Select all
#pragma METAINFO("KANO CUTTHROAT v2", 1, 0, "Stunys")
#include <ps4.gph>
 
int Forward;
int Back;
int mode;
 
main {
 
            // R1 Toggle //
    if(event_release(PS4_R1)) {
        mode = !mode;
    }
 
    if(mode){
        ColorLED('G');
    }
    else {
        ColorLED('R');
    }
 
            //Left Stick RIGHT or LEFT//
 
    // Meterless 31% // Green
    // Roll Attack // Red
    if (abs(get_actual(PS4_LX)) >= 60.0) {
        Forward=PS4_RIGHT;Back=PS4_LEFT;
 
        if (get_actual(PS4_LX) <= 0.0) {
            Forward=PS4_LEFT;Back=PS4_RIGHT;
        }
 
        if(mode) combo_run (nometer);
        else combo_run (Projectile);
    }
    else if (abs(get_actual(PS4_LX)) <= 20.0) {
        combo_stop(nometer);
        combo_stop(Projectile);
    }
 
    //Left Stick END//
 
 
            //Right Stick RIGHT or LEFT
 
    // Overhead Starter - 1 meter 35% // Green
    // QUICK High Starter - 2 meter 50% // Red
    if (abs(get_val(PS4_RX)) >= 60.0) {
        Forward=PS4_RIGHT;Back=PS4_LEFT;
        if (get_actual(PS4_RX) <= 0.0) {
            Forward=PS4_LEFT;Back=PS4_RIGHT;
        }
        if(mode) combo_run (OVERHEAD);
        else combo_run(SHORT);
    }   
    else if (abs(get_actual(PS4_RX)) <= 20.0) {
        combo_stop (OVERHEAD);
        combo_stop(SHORT);
    }
 
    //Right Stick Right and Left END//
 
            //Right Stick UP or DOWN
 
    // Low Starter - 1 meter 35% // Green
    // Low Starter 2 - meter 50% // Red
    if (abs(get_val(PS4_RY)) >= 60.0) {
        Forward=PS4_LEFT;Back=PS4_RIGHT;
        if (get_actual(PS4_RY) <= 0.0) {
            Forward=PS4_RIGHT;Back=PS4_LEFT;
        }
 
        if(mode) combo_run (LOW);
        else combo_run (LONG);
    }
    else if (abs(get_actual(PS4_RY)) <= 20.0) {
        combo_stop (LOW);
        combo_stop (LONG);
    }
 
    set_val(PS4_LX,0.00);
    set_val(PS4_LY,0.00);
    set_val(PS4_RY,0.00);
    set_val(PS4_RX,0.00);
    set_val(PS4_R1,0.00);
 
}
 
void ColorLED(char Color) {
  static int8 old_Color;
  int8 Color1, Color2, Color3, Color4;
 
  if(Color==old_Color) return;
  else {
    led_reset();
    switch(Color){
      case 'W': Color3 = 100;        // White
      case 'P': Color2 = 100;        // Purple
      case 'B': Color1 = 100; break; // Blue
      case 'R': Color2 = 100; break; // Red
      case 'C': Color1 = 100;        // Cyan
      case 'G': Color3 = 100;        // Green
    }
    led_set(LED_1, (fix32)Color1, 0); led_set(LED_2, (fix32)Color2, 0);
    led_set(LED_3, (fix32)Color3, 0); led_set(LED_4, (fix32)Color4, 0);
 
    old_Color = Color;
  }
  return;
}
 
combo nometer {
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);    //Part1
        wait(1400);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);     //Part2
        wait(170);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(20);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(20);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE,0.00);      //Part3
        wait(700);
    set_val(Back, 100.00);
    set_val(PS4_SQUARE,100);
    wait(20);
    set_val(Back,0);
    set_val(PS4_SQUARE,0);
    wait(80);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
    wait(80);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);      //Part4
        wait(150);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(20);
    set_val(PS4_CROSS, 0.00);      //Part5 Finish
    wait(1000);             //Complete ready to loop
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(30);
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(700);
 
}
 
combo Projectile {
    set_val(PS4_UP,100);
    wait(20);
    set_val(PS4_UP,0);
    wait(50);
    set_val(Back,100);
    wait(20);
    set_val(Forward,100);
    set_val(Back,0);
    wait(20);
    set_val(Forward,0);
    set_val(PS4_CROSS,100.00);
    wait(20);
    set_val(PS4_CROSS,0.00);
    wait(300);
 
}
 
combo LOW {
    set_val(Back, 100.00);
    set_val(PS4_CROSS,100);
    wait(20);
    set_val(Back,0);
    set_val(PS4_CROSS,0);
    wait(100);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(250);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(20);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(20);
    set_val(PS4_SQUARE, 100.00);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_SQUARE,0.00);
    set_val(PS4_R2,0.00);     //Part1
    wait(1500);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
        wait(1400);
    set_val(Forward, 100.00);
    set_val(PS4_CIRCLE, 100.00);
        wait(150);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(20);
    set_val(PS4_CROSS, 0.00);
        wait(1000);   //Complete ready to loop
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(30);
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(700);
    }
 
combo OVERHEAD {
    set_val(Back, 100.00);
    set_val(PS4_SQUARE,100);
    wait(20);
    set_val(Back,0);
    set_val(PS4_SQUARE,0);
    wait(50);
    set_val(PS4_TRIANGLE,100);
    wait(20);
    set_val(PS4_TRIANGLE,0);
    wait(250);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(20);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(20);
    set_val(PS4_SQUARE, 100.00);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_SQUARE,0.00);
    set_val(PS4_R2,0.00);     //Part1
        wait(1500);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
        wait(1400);
    set_val(Forward, 100.00);
    set_val(PS4_CIRCLE, 100.00);
        wait(150);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(20);
    set_val(PS4_CROSS, 0.00);
        wait(1000);   //Complete ready to loop
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(30);
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(700);
}
 
combo LONG {
    set_val(Back, 100.00);
    set_val(PS4_CROSS,100);
    wait(20);
    set_val(Back,0);
    set_val(PS4_CROSS,0);
    wait(100);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(80);           //Part1
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(40);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(30);
    set_val(PS4_CROSS, 100.00);
    set_val(PS4_R2, 100.00);
    wait(30);
    set_val(PS4_CROSS,0.00);
    set_val(PS4_R2,0.00);             //Part2
    wait(700);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
        wait(1400);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);      //Part3
    wait(1100);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_R2, 0.00);      //Part4 Run End
    wait(190);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(40);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(60);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);    //Part5
    wait(250);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(20);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(20);
    set_val(PS4_SQUARE, 100.00);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_SQUARE,0.00);
    set_val(PS4_R2,0.00);   //Part6
    wait(1500);
    set_val(PS4_CIRCLE, 100.00);
    wait(20);
    set_val(PS4_CIRCLE, 0.00);   //Part7
    wait(60);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(20);
    set_val(PS4_CROSS, 0.00);
        wait(1200);   //Complete ready to loop
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(30);
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(700);
    }
 
combo SHORT {
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
    wait(80);           //Part1
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(40);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(30);
    set_val(PS4_CROSS, 100.00);
    set_val(PS4_R2, 100.00);
    wait(30);
    set_val(PS4_CROSS,0.00);
    set_val(PS4_R2,0.00);             //Part2
        wait(600);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);
        wait(1400);
    set_val(Forward, 100.00);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    set_val(PS4_TRIANGLE, 0.00);
    wait(50);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(50);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);      //Part3
    wait(1100);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_R2, 0.00);      //Part4 Run End
    wait(190);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(40);
    set_val(PS4_SQUARE, 100.00);
    wait(20);
    set_val(PS4_SQUARE, 0.00);
    wait(60);
    set_val(PS4_TRIANGLE, 100.00);
    wait(20);
    set_val(PS4_TRIANGLE, 0.00);    //Part5
    wait(250);
    set_val(PS4_DOWN, 100.00);
    wait(20);
    set_val(PS4_DOWN, 0.00);
    wait(20);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(20);
    set_val(PS4_SQUARE, 100.00);
    set_val(PS4_R2, 100.00);
    wait(20);
    set_val(PS4_SQUARE,0.00);
    set_val(PS4_R2,0.00);   //Part6
    wait(1500);
    set_val(PS4_CIRCLE, 100.00);
    wait(20);
    set_val(PS4_CIRCLE, 0.00);   //Part7
    wait(60);
    set_val(Back, 100.00);
    wait(20);
    set_val(Back, 0.00);
    wait(50);
    set_val(Forward, 100.00);
    wait(20);
    set_val(Forward, 0.00);
    wait(50);
    set_val(PS4_CROSS, 100.00);
    wait(20);
    set_val(PS4_CROSS, 0.00);
        wait(1200);   //Complete ready to loop
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(30);
    set_val(Forward,100);
    wait(20);
    set_val(Forward,0);
    wait(700);
    }
Discord is Stunys#3295
User avatar
Stunys
Sergeant First Class
Sergeant First Class
 
Posts: 21
Joined: Sun Mar 03, 2019 7:13 am
Location: Fort Campbell, KY

Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 86 guests