define FIRE_BUTTON = XB1_RT;
define DROP_BUTTON = XB1_B;
define RATE_OF_FIRE = 20; // Range: 1 to 25 SPS. Rapid Fire
define RATE_OF_FIRE2 = 21.4; // Range: 1 to 25 SPS. Rapid Fire 2
define RATE_OF_FIRE3 = 18.4; // Range: 1 to 25 SPS. Rapid Fire 3
define ANTI_RECOIL = 38; // change this value to compensate to the vertical recoil
define ANTI_RECOIL_LEFT = 2; // change this value to compensate to the left
define ANTI_RECOIL_RIGHT = 2; // change this value to compensate to the right
define ONLY_WITH_SCOPE = TRUE;
int rapid_onoff = FALSE;
int rapid2_onoff = FALSE;
int jitter_onoff = FALSE;
int rapidPjitter_onoff = FALSE;
int hold_time, rest_time;
int hold_time2, rest_time2;
int hold_time3, rest_time3;
int dropshot_toggle = FALSE;
int HoldBreathON = FALSE;
int AntiRecoilON = FALSE;
int prone_flag;
int anti_recoil;
int anti_recoil_left;
int anti_recoil_right;
init {
hold_time = 500 / RATE_OF_FIRE;
rest_time = hold_time;
if(rest_time < 0) rest_time = 0;
hold_time2 = 500 / RATE_OF_FIRE2;
rest_time2 = hold_time2;
if(rest_time2 < 0) rest_time2 = 0;
hold_time3 = 500 / RATE_OF_FIRE3;
rest_time3 = hold_time3;
if(rest_time3 < 0) rest_time3 = 0;
}
main {
vm_tctrl(-8);
if((event_press(XB1_LT) && get_val(XB1_LEFT)) || (event_press(XB1_LEFT) && get_val(XB1_LT))){ // TURN ON/OFF Rapid Fire.
rapid_onoff = !rapid_onoff; // Change Rate of Fire in define section.
if(rapid_onoff) combo_run(RumbleNotifier);
rapid2_onoff = FALSE;
jitter_onoff = FALSE;
rapidPjitter_onoff = FALSE; }
if(get_val(XB1_RT) && rapid_onoff) {combo_run(RapidFire); }
if((event_press(XB1_LT) && get_val(XB1_UP)) || (event_press(XB1_UP) && get_val(XB1_LT))){ // Turns ON/OFF Rapid Fire 2
rapid2_onoff = !rapid2_onoff; // Change Rate of Fire in define section.
if(rapid2_onoff) combo_run(RumbleNotifier);
rapid_onoff = FALSE;
jitter_onoff = FALSE;
rapidPjitter_onoff = FALSE; }
if(rapid2_onoff && get_val(XB1_RT)) {combo_run(RapidFire2);}
if((event_press(XB1_LT) && get_val(XB1_RIGHT)) || (event_press( XB1_RIGHT) && get_val(XB1_LT))) { // Turns ON/OFF ADS JITTER need tactical to use.
jitter_onoff = !jitter_onoff;
if(jitter_onoff) combo_run(RumbleNotifier);
rapid_onoff = FALSE;
rapid2_onoff = FALSE;
rapidPjitter_onoff = FALSE; }
if(jitter_onoff && get_val(XB1_RT)) {combo_run(ADSjitter); }
if((event_press(XB1_LT) && get_val(XB1_DOWN)) || (event_press( XB1_DOWN) && get_val(XB1_LT))) { // Turns ON/OFF XYY JITTER hip fire only.
rapidPjitter_onoff = !rapidPjitter_onoff; // While in ADS it fires Rate of Fire3
if(rapidPjitter_onoff) combo_run(RumbleNotifier); // Change Rate of Fire in define section.
rapid_onoff = FALSE;
rapid2_onoff = FALSE;
jitter_onoff = FALSE; }
if(rapidPjitter_onoff && get_val(XB1_RT)) {
if(get_val(XB1_LT)) { combo_run(RapidFire3); }
else { combo_run(XYYjitter) }
}
if(get_val(XB1_LEFT) && event_press(XB1_B)) { // This turns on/off dropshot.
dropshot_toggle = !dropshot_toggle;
if(dropshot_toggle) combo_run(RumbleNotifier);
}
if(dropshot_toggle) {
if((!get_val(XB1_LT) && event_press(FIRE_BUTTON)) || (event_release(XB1_LT) && get_val(FIRE_BUTTON))) {
combo_run(Prone);
combo_stop(AutoSprint);
} else if(event_release(FIRE_BUTTON)) {
if(prone_flag) combo_run(Stand);
combo_stop(AutoSprint);
}
}
if(get_val(XB1_LEFT) && event_press(XB1_RS)) { // This turns on/off Anti-Recoil.
AntiRecoilON = !AntiRecoilON;
if(AntiRecoilON) combo_run(RumbleNotifier);
}
if(AntiRecoilON && (ONLY_WITH_SCOPE || get_val(XB1_LT))) {
combo_run(AntiRecoil);
}
if((event_press(XB1_LEFT) && get_val(XB1_LS)) || (event_press(XB1_LS) && get_val(XB1_LEFT))) { // This turns on/off Holdbreath.
HoldBreathON = !HoldBreathON;
if(HoldBreathON) {
combo_run(RumbleNotifier);
}
}
if(HoldBreathON && get_val(XB1_LT)) {combo_run(HoldBreath);}
if((get_val(XB1_LY)) < -99) { // Always ON
combo_run(AutoSprint);
}
if(get_val(XB1_P4)) { // easier to hit on paddle
combo_run(Specialists);
}
if(get_val(XB1_P3)) { // Tap to jump/ Hold to different levels of height
combo_run(DoubleJump);
}
if(event_press(XB1_P2)) { // Tap to slide and reload same time.
combo_run(ReloadSlide)
}
if(event_press(XB1_P1)) { // If walking you drop and if running you slide.
combo_run(DropSlide);
}
if(get_val(5)) combo_run(burstmelee); // Fires before you melee.
}
combo RapidFire {
set_val(XB1_RT, 100);
wait(hold_time);
set_val(XB1_RT, 0);
wait(rest_time);
set_val(XB1_RT, 0);
}
combo RapidFire2 {
set_val(XB1_RT, 100);
wait(hold_time2);
set_val(XB1_RT,0);
wait(rest_time2);
set_val(XB1_RT,0);
}
combo RapidFire3 {
set_val(XB1_RT, 100);
wait(hold_time3);
set_val(XB1_RT,0);
wait(rest_time3);
set_val(XB1_RT,0);
}
combo ADSjitter {
wait(60);
set_val(XB1_LB, 100);
wait(90);
set_val(XB1_LB, 100);
set_val(XB1_RB, 100);
wait(30);
set_val(XB1_LB, 0);
set_val(XB1_RB, 0);
}
combo XYYjitter {
set_val(XB1_X, 100);
set_val(XB1_Y, 100);
wait(20);
set_val(XB1_Y, 0);
wait(20);
set_val(XB1_Y, 100);
wait(20);
set_val(XB1_Y, 0);
wait(20);
}
combo AutoSprint {
set_val(XB1_LS, 100);
wait(40);
set_val(XB1_LS, 0);
wait(60);
}
combo Specialists {
set_val(XB1_LB, 100);
set_val(XB1_RB, 100);
wait(500);
set_val(XB1_LB, 0);
set_val(XB1_RB, 0);
}
combo ReloadSlide {
set_val(XB1_B, 100);
wait(190);
set_val(XB1_B, 0);
wait(10);
set_val(XB1_X, 100);
wait(50);
set_val(XB1_X, 0);
}
combo Prone {
set_val(XB1_LX, 0);
set_val(XB1_LY, 0);
wait(50);
set_val(XB1_LX, 0);
set_val(XB1_LY, 0);
set_val(DROP_BUTTON, 100);
wait(380);
prone_flag = TRUE;
}
combo Stand {
set_val(DROP_BUTTON, 100);
wait(380);
prone_flag = FALSE;
}
combo RumbleNotifier {
set_rumble(RUMBLE_A, 100);
wait(200);
reset_rumble();
}
combo HoldBreath {
set_val(XB1_LS, 100);
wait(10);
set_val(XB1_LS, 100);
}
combo DoubleJump {
set_val(XB1_A, 0);
wait(50);
set_val(XB1_A, 100);
wait(200);
}
combo DropSlide {
set_val(XB1_B, 100);
wait(380);
set_val(XB1_B, 0);
}
combo burstmelee {
set_val(5, 0);
set_val(4, 100);
wait(60);
wait(240);
set_val(5, 100);
wait(100);
wait(500);
}
combo AntiRecoil {
if(get_val(XB1_RT)) {
anti_recoil = get_val(10) + ANTI_RECOIL;
if(anti_recoil > 100) anti_recoil = 100;
set_val(10, anti_recoil);
anti_recoil_left = get_val(9) -ANTI_RECOIL_LEFT;
if(anti_recoil_left > 100) anti_recoil_left = 100;
set_val(9, anti_recoil_left);
anti_recoil_right = get_val(9) +ANTI_RECOIL_RIGHT;
if(anti_recoil_right > 100) anti_recoil_right = 100;
set_val(9, anti_recoil_right);}
}