//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);
}