GPC Library

Ultimate Universal (PS4&XB1) Destiny Script (ALL BUTTON LAYOUT EDITION)

Simple Script for ALL BUTTON LAYOUTS (with built in toggle)

- Start & Up = Bumper Jumper
- Start & Down = Default
- Start & Left = Puppeteer
- Start & Right = Puppeteer & Trigger Swap


FEATURES FOR ALL CONTROLLERS:

Support for all button layouts

Adjustable Anti-Recoil (toggled on/off with double click of dpad up)

ADS Sensitivity (toggled on/off with double click of dpad right - also has option for delay)

Auto Crouch on Shot (toggle on/off w/ double tap dpad down)

Auto-Revive (double tap reload)

Auto Sprint option

Auto-Strafe when ADS (toggled on/off w/ double tap dpad left)

Hair Triggers

Instant Shoulder Charge (melee while holding sprint stick)

Instant Shoulder Charge (1 button) (designated button while sprinting)

NLB "Reload Glitch" (ADS & right)

Rapid Fire (ADS & up)

Rapid Fire ADS only (shoot & up)

Rapid Fire EZ (weapon swap & up)

Rapid Melee (hold melee)

Rapid Teabag/Crouch (hold crouch)

Suros Focus Fire (ADS & left)

Titan Skate (hold jump & reload)

Titan Skate (1 button) (hold jump when toggled on)

Turn Off ALL Shooting Scripts (ADS & down) (double rumble notification)

All double tap scripts have own timer - default for all is 300ms. Change time in the script for what best suits your needs.

All toggle on/off scripts have rumble notification - single rumble for on, double rumble for off.



BONUS FEATURE FOR PS4 CONROLLER ONLY:

Rainbow Light Bar Toggle (ADS & OPTIONS)



BONUS EASE OF USE FEATURE FOR XBOX CONTROLLER ON PS4 ONLY:

PS4 Touchpad Button = (VIEW button)

PS4 Share Button = (ADS & VIEW button)



If you enjoy using my scripts, perhaps consider buying me a drink, every little helps - https://www.paypal.me/waltee
Version 3.97
Author Waltee
Publish Date 2017-03-25 02:46:38
Update Date 2017-08-02 12:46:52
Downloads 3734
Forum Link Click Here
RATE


10

0

Release Notes: 3.9.7
1. Added 300ms delay to Rapid Teabag/Crouch for easy portability over to Destiny 2 in future - Rapid Teabag/Crouch won't get in the way of 3rd ability in D2
2. Tiny bit of code cleanup to squeeze the last tiny amount of space I could in this script.
3. Added some extra comment sections for information for users.

3.9.6
1. Added visible notification to show when EZ Rapidfire is active for the current weapon (Light Blue/Cyan Cronus/Controller LED)
2. Forced EZ Rapidfire to disable when switching to Heavy weapons

3.9.4
1. Now ALL button layouts are available in just 1 script - must activate button layout in script before using features.
START & UP = Bumper Jumper
START & DOWN = Default
START & LEFT = Puppeteer
START & RIGHT = Puppeteer & Trigger Swap
2. Anti-Recoil script has been tweaked:
View current Anti-Recoil values (TRACE_1 for Horizontal value & TRACE_2 for Vertical value)
Anti-Recoil values now saves automatically.
Inverted aim toggle for Anti-Recoil.
Anti-Recoil should now work better wiith M&K.
No longer uses a combo to save space.
3. Added release (70% of analogue stick in any direction) for auto-strafe so you can move without issues while ADS with script active.
4. A couple of extra tweaks to create more space.
5. Temporarily disabled Rainbow Light Bar for PS4 controllers to create space.


3.9.3
1. Tweaked some code to make more space in script.
2. Re-added LED indicators for Rapidfire and Anti-Recoil.

3.9.2
1. Added TRUE/FALSE toggles for Rapidfire, ADS Rapidfire, 1 Button Titan Skate, Instant Shoulder Charge, Crouch Shot, ADS Sidestep - This way you can set almost all mods to be active at start-up.
2. Fixed Anti-Recoil bug that was causing severe changes to swing aim wildly.
3. Unmapped certain buttons that were causing potential issues.
4. Had to temporarily remove LED indicators for Rapidfire/Anti-Recoil due to space issues.

3.9.1
1. Added LED colour indicators for Rapidfire/Anti-Recoil scripts.
2. Made 1 button Shoulder Charge Glitch UNDEFINED by default due to issues with players using PS4 controllers.

3.9
1. Added Auto-Sprint option (off by default).
2. Rapidfire now has Full Rapidfire and an ADS Only Rapidfire option.
3. Added a configurable delay timer for ADS sensitivity change - no delay by default.
4. Added second Instant Shoulder Charge method (melee while holding down sprint)
5. Added second Titan Skate option (1 button Titan Skate, simply hold jump once activated)
6. Removed adjustable rapidfire until I'm able to shrink the rest of the script enough to get everything up and running at the same time.
7. Huge script cleanup and edit to try and make more space for these mods.
8. Added new version of an anti-recoil script - anti-recoil strength changes when you move analogue stick, should stop aim jolting when trying to follow targets with anti-recoil enabled.
9. All toggle on/off scripts have rumble notification - single rumble for on, double rumble for off.
10. All double tap scripts have own timer - default for all is 300ms. Change time in the script for what best suits your needs.
Code:Select all
/*---------------------------------------
     |                             |     
                 DESTINY                  
     |                             |     
-----------------------------------------


              
   ULTIMATE UNIVERSAL DESTINY GAMEPACK   
   
       ALL BUTTON LAYOUTS WELCOME     

           CREATED BY WALTEE     


-----------------------------------------

    ------------FEATURES:------------     

-----------------------------------------

SUPPORT FOR ALL BUTTON LAYOUTS

ADJUSTABLE ANTI-RECOIL

ADJUSTABLE RAPID-FIRE

ADS SENSITIVITY CHANGE

AUTO CROUCH ON SHOT

AUTO REVIVE 

AUTO SPRINT 

AUTO STRAFE/SIDESTEP

HAIR TRIGGERS

INSTANT SHOULDER CHARGE

INSTANT SHOULDER CHARGE (1 BUTTON METHOD)

NLB "RELOAD GLITCH"

RAPID FIRE

RAPID FIRE ADS ONLY

RAPID FIRE EZ WEAPON SWITCH

RAPID MELEE

RAPID TEABAG/CROUCH

SUROS FOCUS FIRE "SPEED UP"

TITAN SKATE

TITAN SKATE (1 BUTTON METHOD)

RAINBOW LIGHT BAR (PS4 CONTROLLER ONLY)



-----------------------------------------

  ---INSTRUCTIONS (ALL CONTROLLERS):--- 

-----------------------------------------

BUTTON LAYOUT - must toggle on activation of script =   (START & UP = Bumper Jumper // START & DOWN = Default // START & LEFT = Puppeteer // START & RIGHT = Puppeteer & Trigger Swap)


ADS SENSITIVITY                                     =	(double tap RIGHT to toggle on/off) (rumble notification)

                                                        (double tap UP to toggle on/off) (rumble notification)
ADJUSTABLE ANTI-RECOIL                              =   (hold CROUCH and adjust recoil with DPAD UP, DOWN, LEFT, or RIGHT) (rumble to notify value has changed)
                                                        (save by pressing MELEE while still holding CROUCH) (rumble to notify of values saved)
						   								
ADJUSTABLE RAPID-FIRE                               =	(hold RELOAD and adjust recoil with DPAD UP & DOWN) (rumble to notify value has changed)
                                                        (save by pressing MELEE while still holding RELOAD) (rumble to notify of values saved)

AUTO CROUCH ON SHOT                                 =   (double tap DOWN to toggle on/off) (rumble notification)


AUTO REVIVE                                         =   (double tap RELOAD)


AUTO SRINT                                          =   (hold forward)


AUTO STRAFE/SIDESTEP                                =   (double tap LEFT to toggle on/off) (rumble notification)


INSTANT SHOULDER CHARGE								=	(press designated button while sprinting - (no default, must set button yourself))
                                                        (alternatively, press MELEE while holding down L3/LS)

NLB "RELOAD GLITCH"                                 =   (hold ADS & RIGHT) (rumble notification)


RAPID FIRE                                          =   (hold ADS & UP - (default ADS = L2/LT)) (rumble notification)
                                                        

RAPID FIRE ADS ONLY                                 =   (hold FIRE & UP for Rapidfire when ADS only) (rumble notification)


RAPID FIRE EZ WEAPON SWITCH                         =   (hold ADS & RELOAD) (rumble notification) (press UP when active to change which weapon has rapid fire)


RAPID MELEE                                         =   (hold MELEE - (default = R3/RS))


RAPID TEABAG                                        =   (hold CROUCH - (default = Circle/B))


SUROS FOCUS FIRE                                    =   (hold ADS & LEFT) (rumble notification)


TITAN SKATE                                         =   (hold JUMP & RELOAD - (default jump = L1/LT - default reload = SQUARE/X))
                                                        (alternatively activate 1 button Titan Skate and just hold jump - activate by double tapping JUMP)

TURN OFF ALL SHOOTING SCRIPTS (RAPIDFIRE/SUROS/NLB) =   (hold ADS & DOWN) (double rumble notification)



-----------------------------------------
  --------(PS4 CONROLLER ONLY)--------- 
-----------------------------------------

RAINBOW LIGHT BAR                                   =   (hold ADS & OPTIONS)



-----------------------------------------
  ----(XBOX CONTROLLER ON PS4 ONLY)----
-----------------------------------------

PS4 TOUCHPAD BUTTON                                 =   (VIEW button)

PS4 SHARE BUTTON                                    =   (ADS & VIEW button)



-----------------------------------------
-----------------------------------------
---------------------------------------*/



//BUTTON DEFINITIONS (Change the buttons here if needed to avoid breaking anything)
// define FIRE          = 4             // PS4_R2;       // XB1_RT;               =   4    //
// define ADS           = 7             // PS4_L2;       // XB1_LT;               =   7    //
define SPRINT           = 8             // PS4_L3;       // XB1_LS;               =   8    //
// define JUMP          = 6             // PS4_L1;       // XB1_LB;               =   6    //
define A_X              = 19            // PS4_CROSS;    // XB1_A;                =   19   //
// define CROUCH        = 18            // PS4_CIRCLE;   // XB1_B;                =   18   //
define SWITCH           = 17            // PS4_TRIANGLE; // XB1_Y;                =   17   //
define RELOAD           = 20            // PS4_SQUARE;   // XB1_X;                =   20   //
// define MELEE         = 5             // PS4_R3;       // XB1_RS;               =   5    //
// define GRENADE       = 3             // PS4_R1;       // XB1_RB;               =   3    //
define UP               = 13            // PS4_UP;       // XB1_UP;               =   13   //
define RIGHT            = 16            // PS4_RIGHT;    // XB1_RIGHT;            =   16   //     DO NOT UNCOMMENT THE DEFINITIONS IN THIS SECTION
define DOWN             = 14            // PS4_DOWN;     // XB1_DOWN;             =   14   //     THEY HAVE BEEN REPLACED BY VARIABLES TO HAVE ONE
define LEFT             = 15            // PS4_LEFT;     // XB1_LEFT;             =   15   //         SCRIPT AVAILABLE FOR ALL BUTTON LAYOUTS
define R_X              = 9             // PS4_RX;       // XB1_RX;  // RS H AXIS =   9    //
define R_Y              = 10            // PS4_RY;       // XB1_RY;  // RS V AXIS =   10   //
define L_X              = 11            // PS4_LX;       // XB1_LX;  // LS H AXIS =   11   //
define L_Y              = 12            // PS4_LY;       // XB1_LY;  // LS V AXIS =   12   //
define SHARE            = 0             // PS4_SHARE;    // XB1_XBOX;             =   0    //
define START            = 2             // PS4_OPTIONS;  // XB1_MENU;             =   2    //
define TOUCH            = 27            // PS4_TOUCH;    // XB1_PL2;              =   27   //
define RELOAD_PDL       = 26            // PS4_GYROZ;    // XB1_PL1; // TOP LEFT  =   26   //
define CROUCH_PDL       = 27            // PS4_TOUCH;    // XB1_PL2; // BTM LEFT  =   27   //
define MELEE_PDL        = 24            // PS4_GYROX;    // XB1_PR1; // TOP RIGHT =   24   //
define OTHER_PDL        = 25            // PS4_GYROY;    // XB1_PR2; // BTM RIGHT =   25   //
define UNDEFINED        = 35


//COLOUR DEFINITIONS
define Off              = 0;
define Dim_Blue         = 1;
define Dim_Red          = 2;
define Dim_Green        = 3;
define Dim_Pink         = 4;
define Dim_Cyan         = 5;
define Dim_Yellow       = 6;
define Dim_White        = 7;
define Blue             = 8;
define Red              = 9;
define Green            = 10;
define Pink             = 11;
define Cyan             = 12;
define Yellow           = 13;
define White            = 14;
define Bright_Blue      = 15;
define Bright_Red       = 16;
define Bright_Green     = 17;
define Bright_Pink      = 18;
define Bright_Cyan      = 19;
define Bright_Yellow    = 20;
define Bright_White     = 21;

// OTHER  DEFINITIONS
//  Hair Trigger
define trigger          = TRUE;                 // Set to TRUE for HAIR TRIGGERS = ON // Set to FALSE for HAIR TRIGGERS = OFF
												//
												//
//  Auto Revive									//
define revive_time      = 4000;                 // 4000ms = 4 seconds - Decrease if using Crest of Alpha Lupi or Light Beyond Nemesis for AUTO REVIVE
                                                //
                                                //
//  Auto Strafe/Sidestep                        //
define sidestep_time    = 300;                  // 500ms = 0.5 seconds - Decrease for a faster or increase for a slower side to side strafe/Sidestep 
                                                //
                                                //
//  ADS Sensitivity                             //
define ADS_sensitivity  = 18;                   // Change this to determine how slow ADS Sensitivity is when ADS Sensitivity is active
define ADS_delay        = 0;                    // 300ms = 0.3 seconds - Timer delay for ADS Sensitivity change to kick in once ADS
                                                //
                                                //
//  Anti-Recoil                                 //
define ADSRec_only      = TRUE;                 // Set to TRUE if anti-recoil is ADS only // Set to FALSE for anti-recoil ALWAYS
define recoil_up        = UP;                   //
define recoil_down      = DOWN;                 //           Change these definitions           
define recoil_left      = LEFT;                 // For different buttons to control Anti-Recoil
define recoil_right     = RIGHT;                //                  direction                 
                                                
                                                
// INT
//	Auto Sprint                                 //
int sprint_onoff        = FALSE;                // Set to TRUE for AUTO SPRINT = ON // Set to FALSE for AUTO SPRINT = OFF
                                                //
                                                //
//  Auto Revive                                 //
int revive_onoff        = FALSE;                // Set to TRUE for AUTO REVIVE = ON // Set to FALSE for AUTO REVIVE = OFF
                                                //
                                                //
//  Auto Strafe/Sidestep                        //
int sidestep_onoff      = FALSE;                // Set to TRUE for AUTO-STRAFE/SIDESTEP = ON by default // Set to FALSE for AUTO-STRAFE/SIDESTEP = OFF by default
int strafe_positive     = 70;                   //
int strafe_minus        =-70;                   //
                                                //
                                                //
//  Auto Crouch Shot                            //
int crouchshot_onoff    = FALSE;                // Set to TRUE for AUTO CROUCH SHOT = ON by default // Set to FALSE for AUTO CROUCH SHOT = OFF by default
                                                //
                                                //
//  ADS Sensitivity                             //
int ADS_onoff           = FALSE;                // Set to TRUE for ADS SENSITIVITY = ON by default // Set to FALSE for ADS SENSITIVITY = OFF by default
                                                //
                                                //												
//  Anti Recoil                                 //
int recoil_onoff        = FALSE;                // Set to TRUE for ANTI-RECOIL = ON by default // Set to FALSE for ANTI-RECOIL = OFF by default
int ANTI_RECOIL_V, ANTI_RECOIL_H;               //
int anti_recoil_V       = 0;                    //
int anti_recoil_H       = 0;                    //
int inverted            = FALSE;                // Set to TRUE if using INVERTED aim // Set to FALSE if using DEFAULT aim
                                                //
                                                //
//  Block Buttons                               //
int block_buttons       = 0;                    //
                                                //
                                                //
//  Button Layout                               //
int default             = FALSE;                // Set to TRUE if you use DEFAULT controller layout           // otherwise set to FALSE // You can change to this layout in-game by pressing START and DPAD DOWN   //  These don't work as of yet, unfortunately you'll need to  
int bumper              = FALSE;                // Set to TRUE if you use BUMPER JUMPER controller layout     // otherwise set to FALSE // You can change to this layout in-game by pressing START and DPAD UP     //  activate your button layout each time you run the script
int puppet              = FALSE;                // Set to TRUE if you use PUPPETEER layout                    // otherwise set to FALSE // You can change to this layout in-game by pressing START and DPAD LEFT   //
int puppetswap          = FALSE;                // Set to TRUE if you use PUPPETEER with TRIGGER SWAP layout  // otherwise set to FALSE // You can change to this layout in-game by pressing START and DPAD RIGHT  //        hoping to have this solved in a future update         
int FIRE, ADS, MELEE, GRENADE, JUMP, CROUCH;    // 
                                                //
                                                //
//  Double Click                                //
int tap;                                        //
                                                // 
                                                //
//  Rapid Fire                                  //
int ADSrapid_onoff      = FALSE;                // Set to TRUE for ADS RAPIDFIRE = ON by default // Set to FALSE for ADS RAPIDFIRE = OFF by default //   DON'T HAVE BOTH OF THESE
int rapid_onoff         = FALSE;                // Set to TRUE for ALL RAPIDFIRE = ON by default // Set to FALSE for ALL RAPIDFIRE = OFF by default //  SET TO TRUE SIMULTANEOUSLY
int hold_time           = 25;                   //
int rest_time           = 15;                   //
int rounds_per_second   = 13;                   // Range: 1 to 25 RPS (rounds per second) 
                                                //
                                                //
//  Rapid Fire EZ                               //
int ezrapid_onoff       = FALSE;                //
int master_ez           = FALSE;                //
                                                //
                                                //
//  Rapid Fire Reset                            //
int reset               = TRUE;                 //
                                                //
                                                //
//	Titan Skate (1 button)                      //
int skate_onoff         = FALSE;                // Set to TRUE for 1 BUTTON TITAN SKATE = ON by default // Set to FALSE for 1 BUTTON TITAN SKATE = OFF by default
                                                //
                                                //
//  Timer                                       //
int timer;                                      //
                                                // 
                                                //
//  Weapon Fire Weapon Modes (Suros/NLB)        //
int suros_onoff         = FALSE;                //
int master_suros        = FALSE;                //
int nlb_onoff           = FALSE;                //
int master_nlb          = FALSE;                //
                                                //
                                                //
//  PS4 Led Colour                              //
int Col_ind;                                    //
int Colour              = 1;                    //
int ledtimer            = 10;                   //
int OnOff               = 0;                    //
                                                //
                                                //
//	Rumble                                      //
int rumble_type         = RUMBLE_A;             //
int rumble_time         = 200;                  //


// UNMAP
unmap PS4_GYROX, PS4_GYROY, PS4_GYROZ, PS4_ACCX, PS4_ACCY, PS4_ACCZ, XB1_PL1, XB1_PR1, XB1_PR2; 

// DATA
data (1,
//0,0,0,0, // Off
1,0,0,0, // 1.  Dim Blue
0,1,0,0, // 2.  Dim Red
0,0,1,0, // 3.  Dim Green
0,0,0,1, // 4.  Dim Pink
1,0,1,0, // 5.  Dim SkyBlue
0,1,1,0, // 6.  Dim Yellow
1,1,1,1, // 7.  Dim White
2,0,0,0, // 8.  Blue
0,2,0,0, // 9.  Red
0,0,2,0, // 10. Green
0,0,0,2, // 11. Pink
2,0,2,0, // 12. SkyBlue
0,2,2,0, // 13. Yellow
2,2,2,2, // 14. White
3,0,0,0, // 15. Bright Blue
0,3,0,0, // 16. Bright Red
0,0,3,0, // 17. Bright Green
0,0,0,3, // 18. Bright Pink
3,0,3,0, // 19. Bright SkyBlue
0,3,3,0, // 20. Bright Yellow
3,3,3,3  // 21. Bright white
 
); 
 
 
init{
 
 
    ANTI_RECOIL_V       = get_pvar(SPVAR_1,-100,+100,0);
    ANTI_RECOIL_H       = get_pvar(SPVAR_2,-100,+100,0);
//    rounds_per_second   = get_pvar(SPVAR_3, 1, 25, 13);        

 
}


main{
// DOUBLE TAP FUNCTION
        if(tap) tap = tap - get_rtime();
    
    
// LED TOGGLE INDICATORS
    if(rapid_onoff   && !recoil_onoff) colourled(Green);   // Green for Rapidfire               = ON   //
    if(recoil_onoff  && !rapid_onoff ) colourled(Pink);    // Pink  for Anti-Recoil             = ON   //     Change colour here if you want different
    if(rapid_onoff   &&  recoil_onoff) colourled(Red);     // Red   for Rapidfire & Anti-Recoil = ON   //  colours to show which mods are active/inactive
    if(!recoil_onoff && !rapid_onoff ) colourled(Blue);    // Blue  for Rapidfire & Anti-Recoil = OFF  //
    if(ezrapid_onoff) colourled(Cyan); 


// CONSOLE/CONTROLLER SCRIPTS
//  PS4/XBOX ONE // (XBOX VIEW BUTTON = TOUCHPAD PRESS // LT & VIEW BUTTON = SHARE)
    if(get_console() == PIO_PS4 && get_controller() != PIO_PS4){
        if(get_val(PS4_SHARE)) {
            if(!get_val(PS4_L2)) {
                set_val(PS4_TOUCH, 100);
                set_val(PS4_SHARE, 0);
            }
            set_val(PS4_L2, 0);
        }
    }
 

// BUTTON LAYOUT
//  DEFAULT
        if(get_val(START)) {
            if (event_press(DOWN)){
                button_layout ( TRUE , 0 , 0 , 0 );
                    { FIRE =4; ADS =7; MELEE =3; GRENADE =6; JUMP =19; CROUCH =18; }  // If you've tweaked your button layout using PS4 Button Assignments or
                rumble_if_true(default);                                              // Xbox Accessories app then you'll need to set correct definitions here
    }                                                                                 //            ONLY TWEAK BUTTON LAYOUTS HERE IF USING DEFAULT            

//  BUMPER JUMPER
            if (event_press(UP)){
                button_layout ( 0 , TRUE , 0 , 0 );
                    { FIRE =4; ADS =7; MELEE =5; GRENADE =3; JUMP =6; CROUCH =18; }  // If you've tweaked your button layout using PS4 Button Assignments or
                rumble_if_true(bumper);                                              // Xbox Accessories app then you'll need to set correct definitions here
    }                                                                                //         ONLY TWEAK BUTTON LAYOUTS HERE IF USING BUMPER JUMPER          


//  PUPPETEER
            if (event_press(LEFT)){
                button_layout ( 0 , 0 , TRUE , 0 );
                    { FIRE =4; ADS =7; MELEE =3; GRENADE =6; JUMP =19; CROUCH =5; }  // If you've tweaked your button layout using PS4 Button Assignments or
                rumble_if_true(puppet);                                              // Xbox Accessories app then you'll need to set correct definitions here
    }                                                                                //           ONLY TWEAK BUTTON LAYOUTS HERE IF USING PUPPETEER          


//  PUPPETEER & TRIGGER SWAP
            if (event_press(RIGHT)){
                button_layout ( 0 , 0 , 0 , TRUE );
                    { FIRE =3; ADS =6; MELEE =4; GRENADE =7; JUMP =19; CROUCH =5; }  // If you've tweaked your button layout using PS4 Button Assignments or
                rumble_if_true(puppetswap);                                          // Xbox Accessories app then you'll need to set correct definitions here
    }                                                                                //   ONLY TWEAK BUTTON LAYOUTS HERE IF USING PUPPETEER & TRIGGER SWAP
}

// GAME SCRIPTS
//	AUTO SPRINT
    if (sprint_onoff) {
        if(get_val(L_Y) < -99) {set_val(SPRINT,100)}       // 99 by default - Left stick position before AUTO-SPRINT enables
}

 
//  AUTO STRAFE/SIDESTEP (double click LEFT to toggle on/off AUTO STRAFE)
        if(event_press(LEFT) && tap <= 0) {
            tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
            }
            else if(event_press(LEFT) && tap > 0) {
                sidestep_onoff = !sidestep_onoff;  
                    rumble_if_true(sidestep_onoff);
        }
 
        if(sidestep_onoff && get_val(ADS) >1) {
            combo_run(STRAFE);     
    }
        if ((get_val(L_Y) <strafe_minus) || (get_val(L_Y) > strafe_positive) || (get_val(L_X) <strafe_minus) || (get_val(L_X) > strafe_positive)) {
             combo_stop(STRAFE);
	}

 
//  AUTO REVIVE (double tap RELOAD)
     if (revive_onoff) {
         if(event_press(RELOAD) && tap <= 0) {
             tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
             }
             else if(event_press(RELOAD) && tap > 0) {
        	     combo_run(REVIVE);
        }
    }


//  CROUCH SHOT/TEABAG SHOT (double click DOWN to toggle on/off CROUCH SHOT)
        if(event_press(DOWN) && tap <= 0) {
            tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
            }
            else if(event_press(DOWN) && tap > 0) {
                crouchshot_onoff = !crouchshot_onoff; 
                    rumble_if_true(crouchshot_onoff);
            }
        if(crouchshot_onoff && get_val(FIRE) >1) {
            set_val(CROUCH, 100);
    }
 
 
//  HAIR TRIGGERS (always active)
    if (trigger)
        if (get_val(ADS))
            set_val(ADS, 100);
        if (get_val(FIRE))
            set_val(FIRE, 100); 
 


//  INSTANT SHOULDER CHARGE (press DEFINED BUTTON while sprinting for INSTANT SHOULDER CHARGE GLITCH)
    if(get_val(UNDEFINED)) { // (Change "UNDEFINED" here to a BUTTON DEFINITION if needed/wanted) 
        combo_run (SHOULDER);
     } 


//  INSTANT CHARGE METHOD 2 (tap MELEE while holding SPRINT for INSTANT SHOULDER CHARGE GLITCH)
        if((get_val(SPRINT)) && (get_val(MELEE))) {
            block_buttons = 100;
                set_val(MELEE,0);    	
                    combo_run(SHOULDER);     
    }
    
    
//  RAPID MELEE (hold MELEE for RAPID MELEE)
    if(get_val(MELEE) && get_ptime(MELEE) > 300) {
        combo_run(PUNCH);
    } 

 
//  RAPID TEABAG (hold CROUCH for RAPID TEABAG/CROUCH)
    if(get_val(CROUCH) && get_ptime(CROUCH) > 300)  {      //  Added Delay for Auto-Crouch for easy portability to Destiny 2
        combo_run(TEABAG);                                 //  Rapid Teabag/Crouch won't get in the way of 3rd ability in D2
    } 


//  TITAN SKATE (hold JUMP and RELOAD for TITAN SKATE)
    if((get_val(JUMP)) && (get_val(RELOAD))) {
        block_buttons = 100;
        set_val(JUMP,0);
        set_val(RELOAD,0);
            combo_run(SKATE);
    }
    else if(block_buttons) { 
        block_buttons = block_buttons - get_rtime():
        set_val(JUMP,0);
        set_val(RELOAD,0); 
    } 


//  TITAN SKATE 2 (hold JUMP (activated on delay)
        if(event_press(JUMP) && tap <= 0) {
            tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
            }
            else if(event_press(JUMP) && tap > 0) {
                skate_onoff = !skate_onoff; 
                    rumble_if_true(skate_onoff);
            }
        if(skate_onoff)
            if(get_val(JUMP) && get_ptime(JUMP) > 300)
                combo_run(SKATE);


// WEAPON ADS SENSITIVITY, ADS AIM ASSIST, & ANTI-RECOIL MODS
//  ADS SENSITIVITY (double click RIGHT to toggle on/off ADS SENSITIVITY)
        if(event_press(RIGHT) && tap <= 0) {
            tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
            }
            else if(event_press(RIGHT) && tap > 0) {
                ADS_onoff = !ADS_onoff;
                    rumble_if_true(ADS_onoff);
        }
 
 
        if(ADS_onoff && get_val(ADS) >1) {
                    timer = timer + get_rtime();
                    if( timer >= ADS_delay ){
                            sensitivity(R_X, NOT_USE, 100 - ADS_sensitivity);        
                            sensitivity(R_Y, NOT_USE, 100 - ADS_sensitivity);        
                        }
                }else{
                        timer = 0;
    }
	

//  ADJUSTABLE ANTI-RECOIL TOGGLE (double click UP to toggle on/off ANTI RECOIL)
        if(event_press(UP) && tap <= 0) {
            tap = 300;	                                   // 300ms = 0.3 seconds - 120ms is my personal sweet spot for not accidetnally activating everything while sending messages
            }
            else if(event_press(UP) && tap > 0) {
                recoil_onoff = !recoil_onoff;
                    rumble_if_true(recoil_onoff);
            }



// WEAPON SCRIPTS - RAPIDFIRE & WEAPON SPECIFIC MODS
/*  EASY SWAP RAPIDFIRE TOGGLE (press SWITCH WEAPON & UP to activate rapid fire for only currently equipped weapon)
                               (while active press UP to change which weapon has rapid fire - helpful if you die and spawn with wrong weapon or wrong weapon gets rapid fire upon activation)*/
    if(get_val(SWITCH)) {
        if (event_press(UP)){
            weapon_options ( 0 , 0 , 0 , TRUE , 0 , 0 , 0 , 0 );
 
            rumble_if_true(master_ez);
    }
}


//  ADS RAPIDFIRE TOGGLE (press FIRE & UP to activate rapid fire for ALL weapons)
    if(get_val(FIRE)) {
        if(event_press(UP)) {
            weapon_options ( 0 , TRUE , 0 , 0 , 0 , 0 , 0 , 0 );
 
            rumble_if_true(ADSrapid_onoff);
    }
}  

//  RAPIDFIRE TOGGLE (press ADS & UP to activate rapid fire for ALL weapons)
    if(get_val(ADS)) {
        if(event_press(UP)) {
            weapon_options ( 0 , 0 , TRUE , 0 , 0 , 0 , 0 , 0 );
 
            rumble_if_true(rapid_onoff);
    }


//  SUROS TOGGLE (press ADS & LEFT to activate faster SUROS FOCUS FIRE)
        if(event_press(LEFT)) {
            weapon_options ( 0 , 0 , 0 , 0 , TRUE , TRUE , 0 , 0 );
 
            rumble_if_true(suros_onoff);
    }

 
//  NLB RELOAD CANCEL TOGGLE (press ADS & RIGHT to activate NLB "RELOAD GLITCH")
        if(event_press(RIGHT)) {
            weapon_options ( 0 , 0 , 0 , 0 , 0 , 0 , TRUE , TRUE );
 
            rumble_if_true(nlb_onoff);
    }

 
//  RAPIDFIRE//NLB RELOAD CANCEL//FOCUSED FIRE RESET (press ADS & DOWN to deactivate all shooting scripts)
       	if(event_press(DOWN)) {
            weapon_options( TRUE , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
 
            rumble_if_true(rapid_onoff); 
 
    }
}
 
 
//	ADS RAPIDFIRE 
    if(ADSrapid_onoff) {
        if(get_val(ADS) && get_val(FIRE)) {
            combo_run(RAPIDFIRE); 
        }else if(combo_running(RAPIDFIRE)){ 
            combo_stop(RAPIDFIRE); 
        } 
    }


//	FULL RAPIDFIRE 
    if(rapid_onoff) {
        if(get_val(FIRE)) {
            combo_run(RAPIDFIRE); 
        }else if(combo_running(RAPIDFIRE)){ 
            combo_stop(RAPIDFIRE); 
        } 
    }
//    {
//            hold_time = 500 / rounds_per_second;
//            rest_time = hold_time - 20;
//            if(rest_time < 0) rest_time = 0;
//    } 
//    if(get_val(RELOAD)) {  
//        if(event_press(UP)) {
//            rounds_per_second = rounds_per_second + 1;
//                rumble_if_true(rounds_per_second);
//        }                                                         
//        if(event_press(DOWN)) {                                   
//            rounds_per_second = rounds_per_second - 1;
//                rumble_if_true(rounds_per_second);
//        }
//            set_val(UP,0); set_val(DOWN,0);
//                
//        if(event_press(MELEE)){ 
//            set_pvar(SPVAR_3, rounds_per_second);
//                rumble_if_true(TRUE);
//        }
//    }
 
 
//  SUROS FOCUSED FIRE
    if(master_suros) {
        if(event_press(SWITCH)) {
            suros_onoff = !suros_onoff;
        }
    }
    if(suros_onoff) {
        if(get_val(FIRE)>= 46) {
            combo_run(FOCUS);
            ezrapid_onoff = FALSE;
        }
    }
 
 
//  NLB RELOAD CANCEL
    if(master_nlb) {
        if(event_press(SWITCH)) {
            nlb_onoff = !nlb_onoff; 
        }
    }
    if(nlb_onoff) {
        if(get_val(FIRE)>= 46) {
            combo_run(NLB); 
            ezrapid_onoff = FALSE;
        }
    } 
 
 
//  EASY SWAP RAPIDFIRE
    if(event_press(SWITCH)) {
        ezrapid_onoff = !ezrapid_onoff; 
    }
        if(master_ez){                                          
        if(ezrapid_onoff){
            if(get_val(FIRE)>0 ) {      
                combo_run(RAPIDFIRE);
          }else if(combo_running(RAPIDFIRE)) {             
                combo_stop(RAPIDFIRE);                       
        }                                                
    }
} 
    if(event_press(UP)) {
        ezrapid_onoff = !ezrapid_onoff; 
    } 
    if(get_val(SWITCH) && get_ptime(SWITCH) > 250) {
        ezrapid_onoff = FALSE
    }  
 
       
/*  ADJUSTABLE ANTI-RECOIL (hold CROUCH and adjust recoil with DPAD UP, DOWN, LEFT, or RIGHT)
                           (save by pressing MELEE while still holding CROUCH)*/
    if(get_val(CROUCH)) {
        if(event_press(recoil_up))   
            { ANTI_RECOIL_H = ANTI_RECOIL_H - 1; 
                rumble_if_true(ANTI_RECOIL_H);     // Single vibrate on value change // Double vibrate when value is on 0 (no anti-recoil on axis)
    }
        if(event_press(recoil_down)) 
            { ANTI_RECOIL_H = ANTI_RECOIL_H + 1; 
                rumble_if_true(ANTI_RECOIL_H); 
    }
            if(anti_recoil_H > 100)  anti_recoil_H = 100;
            if(anti_recoil_H < -100) anti_recoil_H = -100;
            set_val(recoil_up,0);    
            set_val(recoil_down,0);
 
        if(event_press(recoil_left))  
            { ANTI_RECOIL_V = ANTI_RECOIL_V - 1; 
                rumble_if_true(ANTI_RECOIL_V); 
    }  
        if(event_press(recoil_right)) 
            { ANTI_RECOIL_V = ANTI_RECOIL_V + 1; 
                rumble_if_true(ANTI_RECOIL_V);     // Single vibrate on value change // Double vibrate when value is on 0 (no anti-recoil on axis)
    }
            if(anti_recoil_V > 100)  anti_recoil_V = 100;
            if(anti_recoil_V < -100) anti_recoil_V = -100;
            set_val(recoil_left,0);  
            set_val(recoil_right,0);
 
//        if(event_press(MELEE)){                  // If you DON'T want changes saved automatically and would rather save them with the push of a button then uncomment this line 
            set_pvar(SPVAR_1, ANTI_RECOIL_V);      //                                                          
            set_val (TRACE_1, ANTI_RECOIL_V);      //                                                          
            set_pvar(SPVAR_2, ANTI_RECOIL_H);      //                                                          &
            set_val (TRACE_2, ANTI_RECOIL_H);      //                                                          
                                                   //                                                          
//    }                                            // If you DON'T want changes saved automatically and would rather save them with the push of a button then uncomment this line 
}                                                
	
 	
 	if(recoil_onoff)
        if(!ADSRec_only || get_val(ADS) && get_val(FIRE)) {
            AntiRecoil(ANTI_RECOIL_V, ANTI_RECOIL_H)
    }
 



//	LIGHTING SCRIPTS
// PRESS L2 & OPTIONS for RAINBOW ON/OFF  
/*    if(get_val(ADS)) {
        if (event_press(START)){
            OnOff = !OnOff;
    }
}
    if(OnOff && ledtimer<=0)combo_run(ChangeColour); 
 
    if(OnOff && ledtimer>0)ledtimer=timer-get_rtime();
 
 
*/
} // main block end
 
 

 
 
// COMBO SECTION
//  PS4 Rainbow Lightbar (INCREASE wait time if you want to SLOW colour change, or DECREASE if you want to make it FASTER) 
/*combo ChangeColour{
     colourled(Colour); 
     wait(100);
     Colour=Colour+ 1;
         if(Colour>21)Colour=1;
         timer=0;
} 
*/

//	Auto-Strafe/Sidestep
combo STRAFE {
    wait(100);
    set_val(L_X, 85);
    wait(sidestep_time);
    wait(100);
    set_val(L_X, -85);
    wait(sidestep_time);
} 


//	Shoulder Charge "Glitch"
combo SHOULDER {
    FIRE();
    wait(40);
    set_val(CROUCH, 100);
    wait(40);
    set_val(MELEE, 100);
    wait(40);
}


//	Auto-Melee
combo PUNCH {
    set_val(MELEE, 0);
    wait(80);
    set_val(MELEE, 100);
}


//	Rapid Crouch/Teabag
combo TEABAG { 
    set_val(CROUCH, 100);
    wait(100);
    set_val(CROUCH, 0);
    wait(100);
    set_val(CROUCH, 0);
}


//	Titan Skate
combo SKATE {
    set_val(JUMP, 100);
    wait(25);
    set_val(JUMP, 0);
    wait(25);
    set_val(JUMP, 0);
}
 

//	Auto-Revive
combo REVIVE {
    set_val(RELOAD, 100);
    wait(revive_time);
    set_val(RELOAD, 0);
}


//	Notification (Rumble Once = Actived - Rumble Twice = Deactivated)
combo NOTIFY {
    set_rumble(rumble_type,100);
    wait(rumble_time);
    reset_rumble();
    wait(100); 
    if(rumble_type) set_rumble(rumble_type,100);
    wait(rumble_time);
    reset_rumble();
}


//	Rapidfire 
combo RAPIDFIRE { 
    NOFIRE(); 
    wait(rest_time); 
    FIRE();
    wait(hold_time); 
}
 
 
//	SUROS Focus Fire
combo FOCUS {
    NOFIRE();
    wait(39);
    FIRE();
    wait(39);
}
 
 
//	NLB Reload Cancel 
combo NLB {
    FIRE();
    wait(70);
    NOFIRE();
    set_val(RELOAD, 100);
    wait(40);
    wait(40);
    set_val (L_Y, -100);
    wait(40);
    set_val(SPRINT, 100);
    set_val (L_Y, -100);
    wait(40);
    set_val(SPRINT, 0);
    set_val (L_Y, -100);
    wait(50);
    set_val(L_Y, 100);
    wait(150);
}


// FUNCTION
//	Weapon Options
function weapon_options( reset , ADSRF , RF , EZ , S , MS , NLB , MNLB ) {
 
	reset			 = reset;
	ADSrapid_onoff   = ADSRF;
    rapid_onoff      = RF;
    master_ez        = EZ; 
    suros_onoff      = S;
    master_suros     = MS;
    nlb_onoff        = NLB;
    master_nlb       = MNLB;
}


//	Button Layouts
function button_layout( default , bumper , puppet , puppetswap) {
 
	default			 = default;
	bumper           = bumper;
    puppet           = puppet;
    puppetswap       = puppetswap;
}


//	Rumble Notification
function rumble_if_true(var){
    if(var) {
        rumble_type = RUMBLE_A;
        rumble_time= 200;
    }
    else{
        rumble_type = RUMBLE_B;
        rumble_time = 200;
    }
    combo_run(NOTIFY);
} 


//  Button Functions
function FIRE(){set_val(FIRE, 100);}
function NOFIRE(){set_val(FIRE, 0);}






//  Smarter Anti-Recoil
function AntiRecoil (AntiRecoil_H, AntiRecoil_V) 
{
    //  Anti-recoil parameters
    if (get_val(FIRE) && isqrt(pow(get_val(R_X), 2) + pow(get_val(R_Y), 2)) <= abs(AntiRecoil_V))
    {
        if (abs(R_Y) <= abs(AntiRecoil_V))
        {
            // Horizontal anti-recoil
            anti_recoil_H = (get_val(R_X) + (AntiRecoil_H*(100-abs(get_val(R_X))))/100);
            set_val(R_X, anti_recoil_H);
 
            // Vertical anti-recoil
            if (inverted)
                 { anti_recoil_V = (get_val(R_Y) - (AntiRecoil_V*(100-abs(get_val(R_Y))))/100); } // Y-axis invert
            else { anti_recoil_V = (get_val(R_Y) + (AntiRecoil_V*(100-abs(get_val(R_Y))))/100); }
            
            if (anti_recoil_V >  (AntiRecoil_V)) {anti_recoil_V = (AntiRecoil_V) ;}
                set_val(R_Y, anti_recoil_V);
        }
    }
}

 
//  Colour LED Function for PS4
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));
}
  • 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!