//------------------------------------------------------------------------------------------- // Apex Legends ANTIRECOIL and RAPIDFIRE ( with ON/OFF ) //------------------------------------------------------------------------------------------- // Version : 1.10 // Platform : Multi // Controller: Multi // Author : visionFl3x //------------------------------------------------------------------------------------------ // LED indications: // White: rapidfire ON - antirecoil ON // Pink: antirecoil ON - rapidfire OFF // Yellow: rapidfire ON - antirecoil OFF // SkyBlue: rapidfire OFF - antirecoil OFF; //------------------------------------------------------------------------------------------- // INSTRUCTIONS: // RAPIDFIRE (ON by default - Start value: 13 - Pink led = ON; SkyBlue led = OFF) // Hold XB1_LT and Press XB1_B to Enable or Disable Rapidfire (with rumble notify) // ANTIRECOIL (ON by default - Start value: vertical = 38; Horizontal = 38) // Hold XB1_LT and Press XB1_A to Enable or Disable Antirecoil (with rumble notify) // Hold XB1_LB and tap XB1_UP to increase Antirecoil (+1 each tap on XB1_UP, while holding XB1_LB) // Hold XB1_LB and tap XB1_DOWN to decrease Antirecoil (-1 each tap on XB1_DOWN, while holding XB1_LB) // Hold XB1_LB and tap XB1_LEFT to compensate to the right (+1 each tap on XB1_LEFT , while holding XB1_LB) // Hold XB1_LB and tap XB1_RIGHT to compensate to the left (+1 each tap on XB1_RIGHT, while holding XB1_LB) // SAVE new values into the CronusMax eeprom: Hold LT/L2 and press MENU (or START, for XBOX360 users) //------------------------------------------------------------------------------------------- // Save new values into the CronusMax eeprom: Hold L2/LT and press OPTIONS/MENU (or START, for PS3 users) //------------------------------------------------------------------------------------------- //DECLARARATIONS - define define FIRE_BTN = XB1_RT; define ADS_BTN = XB1_UP; define RF_switch = XB1_B; // define AR_switch = XB1_A; // //------------------------------------------------------------------------------------------- define save = 2; // XB1_MENU - PS4_OPTIONS //------------------------------------------------------------------------------------------- define AR_Release = 38; // change this value to set when antirecoil stops working (min: antirecoil value + 10) define Scope_only = TRUE; // if TRUE Antirecoil IS ON only when scoping - if FALSE, is always ON //------------------------------------------------------------------------------------------- define UP = 13; define DOWN = 14; define LEFT = 15; define RIGHT = 16; //------------------------------------------------------------------------------------------- define Blue = 1; define Red = 2; define Green = 3; define Pink = 4; define SkyBlue = 5; define Yellow = 6; define White = 7; //------------------------------------------------------------------------------------------- data(1, 2,0,0,0, //1. Blue 0,2,0,0, //2. Red 0,0,2,0, //3. Lime/Green 0,0,0,2, //4. Fuchsia/Pink 2,0,2,0, //5. SkyBlue 0,2,2,0, //6. Yellow 2,2,2,2 //7. White ); //------------------------------------------------------------------------------------------- //VARIABLES - int int recoil_onoff = TRUE; // if TRUE Antirecoil is ON by default - if FALSE, OFF by default int rapid_onoff = TRUE; // if TRUE Rapidfire is ON by default - if FALSE, OFF by default int RATE_OF_FIRE = 13; // Range: 1 to 25 RPS (Round/s) int ANTI_RECOIL = 38; int ANTI_RECOIL_H = 38; int anti_recoil; int anti_recoil_H; int Col_ind; int hold_time; int rest_time; int rumble_tipe; //------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------- //MAIN BLOCK ROUTINES main { if(get_val(XB1_LT) && event_press(AR_switch)) { recoil_onoff=!recoil_onoff; set_rumble_tipe(recoil_onoff); } if(get_val(XB1_LT) && event_press(RF_switch)) { combo_run (vibrate); rapid_onoff=!rapid_onoff; } if(rapid_onoff && recoil_onoff) colourled(White); if(rapid_onoff && !recoil_onoff) colourled(Pink); if(recoil_onoff && !rapid_onoff ) colourled(Yellow); if(!recoil_onoff && !rapid_onoff ) colourled(SkyBlue); if(rapid_onoff) { if(get_val(FIRE_BTN)) { combo_run (RAPID_FIRE); } } hold_time = 500 / RATE_OF_FIRE; rest_time = hold_time - 20; if(rest_time < 0) rest_time = 0; if(get_val(ADS_BTN) && event_press(save)){ combo_run(vibrate); set_pvar(SPVAR_3, RATE_OF_FIRE); set_pvar(SPVAR_2, ANTI_RECOIL); set_pvar(SPVAR_3, ANTI_RECOIL_H); set_val(save, 0); } if(get_val(XB1_LB)){ if(event_press(XB1_UP)){ ANTI_RECOIL = ANTI_RECOIL+ 1; } if(event_press(XB1_DOWN)) { ANTI_RECOIL = ANTI_RECOIL- 1; } set_val(XB1_UP,0); set_val(XB1_DOWN,0); if(event_press(XB1_LEFT)){ ANTI_RECOIL_H = ANTI_RECOIL_H+ 1; } if(event_press(XB1_RIGHT)) { ANTI_RECOIL_H = ANTI_RECOIL_H- 1; } set_val(XB1_LEFT,0); set_val(XB1_RIGHT,0); } if(!Scope_only || get_val(ADS_BTN) && get_val(FIRE_BTN )) { combo_run(AntiRecoil); } if( abs(get_val(10)) > AR_Release || abs(get_val(9)) > AR_Release) { combo_stop (AntiRecoil); } } //------------------------------------------------------------------------------------------- //COMBO BLOCKS combo vibrate { set_rumble(rumble_tipe, 100); wait(300); reset_rumble(); } function set_rumble_tipe ( val) { if( val) rumble_tipe = RUMBLE_A ; else rumble_tipe = RUMBLE_B ; combo_run(vibrate); } combo RAPID_FIRE { set_val(FIRE_BTN, 100); wait(hold_time); set_val(FIRE_BTN, 0); wait(rest_time); set_val(FIRE_BTN, 0); } combo AntiRecoil { if(recoil_onoff) { anti_recoil = get_val(10) + ANTI_RECOIL; if(anti_recoil > 100) anti_recoil = 100; set_val(10, anti_recoil); anti_recoil_H = get_val(9) + ANTI_RECOIL_H; if(anti_recoil_H > 100) anti_recoil_H = 100; set_val(9, anti_recoil_H); } } // COLOR LED function //-------------------------------------------------------------- function colourled(Colour) { Col_ind=(Colour*4)- 3; set_led(LED_1,dbyte(Col_ind )); set_led(LED_2,dbyte(Col_ind+ 1)); set_led(LED_3,dbyte(Col_ind+ 2)); set_led(LED_4,dbyte(Col_ind+ 3)); }// End