Variable Rapid Fire

Have you ever wanted to have rapid fire set to all the individual buttons on your controller? This script allows you to set any of the four face buttons and any of the four shoulder buttons with rapid fire. This script also allows you to set each button with its own individual speed between three settings SLOW / MEDIUM / FAST. Want your shoulder button set for max rapid fire while your circle or b button is set for a slower rate. No problem. The script also adds in my previous script of DualShock 4 compatibility so if you like your XBONE Elite controller for use on ps4, but rather not deal with figuring out how to press the TOUCH PAD no problem. Want to use your DS4 on 360 and rather use the touch pad for back and start? No problem.
Version1.1
AuthorX-Dream
Publish DateThu, 17 Dec 2015 - 09:36
Last UpdateMon, 21 Dec 2015 - 10:20
Downloads1318
RATE


4

2

Release Notes: // Updated Dual Shock 4 Compatibility to be automatic // // Added Activation Reference for ease of use //
Code: Select all
//////////////////////////////////////////////////////////////////////////
//                                                                      //
//                      VARIABLE RAPID FIRE                             //
//                      Version 1.1 Revision date 12/20/2015            //
//                                                                      //
//-----------------------DEFAULT ACTIVATION TRIGGERS--------------------//
//      VARIABLE RAPID FIRE ACTIVATOR == Hold          //
//                              and press desired button and D-Pad      //
//                          ***This is set on LINE 43                   //
//      RE-AUTHORIZATION == Hold                       //
//                                  and press               //
//                          ***This is set on LINE 90 and 94            //
//      SHARE (WHEN USING A NON DUAL SHOCK 4)                           //
//                == Hold and press                  //
//                          ***This is set on LINE 101 and 105          //
//----------------------------------------------------------------------//
//                                                                      //
//      *Can be used to set any face or should button with three        //
//              different levels of rapid fire independently            //
//      *Speeds set for SLOW / MEDIUM / FAST is set in header           //
//      *Usage:                                                         //
//              -Hold button set under RAPID_ACT_HOLD                   //
//                  then press and hold button you want to set with     //
//                  rapid fire and press LEFT for slow / UP for medium  //
//                  RIGHT for fast / DOWN to disable                    //
//              -Hold all four shoulder buttons press DOWN to reset     //
//                  controller to default state                         //
//      *Dual Shock 4 Compatibility also implemented                    //
//      NOTE:   When compiling or setting to run warnings will appear   //
//                  script will run perfectly regardless                //
//////////////////////////////////////////////////////////////////////////
//                                                                      //
//                REVISION HISTORY                                      //
//      V1.1     (12/20/2015)                                           //
//          Updated Dual Shock 4 Compatibility to be automatic          //
//          Added Activation Reference for ease of use                  //
//      V1.0     (12/16/2015)                                           //
//          Initial release of script                                   //
//////////////////////////////////////////////////////////////////////////
//            Questions about script can be addressed at                //
//                        [email protected]                     //
//////////////////////////////////////////////////////////////////////////
                                                                        //
define RAPID_ACT_HOLD = 2;      //--THIS IS WHERE YOU SET THE BUTTON    //
                                //  HELD WHILE SET RAPID FIRE RATE      //
define SLOW = 200 ;             //--SET SPEED FOR SLOW RAPID FIRE       //
define MEDIUM = 130 ;           //--SET SPEED FOR MEDIUM RAPID FIRE     //
define FAST = 60 ;              //--SET SPEED FOR FAST RAPID FIRE       //
                                                                        //
//----------------------------------------------------------------------//
//-----THIS SECTION IS TO SET THE LEDS WHEN RAPID FIRE IS ACTIVATED-----//
//----------------------------------------------------------------------//
//------LED SET 1-------//FOR DUALSHOCK 4 SET LED1-4 FOR CERTAIN COLORS //
define LED_A_1 = 0;     //  SET 1-4 AS FOLLOWS FOR PARTICULAR COLORS    //
define LED_A_2 = 0;     //  EXAMPLE BLUE (1,0,0,0)  LED_1=1 LED_2=0     //
define LED_A_3 = 1;     //                          LED_3=0 LED_4=0     //
define LED_A_4 = 0;     //                 (0,0,0,0)               //
//------LED SET 2-------//    (1,0,0,0)        (1,1,1,1)   //
define LED_B_1 = 0;     //     (0,1,0,0)        (0,0,1,0)   //
define LED_B_2 = 1;     //    (0,0,0,1)       (1,1,0,0)   //
define LED_B_3 = 0;     //    (1,0,1,0)       (0,1,1,0)   //
define LED_B_4 = 0;     //                                              //
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
define SPEED_3 = 0 ;                                                    //
define SPEED_4 = 0 ;                                                    //
define SPEED_6 = 0 ;                                                    //
define SPEED_7 = 0 ;                                                    //
define SPEED_17 = 0 ;                                                   //
define SPEED_18 = 0 ;                                                   //
define SPEED_19 = 0 ;                                                   //
define SPEED_20 = 0 ;                                                   //
define CONFIRM_SPEED = 0 ;                                              //
//----------------------------------------------------------------------//
int RAPID3 = FALSE;                                                     //
int RAPID4 = FALSE;                                                     //
int RAPID6 = FALSE;                                                     //
int RAPID7 = FALSE;                                                     //
int RAPID17 = FALSE;                                                    //
int RAPID18 = FALSE;                                                    //
int RAPID19 = FALSE;                                                    //
int RAPID20 = FALSE;                                                    //
//////////////////////////////////////////////////////////////////////////
 
//////////////////////////////////////////////////////////////////////////
//                      DUAL SHOCK 4 COMPATIBILITY                      //
//////////////////////////////////////////////////////////////////////////
//---------------------PS4 RE-AUTHORIZATION SET UP----------------------//
//----------------------------------------------------------------------//
define REAUTH_HOLD = 2;         /*--ASSIGN THIS TO THE BUTTON TO HOLD   //
                                WHILE PRESSING TO         //
                                ACTIVATE REAUTHORIZATION                //
                                                                        */

define REAUTH_TRIG = 0;         /*--ASSIGN THIS TO THE BUTTON USED TO   //
                                TRIGGER RE-AUTHORIZATION WHILE          //
                                HOLDING                    //
                                                                        */

//----------------------------------------------------------------------//
//      CURRENTLY SET FOR HOLD "START" AND PRESS PS/XB BUTTON           //
//----------------------------------------------------------------------//
define SHARE_HOLD = 2;          /*--ASSIGN THIS TO THE BUTTON TO HOLD   //
                                WHILE PRESSING (SHARE_TRIG) TO ACTIVATE //
                                "SHARE"                                 //
                                                                        */

define SHARE_TRIG = 13;         /*--ASSIGN THIS TO THE BUTTON TO        //
                                ACTIVATE "SHARE" HOLDING    //
                                                                        */

//----------------------------------------------------------------------//
//      "SHARE" CURRENTLY SET FOR HOLD "START" THEN PRESS PRESS UP      //
//----------------------------------------------------------------------//
//////////////////////////////////////////////////////////////////////////
 
main {
if (get_val(RAPID_ACT_HOLD) && get_val(3) && get_val(4) && get_val(6)
            && get_val(7) && event_press(14)) {
    RAPID3 = FALSE;
    RAPID4 = FALSE;
    RAPID6 = FALSE;
    RAPID7 = FALSE;
    RAPID17 = FALSE;
    RAPID18 = FALSE;
    RAPID19 = FALSE;
    RAPID20 = FALSE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(3) && event_press(15)) {
    set_val(SPEED_3,SLOW);
    RAPID3 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(3) && event_press(13)) {
    set_val(SPEED_3,MEDIUM);
    RAPID3 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(3) && event_press(16)) {
    set_val(SPEED_3,FAST);
    RAPID3 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(3) && get_val(14)) {
    RAPID3 = FALSE;
    }
if (RAPID3 && get_val(3)) {
   combo_run(RAPID_3);
   }
if (get_val(RAPID_ACT_HOLD) && get_val(4) && event_press(15)) {
    set_val(SPEED_4,SLOW);
    RAPID4 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(4) && event_press(13)) {
    set_val(SPEED_4,MEDIUM);
    RAPID4 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(4) && event_press(16)) {
    set_val(SPEED_7,FAST);
    RAPID7 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(4) && get_val(14)) {
    RAPID4 = FALSE;
    }
if (RAPID4 && get_val(4)) {
   combo_run(RAPID_4);
   }
if (get_val(RAPID_ACT_HOLD) && get_val(6) && event_press(15)) {
    set_val(SPEED_6,SLOW);
    RAPID6 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(6) && event_press(13)) {
    set_val(SPEED_6,MEDIUM);
    RAPID6 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(6) && event_press(16)) {
    set_val(SPEED_6,FAST);
    RAPID6 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(6) && get_val(14)) {
    RAPID6 = FALSE;
    }
if (RAPID6 && get_val(6)) {
   combo_run(RAPID_6);
   }
if (get_val(RAPID_ACT_HOLD) && get_val(7) && event_press(15)) {
    set_val(SPEED_7,SLOW);
    RAPID7 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(7) && event_press(13)) {
    set_val(SPEED_7,MEDIUM);
    RAPID7 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(7) && event_press(16)) {
    set_val(SPEED_7,FAST);
    RAPID17 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(7) && get_val(14)) {
    RAPID7 = FALSE;
    }
if (RAPID7 && get_val(7)) {
   combo_run(RAPID_7);
   }
if (get_val(RAPID_ACT_HOLD) && get_val(17) && event_press(15)) {
    set_val(SPEED_17,SLOW);
    RAPID17 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(17) && event_press(13)) {
    set_val(SPEED_17,MEDIUM);
    RAPID17 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(17) && event_press(16)) {
    set_val(SPEED_17,FAST);
    RAPID17 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(17) && get_val(14)) {
    RAPID17 = FALSE;
    }
if (RAPID17 && get_val(17)) {
   combo_run(RAPID_17);
   }
if (get_val(RAPID_ACT_HOLD) && get_val(18) && event_press(15)) {
    set_val(SPEED_18,SLOW);
    RAPID18 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(18) && event_press(13)) {
    set_val(SPEED_18,MEDIUM);
    RAPID18 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(18) && event_press(16)) {
    set_val(SPEED_18,FAST);
    RAPID18 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(18) && get_val(14)) {
    RAPID18 = FALSE;
    }
if (RAPID18 && get_val(18)) {
   combo_run(RAPID_18);
   }
   else {
   reset_leds();
   }
 
if (get_val(RAPID_ACT_HOLD) && get_val(19) && event_press(15)) {
    set_val(SPEED_19,SLOW);
    RAPID19 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(19) && event_press(13)) {
    set_val(SPEED_19,MEDIUM);
    RAPID19 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(19) && event_press(16)) {
    set_val(SPEED_19,FAST);
    RAPID19 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(19) && get_val(14)) {
    RAPID19 = FALSE;
    }
if (RAPID19 && get_val(19)) {
   combo_run(RAPID_19);
   }
   else {
   reset_leds();
   }
 
if (get_val(RAPID_ACT_HOLD) && get_val(20) && event_press(15)) {
    set_val(SPEED_20,SLOW);
    RAPID20 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(20) && event_press(13)) {
    set_val(SPEED_20,MEDIUM);
    RAPID20 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(20) && event_press(16)) {
    set_val(SPEED_20,FAST);
    RAPID20 = TRUE;
    }
if (get_val(RAPID_ACT_HOLD) && get_val(20) && get_val(14)) {
    RAPID20 = FALSE;
    }
if (RAPID20 && get_val(20)) {
   combo_run(RAPID_20);
   }
   else {
   reset_leds();
   }
//////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------//
//-------THIS IS FOR MANUAL REAUTHENTICATION WHEN USING T1 ON PS4-------//
if (get_val(REAUTH_HOLD) && event_press(REAUTH_TRIG)) {                 //
    output_reconnection();}                                             //
//----------------------------------------------------------------------//
//                                                                      //
//-------THIS SECTION IS FOR WHEN USING NON DUAL SHOCK 4 ON A PS4-------//
if (get_console() == PIO_PS4 && get_controller() != PIO_PS4) {          //
    swap (27,1);                                                        //
    if (get_val (SHARE_HOLD) && get_val(SHARE_TRIG)) {                  //
        block (SHARE_HOLD,500);                                         //
        block (SHARE_TRIG,500);                                         //
        set_val (1,100);                                                //
        }                                                               //
    }                                                                   //
//----------------------------------------------------------------------//
//                                                                      //
//-------THIS SECTION IS FOR WHEN USING DUAL SHOCK 4 ON ANY SYSTEM------//
if (get_console() != PIO_PS4 && get_controller() == PIO_PS4) {          //
    if (get_val(PS4_TOUCHX) < 0 && get_val(27)) {                       //
        block (27,500);                                                 //
        set_val(1,100);                                                 //
        }                                                               //
    if (get_val(PS4_TOUCHX) > 0 && get_val(27)) {                       //
        block (27,500);                                                 //
        set_val(2,100);                                                 //
        }                                                               //
    }                                                                   //
//----------------------------------------------------------------------//
//////////////////////////////////////////////////////////////////////////
 
}
combo RAPID_3 {
    set_val (3, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_3);
    set_val (3, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_3);
    }
combo RAPID_4 {
    set_val (4, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_4);
    set_val (4, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_4);
    }
combo RAPID_6 {
    set_val (6, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_6);
    set_val (6, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_6);
    }
combo RAPID_7 {
    set_val (7, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
   wait (SPEED_7);
    set_val (7, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_7);
    }
combo RAPID_17 {
    set_val (17, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_17);
    set_val (17, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_17);
    }
combo RAPID_18 {
    set_val (18, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_20);
    set_val (18, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_18);
    }
combo RAPID_19 {
    set_val (19, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_19);
    set_val (19, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_19);
    }
combo RAPID_20 {
    set_val (20, 100);
    set_led(LED_1,LED_A_1);
    set_led(LED_2,LED_A_2);
    set_led(LED_3,LED_A_3);
    set_led(LED_4,LED_A_4);
    wait (SPEED_20);
    set_val (20, 0);
    set_led(LED_1,LED_B_1);
    set_led(LED_2,LED_B_2);
    set_led(LED_3,LED_B_3);
    set_led(LED_4,LED_B_4);
    wait (SPEED_20);
    }