// GPC Online Library
// Big shout out to The_Rabid_Taco and Destiny_70.
// I combined a few things from each of their works and tweaked it a little.
//
// L3 or LS for .5sec to enable/disable, LED will be green for on and red for off.
int Auto_Fire_Enabled = TRUE;
int Auto_Fire_Check_Time = 0;
define MELEE_BUTTON = 1; // XB1_RB PS4_R1
define SHOOT = 2; // XB1_RT PS4_R2
define ADS = 3; // XB1_LT PS4_L2
define ScriptOnOff = 4; // XB1_LS PS4_L3
define RX_AXIS = 5; // XB1_RX PS4_RX
define RY_AXIS = 6; // XB1_RY PS4_RY
define LX_AXIS = 7; // XB1_LX PS4_LX
define LY_AXIS = 8; // XB1_LY PS4_LY
define DPAD_DOWN = 9; // XB1_DOWN PS4_DOWN
define RELOAD = 10; // XB1_X PS4_SQUARE
////////////////////////////////////////////////////////////////////////////////
main {
// Check to see if reseting to primary weapon or turning off script.
if (get_val(ScriptOnOff)) {
combo_run (Reset_Button_Timer);
}
// Holding L3,LS for .5 seconds will disable the script.
if (event_release(ScriptOnOff) && !combo_running(Auto_Fire_Toggle)) {
if (Auto_Fire_Check_Time >= 500) {
combo_run(Auto_Fire_Toggle);
}
}
// Sets a LED indicator to show wheter the script is enabled or not.
// Green is enabled, red is disabled.
if (Auto_Fire_Enabled) {
set_led(LED_1, 0);
set_led(LED_2, 0);
set_led(LED_3, 1);
set_led(LED_4, 0);
} else if (!Auto_Fire_Enabled) {
set_led(LED_1, 0);
set_led(LED_2, 1);
set_led(LED_3, 0);
set_led(LED_4, 0);
}
// Turn off Rapid (hip) Fire by removing the = sign in the middle
if ((get_val(2) > 0) && (get_val(3) >= 0) && (Auto_Fire_Enabled)) {
combo_run(RapidFire);
} else combo_stop(RapidFire);
// Auto melee by default.
if(get_val(1)) { combo_run(TurboMelee); }
}
combo RapidFire {
set_val(2, 100);
wait (45);
set_val(2, 0);
wait (45);
}
combo TurboMelee {
set_val(1, 100);
wait(40);
set_val(1, 0);
wait(20);
set_val(1, 0);
}
// Records how long L3,LS was pressed
combo Reset_Button_Timer {
Auto_Fire_Check_Time = get_ptime(ScriptOnOff);
}
// Turn on / off script press L3,LS for 1/2 a second
combo Auto_Fire_Toggle {
if (Auto_Fire_Check_Time >= 500) {
if (Auto_Fire_Enabled) {
Auto_Fire_Enabled = FALSE;
set_led(LED_1, 0);
set_led(LED_2, 0);
set_led(LED_3, 1);
set_led(LED_4, 0);
} else if (!Auto_Fire_Enabled) {
Auto_Fire_Enabled = TRUE;
set_led(LED_1, 0);
set_led(LED_2, 1);
set_led(LED_3, 0);
set_led(LED_4, 0);
}
}
}