GPC Library

ANTIRECOIL complete (Vertical + Horizontal) and RAPIDFIRE, both adjustable on the fly, with ON/OFF and SAVE function

This is an evolution of version 5.0 to wich I've added Antirecoil release regulation. Antirecoil and rapidfire now are decoupled.
ANTIRECOIL and RAPIDFIRE are both fully adjustable on the fly, and both have on/off and save function. Added LED status indication.
This script can be used on any console and with any controller, but if you want to use it with mouse and keyboard, comment out any line which has SPVAR in it. X-Aim doesn't support them.
Inside the script you'll find detailed instructions for XBOX or PLAYSTATION users.

- Load the script on the CM +
- Turn on the console and enter a game (without enemies, or with few enemies);
- Place your character in front of a wall placed at about 10/15 meters (find a wall that leaves the bullet marks while shooting);
- adjusts the antirecoil by increasing it or decreasing it (depending on your weapon's recoil), till the rose of the bullets on the wall is quite collected;
- if needed, adjusts also the horizontal antirecoil (if your weapon tends to move sideways while shooting);
- If the rapidfire shoots in 'ticking' mode, adjust it as long as the weapon shoots smoothly;
- save the script
Follow the instructions inside the script to adjust (and save) antirecoil and rapidfire
Version 6.1
Author LEX LOST
Publish Date 2015-09-06 10:11:15
Update Date 2017-06-30 11:40:26
Downloads 19719
RATE


22

0

Release Notes: - Fixed an error which prevented the horizontal AR from being saved correctly
- Added LED status indication.
Code:Select all
//-------------------------------------------------------------------------------------------
//  ANTIRECOIL and RAPIDFIRE  (both adjustable on the fly, with ON/OFF and SAVE function)
//-------------------------------------------------------------------------------------------
//  Version: 6.1 - Classic
//  Platform: Multi
//  Controller: Multi
//  Game: All FPS games
//  Author: LEX LOST
//------------------------------------------------------------------------------------------

//  LED indications:

//  Green:   rapidfire ON - antirecoil ON
//  Fuchsia: antirecoil ON - rapidfire OFF
//  Blue:    rapidfire ON - antirecoil OFF
//  Red:     rapidfire OFF - antirecoil OFF;

//-------------------------------------------------------------------------------------------

//          XBOX INSTRUCTIONS:

// RAPIDFIRE (ON by default - Start value: 13 - GREEN led = ON; RED led = OFF)
// Hold LT and Press Y to Enable or Disable Rapidfire (with rumble notify)
// Hold A and tap UP to increase Rate of Fire (+1 each tap on UP, while holding A)
// Hold A and tap DOWN to decrease Rate of Fire (-1 each tap on DOWN, while holding A)

// ANTIRECOIL (ON by default - Start value: vertical = 30; Horizontal = 0)
// Hold LT and Press X to Enable or Disable Antirecoil (with rumble notify)
// Hold LT and tap UP to increase Antirecoil (+1 each tap on UP, while holding LT)
// Hold LT and tap DOWN to decrease Antirecoil (-1 each tap on DOWN, while holding LT)
// Hold LT and tap RIGHT to compensate to the right (+1 each tap on RIGHT , while holding LT)
// Hold LT and tap LEFT to compensate to the left (+1 each tap on LEFT, while holding LT)

// SAVE new values into the CronusMax eeprom: Hold LT and press MENU (or START, for XBOX360 users)
    
//-------------------------------------------------------------------------------------------
//           PLAYSTATION INSTRUCTIONS:

// RAPIDFIRE (ON by default - Start value: 13 - GREEN led = ON; RED led = OFF)
// Hold L2 and Press TRIANGLE to Enable or Disable Rapidfire (with rumble notify)
// Hold CROSS and tap UP to increase Rate of Fire (+1 each tap on UP, while holding CROSS)
// Hold CROSS and tap DOWN to decrease Rate of Fire (-1 each tap on DOWN, while holding CROSS)

// ANTIRECOIL (ON by default - Start value: vertical = 30; Horizontal = 0)
// Hold L2 and Press SQUARE to Enable or Disable Antirecoil (with rumble notify)
// Hold L2 and tap UP to increase Antirecoil (+1 each tap on UP, while holding L2)
// Hold L2 and tap DOWN to decrease Antirecoil (-1 each tap on DOWN, while holding L2)
// Hold L2 and tap RIGHT to compensate to the right(+1 each tap on RIGHT , while holding L2)
// Hold L2 and tap LEFT to compensate to the left (+1 each tap on LEFT, while holding L2)

// Save new values into the CronusMax eeprom: Hold L2 and press OPTIONS (or START, for PS3 users)

//-------------------------------------------------------------------------------------------

//DECLARARATIONS - define

define RF_switch  = 17;   // XB1_Y - PS4_TRIANGLE 
define AR_switch  = 20;   // XB1_X - PS4_SQUARE
//-------------------------------------------------------------------------------------------
define save       =  2;   // XB1_MENU - PS4_OPTIONS
//-------------------------------------------------------------------------------------------
define AR_Release = 70;	  // 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   = 30;
int ANTI_RECOIL_H =  0;  
int anti_recoil;
int anti_recoil_H;
int Col_ind;
int fire_button;
int scope_button;
int hold_time;
int rest_time;

//-------------------------------------------------------------------------------------------

//INITIALIZATION - init

init{

    if(get_console() == PIO_PS3) {
        fire_button  = 3;
        scope_button = 6;
    }else { 
        fire_button  = 4;
        scope_button = 7;
    }

    RATE_OF_FIRE  = get_pvar(SPVAR_1,  0, 25, 13);
    ANTI_RECOIL   = get_pvar(SPVAR_2, -100,+100, 30);
    ANTI_RECOIL_H = get_pvar(SPVAR_3, -100,+100, 0);
} 

//-------------------------------------------------------------------------------------------

//MAIN BLOCK ROUTINES

main { 
    if(get_val(7) && event_press(AR_switch))  {
        combo_run (vibrate); 
        recoil_onoff=!recoil_onoff;
        } 

    if(get_val(7) && event_press(RF_switch))  {
        combo_run (vibrate); 
        rapid_onoff=!rapid_onoff;
        } 

    if((rapid_onoff) && recoil_onoff) colourled(Green); 
    if((rapid_onoff) && !recoil_onoff) colourled(Blue); 
    if((recoil_onoff) && !rapid_onoff) colourled(Pink);         
    if((!recoil_onoff) && !rapid_onoff) colourled(Red); 
   
    if(rapid_onoff) { if(get_val(4)) {
        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(19)) {  
        if(event_press(UP)) {
            RATE_OF_FIRE = RATE_OF_FIRE+ 1;
        }
        if(event_press(DOWN)) {
            RATE_OF_FIRE = RATE_OF_FIRE- 1;
        }
        set_val(UP,0); set_val(DOWN,0);
    }
        
    if(get_val(scope_button) && event_press(save)){
        combo_run(vibrate);
        set_pvar(SPVAR_1, RATE_OF_FIRE);
        set_pvar(SPVAR_2, ANTI_RECOIL);
        set_pvar(SPVAR_3, ANTI_RECOIL_H);
        set_val(save, 0);
    }
    if(get_val(7)){
        if(event_press(UP)){
            ANTI_RECOIL = ANTI_RECOIL+ 1;
        }
        if(event_press(DOWN)) {
            ANTI_RECOIL = ANTI_RECOIL- 1;
        }
        set_val(UP,0); set_val(DOWN,0);
   
        if(event_press(LEFT)){
            ANTI_RECOIL_H = ANTI_RECOIL_H+ 1;
        }
        if(event_press(RIGHT)) {
            ANTI_RECOIL_H = ANTI_RECOIL_H- 1;
        }
        set_val(LEFT,0); set_val(RIGHT,0);

    }
    if(!Scope_only || get_val(scope_button) && get_val(fire_button )) {
        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_A, 100);
    wait(300);
    reset_rumble();
    }

combo RAPID_FIRE {
    set_val(fire_button, 100);
    wait(hold_time);
    set_val(fire_button, 0);
    wait(rest_time);
    set_val(fire_button, 0);
    }

combo AntiRecoil { // This combo must be the last one
    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 



  • Rating

    10 / 10 here !

    If you own a ps3 and prefer an xbox controller, or even use a keyboard and mouse, this is a must to remap your keyboard to a controller. Go buy it now you won't be disappointed !

  • Rating

    Amazing device

    If you're like me and love your PS4 controller but want to use an Xbox One GET THIS you won't be sorry.

  • Rating

    Worth every penny

    The controller feels and performs as it does on the xbox right there on my ps3, awesome job guys, and worth every penny !!!

  • Rating

    Amazing Macro combos

    tested Super Street Fighter IV Arcade Edition. I was able to perform normal & FADC combos with some characters like Ryu and Ken with a single click. Amazing.

  • Rating

    As good as a XIM

    If you are a pc gamer, that needs a pc solution for console, get yourself a ControllerMAX you will not regret it.

  • Rating

    KB & Mouse RULES!

    All I can say playing 10 minutes with ControllerMAX properly configured it felt better then PC....YES I said it even better then PC, it's that smooth.

  • Rating

    Six-Axis 360!

    WOW! I can finally get that six-axis awesomeness on my Xbox 360. The best money I ever spent.

  • Rating

    Beats all rapidfire mods

    I've tried the Intensafire, Godfather even the new Wolf controller. The ControllerMAX beats them hands down and no wires or soldering too. 5 Stars!

  • Rating

    Just perfect!

    I can't believe how much this can do for the price tag - it blew me away. Best controller upgrade ever.

  • Rating

    Hugh Thanks!

    Without your help I couldn't be playing Xbox, thanks guys.

  • Rating

    Wow!

    I have to say after reading the forums for Destiny Mouse and Keyboard setup I was flying into getting it set up in 20 minutes. It works outstanding! I'm more then satisfied and its worth every penny!

  • Rating

    Achievement Unlocked!

    Idle boosting Complete 150 Multiplayer games, James Cameron's Avatar. My friend said it would be hard, I laughed then linked him.

  • Rating

    A++!

    Now this is a company you can count on and trust...keep up the great work guys!

  • Rating

    What Disability?

    I would like to thank you for making the CronusMax. I have this problem hitting L3 and R3, and today that problem was fixed. I love the remap feature on the Cronus max. You made my life easier.

  • Rating

    Awesome stuff guys!

    Playing Forza 5 with my original MS 360 wireless wheel makes the XB1 complete for me, thanks to the CronusMax. Thumbs up!