Gears Of War 3 With PS3 Controller

This script is for Online use with perfect active reload set to coincide with the online timing animation. Auto tag and rapid fire for hammerburst and pistols.
Versionv1.00
AuthorBaby Cham
Publish DateSat, 6 Oct 2012 - 02:44
Last UpdateSat, 6 Oct 2012 - 02:44
Downloads327
RATE


1

0

Code: Select all
//Gears Of War 3 with PS3 Controller//
//*********************************************
 
 
define RAPIDFIRE_BUTTON = PS3_R2;
 
define RATE_OF_FIRE = 8.1;   // Range: 1 to 25 RPS (Round/s)
                             // Values higher than 25 would be so fast that the
                             // game probably will not detect 100% of the events.
//
// No need to make changes in the code below.
//
 
remap PS3_L1 -> XB360_LB;
remap PS3_L2 -> XB360_LT;
remap PS3_R1 -> XB360_RB;
remap PS3_R2 -> XB360_RT;
remap PS3_L3 -> XB360_LS;
remap PS3_R3 -> XB360_RS;
remap PS3_SQUARE -> XB360_X;
remap PS3_TRIANGLE -> XB360_Y;
remap PS3_CIRCLE -> XB360_B;
remap PS3_CROSS -> XB360_A;
remap PS3_SELECT -> XB360_BACK;
remap PS3_START -> XB360_START;
 
int AutoTag = FALSE;
 
int Interest_CurbStomp_Execute = FALSE;
 
int hold_time, rest_time;
 
init {
    hold_time = 500 / RATE_OF_FIRE;
    rest_time = hold_time - 20;
    if(rest_time < 0) rest_time = 0;
}
 
main {
    // Press R1 for "PerfectActiveReload"
    if(event_press(PS3_R1)) {
        combo_run(PerfectActiveReload);
    }
 
    // Press L3 to turn on/off "TagUrHit"
    if(event_press(PS3_L3)) {
        AutoTag = !AutoTag;
    }
    if(AutoTag) {
        combo_run(TagUrHit);
    } else if(combo_running(TagUrHit)) {
        combo_stop(TagUrHit);
    }
 
    // Press TRIANGLE to turn on/off "InterestingCurbStompExecution"
    if(event_press(PS3_TRIANGLE)) {
        Interest_CurbStomp_Execute = !Interest_CurbStomp_Execute;
    }
    if(Interest_CurbStomp_Execute) {
        combo_run(InterestingCurbStompExecution);
    } else if(combo_running(InterestingCurbStompExecution)) {
        combo_stop(InterestingCurbStompExecution);
    }
 
    if(get_val(RAPIDFIRE_BUTTON)) {
        combo_run(RapidFire);
    } else if(combo_running(RapidFire)) {
        combo_stop(RapidFire);
    }
 
    // Do not send events related to the buttons R1, L3, TRIANGLE to the XB360.
    set_val(PS3_R1, 0);
    set_val(PS3_L3, 0);
    set_val(PS3_TRIANGLE, 0);
 
    // Disable some controller inputs while a combo is running.
    // To avoid "interferences" from player.
    if(combo_running(PerfectActiveReload) || combo_running(TagUrHit) || combo_running(InterestingCurbStompExecution)) {
        set_val(PS3_SELECT, 0);
    }
}
 
combo PerfectActiveReload {
    set_val(PS3_R1, 100);
    wait(160);
    set_val(PS3_R1, 0);
    wait(1100);
    set_val(PS3_R1, 100);
    wait(120);
    set_val(PS3_R1, 0);
}
 
combo TagUrHit {
    set_val(PS3_L3, 100);
    wait(40);
    set_val(PS3_L3, 0);
    wait(20);
    set_val(PS3_L3, 0);
}
 
combo InterestingCurbStompExecution {
    set_val(PS3_TRIANGLE, 100);
    wait(2500);
    set_val(PS3_TRIANGLE, 0);
    wait(20);
    set_val(PS3_TRIANGLE, 0);
}
 
combo RapidFire {
    set_val(RAPIDFIRE_BUTTON, 100);
    wait(hold_time);
    set_val(RAPIDFIRE_BUTTON, 0);
    wait(rest_time);
    set_val(RAPIDFIRE_BUTTON, 0);
}