COD Black Ops 3 (BO3) version 2.1a

GPC1 script programming for Titan One. Code examples, questions, requests.

Re: COD Black Ops 3 (BO3) version 1.7

Postby UK_Wildcats » Thu Nov 12, 2015 10:27 pm

Bleak5170 wrote:Has anyone messed around with the rapid fire in Black Ops 3? I'm using it now with the 205 Brecci and it still seems to fire pretty slowly. Nothing like the Striker or Bulldog from past games. I don't know how to adjust it or if that would even do anything. I know guns will lock up very easily in Treyarch games if you spam the trigger with semi-autos so you have to be careful.


Yes, I have been playing around with rapid fire. The results seem to vary based upon each weapon coding within the game.

It seems that BO3 has added more functionality with burst and semi-automatic weapons. For example, you can fire some of the weapons over and over by holding the FIRE button. This is part of the game coding for everyone. As part of this implementation, I believe that they have coded more controls and delays.

Here is an example, if you use the rapid fire mod on the XR-2 it does not seem to make a difference than normally just holding the trigger. If you use the rapid fire mod on the MR6 pistol, it fires very close to an automatic weapon. The only difference is the game coding.
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Black Ops 3 (BO3) version 1.7

Postby Hamishboii » Fri Nov 13, 2015 2:18 am

hello, i play on xbox one with a TATICAL button layout. i simply cant get this to work :( i would appreciate any help anyone can offer :(
User avatar
Hamishboii
Sergeant First Class
Sergeant First Class
 
Posts: 16
Joined: Tue Nov 10, 2015 5:13 am

Re: COD Black Ops 3 (BO3) version 1.7

Postby UK_Wildcats » Fri Nov 13, 2015 3:09 am

Did you make the changes as defined the original post?

IN GAME BUTTON LAYOUTS:
This script was based upon the TACTICAL FLIPPED button configuration. If you do not play in this configuration, below are changes needed to play in other button layouts.

USING THIS SCRIPT ON VARIOUS CONSOLES: This script will work with various consoles. The Titan 1 maps the various controller variables (i.e PS4_R1, PS3_R1, XB1_RB, XB360_RB) to an index number. See the below link for the data representation table. Therefore, PS4_R1 will work as XB1_RB OR XB360_RB without any changes to the script. I am not using the menu, view, PS, select, etc. buttons, so they should not be an issue. The XB360 and XB1 do not have the TACTICAL FLIPPED in game settings; therefore, you have to make changes in the script to change from TACTICAL FLIPPED to DEFAULT or TACTICAL. See the below.

http://www.consoletuner.com/kbase/data_representation.htm?mw=MjQw&st=MA==&sct=MA==&ms=AAAA

Option 1: You can play in the normal TACTICAL button by making these changes.
Code: Select all
define ADS                       = PS4_L2;          // R1 & L1 can be changed to R2 AND L2
define EXO                       = PS4_L1;          // R1 & L1 can be changed to R2 AND L2
define SHOOT                    = PS4_R2;          // R1 & L1 can be changed to R2 AND L2
define GRENADE                 = PS4_R1;          // R1 & L1 can be changed to R2 AND L2
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Black Ops 3 (BO3) version 1.8

Postby UK_Wildcats » Fri Nov 13, 2015 3:54 am

Updated to version 1.8 that adds Jitter and modifies the drop shot combo timing.
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Black Ops 3 (BO3) version 1.8

Postby Hamishboii » Fri Nov 13, 2015 9:50 am

hello just seen your respone thanks, i dont really understand the codeing side much. and i wasnt notified about your response :S
User avatar
Hamishboii
Sergeant First Class
Sergeant First Class
 
Posts: 16
Joined: Tue Nov 10, 2015 5:13 am

Re: COD Black Ops 3 (BO3) version 1.8

Postby boat_58 » Fri Nov 13, 2015 1:31 pm

Hamishboii wrote:hello just seen your respone thanks, i dont really understand the codeing side much. and i wasnt notified about your response :S


DEFAULT TACTICAL

L1(EXO)= Tactical Grenade
L2(ADS)= Aim Down Sights
R1= Grenade
R2= Shoot
R3= Crouch
CIRCLE= Melee

Code: Select all
    /*
    GPC Online Library
    COD Black Ops 3(BO3) Script
    =============================================================================
    Device:        Titan One
    Author:        Terry (aka UK_Wildcats_Fans)
    Game:          Call of Duty Black Ops 3 (BO3)
    System:        PlayStation 4 (PS4) or PlayStation 3 (PS3)
    Controller:    DualShock 4 (DS4) or DualShock 3 (DS3)
    NOTE:   This script should work for Xbox (360 or One) with changes described further below
    Game Settings: Tactical Flipped Button Layout
    NOTE:   This script should work with other button layouts with changes described further below
    Device:        Titan 1 (firmware version 2.27 or newer)
    Website:       http:
//www.consoletuner.com
    Forum Post:    http://www.consoletuner.com/forum/viewtopic.php?f=6&t=2015
    =============================================================================               
    COPYRIGHT:
    2015 Terry (UK_Wildcats_Fans) from http://www.consoletuner.com. This Script was made and intended for http://www.Consoletuner.com & Titan 0ne ONLY,
    UNLESS written premission is given by the creator and/or copywritee.
    All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission
    of the copyright holder. For permission, contact UK_Wildcats_Fans via the http://www.consoletuner.com/forum website   
    =============================================================================
    CHANGELOG:
    Version 1.0: Initial script from my COD AW v2.5 script used as basis.  Took out items that would not be applicable (i.e. double jump, auto dash, etc.)
    Version 1.1: Updated based upon testing during BO3 beta
    Version 1.2: Tweaked rapid fire settings
    Version 1.3: Added rumble notifier and light bar color changes when activating certain mods
    Version 1.4: Clean up and simplify the script.
    Version 1.5: Took out section for stopping sprint reload since you can reload while sprinting in BO3
    Version 1.6: Added ADS Fire.  If you press the fire button it automatically makes it ADS (aim down sights). LookInversionON is set to FALSE by default
    Version 1.7: Added auto hold breath for the snipers out there
    =============================================================================
    TOGGLES: (You MUST press the ADS or CROUCH button first before)
    Press ADS (aim down sights) button in addition with any of the below.  Using ADS button helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
    Press LEFT  on the D PAD to activate/deactivate "RAPID FIRE ON/OFF"   
    Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
    Press UP    on the D PAD to activate/deactivate "TBD"       
    Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   

    Press CROUCH in addition with any of the below.  Using CROUCH helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
    Press LEFT  on the D PAD to activate/deactivate "HOLD BREATH"
    Press RIGHT on the D PAD to activate/deactivate "ADS Fire"
    Press UP    on the D PAD to activate/deactivate "QUICK SCOPE"
    Press DOWN  on the D PAD to activate/deactivate "ANTI-RECOIL"
    =============================================================================

    IN GAME BUTTON LAYOUTS:
    This script was based upon the DEFAULT TACTICAL button configuration. 

    =============================================================================

    LED DEFINITIONS FOR PS4 LIGHT BAR
    LED(0,0,0,0); // Off
    LED(1,0,0,0); // Blue (default)
    LED(0,1,0,0); // Red
    LED(0,0,1,0); // Green
    LED(0,0,0,1); // Pink
    LED(1,0,1,0); // Cyan
    LED(0,1,1,0); // Amber (aka yellow)
    LED(1,1,1,1); // White

    =============================================================================

    DEFINES
    */
    define ADS                       = PS4_L2;          // R1 & L1 can be changed to R2 and L2
    define EXO                       = PS4_L1;          // R1 & L1 can be changed to R2 and L2
    define SPRINT_EXO                = PS4_L3;
    define LX                        = PS4_LX;
    define LY                        = PS4_LY;
    define SHOOT                     = PS4_R2;          // R1 & L1 can be changed to R2 AND L2
    define GRENADE                   = PS4_R1;          // R1 & L1 can be changed to R2 AND L2
    define CROUCH                    = PS4_R3;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
    define RX                        = PS4_RX;
    define RY                        = PS4_RY;
    define JUMP                      = PS4_CROSS;
    define RELOAD                    = PS4_SQUARE;
    define MELEE                     = PS4_CIRCLE;      // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE.
    define SWAP_WEAPONS              = PS4_TRIANGLE;
    define UP                        = PS4_UP;
    define DOWN                      = PS4_DOWN;
    define LEFT                      = PS4_LEFT;
    define RIGHT                     = PS4_RIGHT;

    define INSTA_FIRE                = 95;   // The % at which it boosts the SHOOT button when pressed - i.e. 95% means when pressed 5%
    define INSTA_AIM                 = 95;   // The % at which it boosts the ADS button when pressed - i.e. 95% means when pressed 5%
    define INSTA_OTHER               = 95;   // The % at which it boosts the other button when pressed - i.e. 95% means when pressed 5%
    define DROPSHOT_QUICKNESS        = 95;   // The % at which it boosts the CROUCH button when pressed - i.e. 95% means when pressed 5%     
    define ADS_SPEED                 = 20;   // The % at which it boosts your aiming speed when using ADS         

    define DISABLE_WITH_SCOPE        = TRUE; // Will not drop shot if ADS is on
    define ANTI_RECOIL               = 20;   // Change this value to compensate to the vertical recoil  ASM1 with rapidfire = 40, BAL no grip = 20; Bal with grp = 0;
    define ANTI_RECOIL_LEFT          = 0;    // Change this value to compensate to the left
    define ANTI_RECOIL_RIGHT         = 0;    // Change this value to compensate to the right
    define ONLY_WITH_SCOPE           = TRUE; // Anti-recoil will only be applied with ADS
    define QUICK_SCOPE_WAIT          = 500// Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time
    define RELOAD_WAIT               = 2000; // Wait time after stopping auto sprint to allow reloading.  Adjust as necessary
    define SHOOT_WAIT                = 300// Wait time after stopping auto sprint to allow shooting
    define DROP_SHOT_WAIT            = 1000; // Wait time for drop shot combo (changed from 1200 to 1000)

    // VARIABLES =============================================================================

    int AkimboSingleON               = FALSE; // Akimbo mode for regular single shot mode
    int AkimboRapidON                = FALSE; // Akimbo mode with rapid fire mode
    int ThrustJumpON                 = FALSE;
    int AutoSprintON                 = TRUE;
    int AutoDashON                   = FALSE;
    int QuickMelee_ON                = FALSE;
    int RapidFireON                  = FALSE;
    int DropShotON                   = TRUE// Always turned on now
    int InversionON                  = FALSE// Set this to TRUE if you are using look inversion enabled in the game setting.  Most people are NOT using look inversion
    int JitterON                     = FALSE;
    int AntiRecoilON                 = FALSE;
    int QuickScopeON                 = FALSE;
    int QuickReloadON                = FALSE;
    int RapidFireCounter             = 1;
    int anti_recoil;
    int anti_recoil_left;
    int anti_recoil_right;
    int ADS_Fire_On                  = FALSE;
    int HoldBreathON                 = FALSE;

    // Hold Time is the time in mSeconds that the SHOOT button is pressed. It varies depending on the weapon, game and attachments.
    // Release time is the time between shooting.  This will vary depending on the game timing that is coded into the game.

    int HoldTime                     = 10// defined in mSeconds for regular Rapid Fire
    int RestTime                     = 10// defined in mSeconds for regular Rapid Fire
    int HoldTime2                    = 10// defined in mSeconds for Akimbo Rapid Fire
    int RestTime2                    = 10// defined in mSeconds for Akimbo Rapid Fire

    // MAIN SCRIPT =============================================================================

    main {   

        vm_tctrl(-5);  // sets main loop to 5mS vs the default 10mS

        // Makes the button 100% pressed even if barely pressed - aka more sensitive and quicker reaction
        if(get_val(CROUCH)){sensitivity(CROUCH, NOT_USE, 100 + DROPSHOT_QUICKNESS);}   
        if(get_val(ADS)){sensitivity(ADS, 10, 100 + INSTA_AIM);}     
        if(get_val(SHOOT)){sensitivity(SHOOT, 10, 100 + INSTA_FIRE);}
        if(get_val(SPRINT_EXO)){sensitivity(SPRINT_EXO, 10, 100 + INSTA_OTHER);}
        if(get_val(GRENADE)){sensitivity(GRENADE, 10, 100 + INSTA_OTHER);}

        if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
            RapidFireON = !RapidFireON;
            if(RapidFireON) {
                 combo_run(GreenLED);
                 combo_run(RumbleNotifier);
                 AkimboSingleON = FALSE// Turn OFF Akimbo modes
                 AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
                 QuickScopeON = FALSE;    // Turn OFF QuickScope
            }
            if(!RapidFireON) {combo_run(BlueLED);}
        }
       
        // Using this to cycle through rapid fire settings for testing.  It can be used for having multiple rapid fire settings
        // You can set these values to whatever you want and adjust how many different values that you want.
        if(event_press(RIGHT) && get_val(ADS) && RapidFireON) {
           RapidFireCounter = RapidFireCounter + 1;
           combo_run(SingleNotifier);
           if(RapidFireCounter > 5) {RapidFireCounter = 1;} // Change the "5" to how many options that you want
           if(RapidFireCounter == 1){HoldTime = 10; RestTime = 10;} // Preset #1
           if(RapidFireCounter == 2){HoldTime = 15; RestTime = 15;} // Preset #2
           if(RapidFireCounter == 3){HoldTime = 20; RestTime = 20;} // Preset #3
           if(RapidFireCounter == 4){HoldTime = 25; RestTime = 25;} // Preset #4
           if(RapidFireCounter == 5){HoldTime = 30; RestTime = 30;} // Preset #5   
        }
       
        if(event_press(DOWN) && get_val(ADS)) {  // Turns ON and OFF Drop Shot
            DropShotON = !DropShotON;
            if(DropShotON) {
                ADS_Fire_On = FALSE;
                combo_run(AmberLED);
                combo_run(RumbleNotifier);
            }
            if(!DropShotON) {combo_run(BlueLED);}   
          }

        if(event_press(UP) && get_val(CROUCH)) {  // Turns ON and OFF Quick Scope
            QuickScopeON = !QuickScopeON;
            if(QuickScopeON) {
               AkimboSingleON = FALSE;            // Turn OFF Akimbo modes
               AkimboRapidON = FALSE;             // Turn OFF Akimbo modes   
               RapidFireON = FALSE;               // Turn OFF Rapid Fire
               AntiRecoilON = FALSE;              // Turn OFF Anti Recoil
            }
        }

        if(event_press(DOWN) && get_val(CROUCH)) { // Turns ON and OFF Anti-Recoil
            AntiRecoilON = !AntiRecoilON;
            if(AntiRecoilON) {
                combo_run(PinkLED);
                combo_run(RumbleNotifier);
            }
            if(!AntiRecoilON) {combo_run(BlueLED);}   
        }

        if(event_press(RIGHT) && get_val(CROUCH)) { // Turns ON and OFF ADS Fire
            ADS_Fire_On = !ADS_Fire_On;
            if(ADS_Fire_On) {
                DropShotON = FALSE;
                combo_run(WhiteLED);
                combo_run(RumbleNotifier);
            }
            if(!ADS_Fire_On) {combo_run(BlueLED);}   
        }
        if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
            HoldBreathON = !HoldBreathON;
            if(HoldBreathON) {
                combo_run(WhiteLED);
                combo_run(RumbleNotifier);
            }
            if(!HoldBreathON) {combo_run(BlueLED);}   
        }


      if(get_val(SHOOT) && ADS_Fire_On && !DropShotON) {set_val(ADS,100);}

      // Drop Shot
      if(event_press(SHOOT) && DropShotON){
            combo_stop(AutoSprint);
            combo_run(DropShot);
      }
      if(DISABLE_WITH_SCOPE && get_val(ADS)) {combo_stop(DropShot);}

      // Rapid Fire without ADS Fire
      if(get_val(SHOOT) && RapidFireON && !ADS_Fire_On) {combo_run(RapidFire);}
     //   else if(combo_running(RapidFire)) {combo_stop(RapidFire);}

      // Rapid Fire with ADS Fire
      if(get_val(SHOOT) && RapidFireON && ADS_Fire_On) {combo_run(ADSRapidFire);}
    //    else if(combo_running(RapidFire)) {combo_stop(RapidFire);}

    /* Personal Comment:  I found that I have better game performance without using this.  You can adjust your sensitivity for this.
     
// Faster movement while aiming with ADS
      if(get_val(ADS)){
         sensitivity(RX, NOT_USE, 100 + ADS_SPEED);
         sensitivity(RY, NOT_USE, 100 + ADS_SPEED);
      }                                                       
    */

      // Anti-recoil
      if(!ONLY_WITH_SCOPE || get_val(ADS)) {combo_run(AntiRecoil);}

      // Quick Scope -- CANNOT ADS (aka regular scope) while using Quick Scope -- for regular ADS you must toggle off QuickScopeON  -- see "Toggles" section at the top of this script
      if(QuickScopeON && event_press(ADS) ) {combo_run(QuickScope);}

      // Hold Breath
      if(HoldBreathON && get_val(ADS)) {combo_run(HoldBreath);}

      // AutoSprint -- Try different values (i.e. -90, -95); toggle ON/OFF
      if(get_val(LY) < -99 && AutoSprintON && !combo_running(AllowReloading)) { combo_run(AutoSprint); }
      else if((get_val(LY) > -99 && AutoSprintON)) {combo_stop(AutoSprint); } // Reload will also stop
    //  if(event_press(RELOAD)) {combo_stop(AutoSprint); combo_run(AllowReloading);}  // Stop auto sprint to allow reloading (not needed for BO3)
      if(get_val(SHOOT)) {combo_stop(AutoSprint); combo_run(AllowShooting);}    // Stop auto sprint to allow shooting
     
    } // End of MAIN

    // COMBOS =============================================================================

    combo AllowShooting {
        set_val(SPRINT_EXO, 0);
        wait(SHOOT_WAIT); // can adjust to ensure enough time for shooting
    }

    combo AllowReloading {
        set_val(SPRINT_EXO, 0);
        wait(RELOAD_WAIT); // can adjust to ensure enough time to reload
    }

    combo RapidFire {
        set_val(SHOOT, 100);
        wait(HoldTime);
        set_val(SHOOT, 0);
        wait(RestTime);
        set_val(SHOOT, 0);
    }

    combo ADSRapidFire {
        set_val(SHOOT, 100);
        set_val(ADS, 100);
        wait(HoldTime);
        set_val(SHOOT, 0);
        wait(RestTime);
        set_val(SHOOT, 0);
        set_val(ADS, 0);
    }

    combo DropShot {
       set_val(SPRINT_EXO,0);
       wait(15)
       set_val(CROUCH, 100);
       wait(15)
       set_val(CROUCH, 100);
       wait(DROP_SHOT_WAIT);
    }

    combo QuickScope {
        set_val(ADS, 100);
        wait(QUICK_SCOPE_WAIT)  //Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time.
        set_val(ADS, 0);
        wait(10)
        set_val(SHOOT, 100);
        wait(20)
        set_val(SHOOT, 0);
        wait(60)
        set_val(SHOOT, 0);
    }

    combo HoldBreath {
        set_val(SPRINT_EXO, 100);
        wait(10);
        set_val(SPRINT_EXO, 100);
    }

    combo AutoSprint {
        set_val(SPRINT_EXO, 100);
        wait(10);
        set_val(SPRINT_EXO, 100)
    }

    combo AntiRecoil {                                           
    // Look Inversion Enabled
        if(get_val(SHOOT) && AntiRecoilON && InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
          anti_recoil = get_val(RY) - ANTI_RECOIL;            // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
          if(anti_recoil > 100) anti_recoil = 100;
          set_val(RY, anti_recoil);
          anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
          if(anti_recoil_left > 100) anti_recoil_left = 100;
          set_val(RX, anti_recoil_left);
          anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
          if(anti_recoil_right > 100) anti_recoil_right = 100;
          set_val(RX, anti_recoil_right);
        }
    // Normal Look Inversion - look inversion disabled
        if(get_val(SHOOT) && AntiRecoilON && !InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
          anti_recoil = get_val(RY) + ANTI_RECOIL;             // ADD anti_recoil for normal
          if(anti_recoil > 100) anti_recoil = 100;
          set_val(RY, anti_recoil);
          anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
          if(anti_recoil_left > 100) anti_recoil_left = 100;
          set_val(RX, anti_recoil_left);
          anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
          if(anti_recoil_right > 100) anti_recoil_right = 100;
          set_val(RX, anti_recoil_right);
        }
    }

    combo RumbleNotifier {
        // double rumble
        set_rumble(RUMBLE_A, 100);
        wait(250);
        set_rumble(RUMBLE_A, 0);
        wait(50);
        set_rumble(RUMBLE_A, 100);
        wait(250);
        set_rumble(RUMBLE_A, 0);
        wait(20);
    }

    combo SingleNotifier {
        // single rumble
        set_rumble(RUMBLE_A, 100);
        wait(200);
        set_rumble(RUMBLE_A, 0);
        wait(20);
    }

    combo BlueLED {   
        // blue (default)
        set_led(LED_1, 1);
        set_led(LED_2, 0);
        set_led(LED_3, 0);
        set_led(LED_4, 0);
    }   

    combo GreenLED {
        // green
        set_led(LED_1, 0);
        set_led(LED_2, 0);
        set_led(LED_3, 1);
        set_led(LED_4, 0);
    }

    combo PinkLED {
        // pink
        set_led(LED_1, 0);
        set_led(LED_2, 0);
        set_led(LED_3, 0);
        set_led(LED_4, 1);
    }

    combo AmberLED {
        // amber (aka yellow)
        set_led(LED_1, 0);
        set_led(LED_2, 1);
        set_led(LED_3, 1);
        set_led(LED_4, 0);
    }

    combo WhiteLED {
        // white
        set_led(LED_1, 1);
        set_led(LED_2, 1);
        set_led(LED_3, 1);
        set_led(LED_4, 1);
    }
User avatar
boat_58
First Sergeant
First Sergeant
 
Posts: 63
Joined: Sat Nov 07, 2015 3:33 pm

Re: COD Black Ops 3 (BO3) version 1.8

Postby UK_Wildcats » Fri Nov 13, 2015 3:28 pm

To make it easier here modified Version 1.8 scripts for the various button layouts

DEFAULT (not flipped)

Code: Select all
/*
GPC Online Library
COD Black Ops 3(BO3) Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Black Ops 3 (BO3)
System:        PlayStation 4 (PS4) or PlayStation 3 (PS3)
Controller:    DualShock 4 (DS4) or DualShock 3 (DS3)
NOTE:   This script should work for Xbox (360 or One) with changes described further below
Game Settings: Tactical Flipped Button Layout
NOTE:   This script should work with other button layouts with changes described further below
Device:        Titan 1 (firmware version 2.27 or newer)
Website:       http:
//www.consoletuner.com
Forum Post:    http://www.consoletuner.com/forum/viewtopic.php?f=6&t=2015
=============================================================================               
COPYRIGHT:
2015 Terry (UK_Wildcats_Fans) from http://www.consoletuner.com. This Script was made and intended for http://www.Consoletuner.com & Titan 0ne ONLY,
UNLESS written premission is given by the creator and/or copywritee. 
All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission
of the copyright holder. For permission, contact UK_Wildcats_Fans via the http://www.consoletuner.com/forum website   
=============================================================================
CHANGELOG:
Version 1.0: Initial script from my COD AW v2.5 script used as basis.  Took out items that would not be applicable (i.e. double jump, auto dash, etc.)
Version 1.1: Updated based upon testing during BO3 beta
Version 1.2: Tweaked rapid fire settings
Version 1.3: Added rumble notifier and light bar color changes when activating certain mods
Version 1.4: Clean up and simplify the script.
Version 1.5: Took out section for stopping sprint reload since you can reload while sprinting in BO3
Version 1.6: Added ADS Fire.  If you press the fire button it automatically makes it ADS (aim down sights). LookInversionON is set to FALSE by default
Version 1.7: Added auto hold breath for the snipers out there
Version 1.8: Added Jitter and modified drop shot combo timing
=============================================================================
TOGGLES: (You MUST press the ADS or CROUCH button first before)
Press ADS (aim down sights) button in addition with any of the below.  Using ADS button helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "RAPID FIRE ON/OFF"   
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to activate/deactivate "TBD"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   

Press CROUCH in addition with any of the below.  Using CROUCH helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "HOLD BREATH"
Press RIGHT on the D PAD to activate/deactivate "ADS Fire" 
Press UP    on the D PAD to activate/deactivate "QUICK SCOPE"
Press DOWN  on the D PAD to activate/deactivate "ANTI-RECOIL" 
=============================================================================
GAMEPLAY COMMENTS

The timing and functionality with BO3 has not been tested yet.

Rapid Fire:
I am doing something different with rapid fire. Normally, I had been using a rate of fire variable
which was used to make the Hold and Rest Times needed for the rapid fire combo. I am not using direct hold and rest times.
I now have two toggles for rapid fire: (see the TOGGLES section above)
1) toggles rapid fire mod on/off and 2) cycles between different rapid fire values for hold and rest time.
This will help with testing and allow players to have different rapid fire values for different weapons

Quick Melee & Quick Reload:
Treyarch took out sprint reload cancel, so quick melee will not work.  They also modified their code so we cannot do quick reload.

Drop Shot: 
The Drop Shot combo is only started once the shoot button is initially pressed.  It will not run again until it is released and re-pressed again.
If DISABLE_WITH_SCOPE is TRUE, Drop Shot occurs upon button press of SHOOT button without ADS.  If you press ADS button after starting drop,
it will stop the drop shot combo.  You must then release and re-press the SHOOT button to activate drop shot again.  This interferes if you use
the mini gun specialist perk, so you can toggle it on/off while in the game.
           
Auto Sprint & Reloading: 
Reload times vary with weapons and auto sprint can cause problems.  You sometimes have to let off the joystick, hold the RELOAD button or hold ADS to reload fully
If it does not start sprinting right away, you can press the SPRINT button to start it.
You can adjust the reload wait time that best suits your weapons and reloads.

Anti-Recoil:
There is no one right value.  See this thread for more information.  http://www.consoletuner.com/forum/viewtopic.php?f=17&t=1155
If you are USING look inversion you need to change InversionON to TRUE.

Quick Scoping:
There are variables to play around with to meet your specific needs.
I am absolutely terrible at quick scoping, so I don't really use this and haven't tested it that much.
=============================================================================

IN GAME BUTTON LAYOUTS: 
This script was based upon the TACTICAL FLIPPED button configuration.  If you do not play in this configuration, below are changes needed to
play in other button layouts.

USING THIS SCRIPT ON VARIOUS CONSOLES: This script will work with various consoles.
The Titan 1 maps the various controller variables (i.e PS4_R1, PS3_R1, XB1_RB, XB360_RB) to an index number.
See the below link for the data representation table. Therefore, PS4_R1 will work as XB1_RB OR XB360_RB without any changes to the script.
I am not using the menu, view, PS, select, etc. buttons, so they should not be an issue.

Data Representation Index
http://www.consoletuner.com/kbase/data_representation.htm?mw=MjQw&st=MA==&sct=MA==&ms=AAAA

NOTE: The XB360 and XB1 do not have the TACTICAL FLIPPED in game settings; therefore, you have to make changes in the script
to change from TACTICAL FLIPPED to DEFAULT or TACTICAL. See the below.

Option 1: You play in the normal TACTICAL button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped

Option 2: You play in the normal DEFAULT button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE

Option 3: You play in the normal DEFAULT FLIPPED layout.  Make these changes to the define section per the below
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE
=============================================================================

LED DEFINITIONS FOR PS4 LIGHT BAR
LED(0,0,0,0); // Off
LED(1,0,0,0); // Blue (default)
LED(0,1,0,0); // Red
LED(0,0,1,0); // Green
LED(0,0,0,1); // Pink
LED(1,0,1,0); // Cyan
LED(0,1,1,0); // Amber (aka yellow)
LED(1,1,1,1); // White

=============================================================================

DEFINES
*/
// Changes are needed for these for the non flipped button layout
define ADS                       = PS4_L2;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L1;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R2;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R1;          // R2 can be changed to R1 for non flipped
// These are needed for default button layout (non tactical)
define CROUCH                    = PS4_CIRCLE;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
define MELEE                     = PS4_R3;      // "Default" button layout is PS4_R3. "Tactical" button layout is PS4_CIRCLE.

define SPRINT_EXO                = PS4_L3;
define LX                        = PS4_LX;
define LY                        = PS4_LY;
define RX                        = PS4_RX;
define RY                        = PS4_RY;
define JUMP                      = PS4_CROSS;
define RELOAD                    = PS4_SQUARE;
define SWAP_WEAPONS              = PS4_TRIANGLE;
define UP                        = PS4_UP;
define DOWN                      = PS4_DOWN;
define LEFT                      = PS4_LEFT;
define RIGHT                     = PS4_RIGHT;

define INSTA_FIRE                = 95;   // The % at which it boosts the SHOOT button when pressed - i.e. 95% means when pressed 5%
define INSTA_AIM                 = 95;   // The % at which it boosts the ADS button when pressed - i.e. 95% means when pressed 5%
define INSTA_OTHER               = 95;   // The % at which it boosts the other button when pressed - i.e. 95% means when pressed 5%
define DROPSHOT_QUICKNESS        = 95;   // The % at which it boosts the CROUCH button when pressed - i.e. 95% means when pressed 5%     
define ADS_SPEED                 = 20;   // The % at which it boosts your aiming speed when using ADS         

define DISABLE_WITH_SCOPE        = TRUE; // Will not drop shot if ADS is on
define ANTI_RECOIL               = 30;   // Change this value to compensate to the vertical recoil
define ANTI_RECOIL_LEFT          = 0;    // Change this value to compensate to the left
define ANTI_RECOIL_RIGHT         = 0;    // Change this value to compensate to the right
define ONLY_WITH_SCOPE           = TRUE; // Anti-recoil will only be applied with ADS
define QUICK_SCOPE_WAIT          = 500// Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time
define RELOAD_WAIT               = 2000; // Wait time after stopping auto sprint to allow reloading.  Adjust as necessary
define SHOOT_WAIT                = 300// Wait time after stopping auto sprint to allow shooting
define DROP_SHOT_WAIT            = 1000; // Wait time for drop shot combo (changed from 1200 to 1000)

// VARIABLES =============================================================================

int AkimboSingleON               = FALSE; // Akimbo mode for regular single shot mode
int AkimboRapidON                = FALSE; // Akimbo mode with rapid fire mode
int ThrustJumpON                 = FALSE;
int AutoSprintON                 = TRUE
int AutoDashON                   = FALSE;
int QuickMelee_ON                = FALSE;
int RapidFireON                  = FALSE
int DropShotON                   = TRUE// Always turned on now
int InversionON                  = FALSE// Set this to TRUE if you are using look inversion enabled in the game setting.  Most people are NOT using look inversion
int JitterON                     = FALSE;
int AntiRecoilON                 = FALSE;
int QuickScopeON                 = FALSE;
int QuickReloadON                = FALSE
int RapidFireCounter             = 1;
int anti_recoil;
int anti_recoil_left;
int anti_recoil_right;
int ADS_Fire_On                  = FALSE;
int HoldBreathON                 = FALSE;

// Hold Time is the time in mSeconds that the SHOOT button is pressed. It varies depending on the weapon, game and attachments.
// Release time is the time between shooting.  This will vary depending on the game timing that is coded into the game.

int HoldTime                     = 10// defined in mSeconds for regular Rapid Fire
int RestTime                     = 10// defined in mSeconds for regular Rapid Fire
int HoldTime2                    = 20// defined in mSeconds for Jitter
int RestTime2                    = 20// defined in mSeconds for Jitter

// MAIN SCRIPT =============================================================================

main {   

    vm_tctrl(-5);  // sets main loop to 5mS vs the default 10mS

    // Makes the button 100% pressed even if barely pressed - aka more sensitive and quicker reaction
    if(get_val(CROUCH)){sensitivity(CROUCH, NOT_USE, 100 + DROPSHOT_QUICKNESS);}   
    if(get_val(ADS)){sensitivity(ADS, 10, 100 + INSTA_AIM);}     
    if(get_val(SHOOT)){sensitivity(SHOOT, 10, 100 + INSTA_FIRE);}
    if(get_val(SPRINT_EXO)){sensitivity(SPRINT_EXO, 10, 100 + INSTA_OTHER);}
    if(get_val(GRENADE)){sensitivity(GRENADE, 10, 100 + INSTA_OTHER);}

    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterON = FALSE;
             combo_run(GreenLED);
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {combo_run(BlueLED);}
    }
   
    // Using this to cycle through rapid fire settings for testing.  It can be used for having multiple rapid fire settings
    // You can set these values to whatever you want and adjust how many different values that you want.
    if(event_press(RIGHT) && get_val(ADS) && RapidFireON) {
       RapidFireCounter = RapidFireCounter + 1;
       combo_run(SingleNotifier);
       if(RapidFireCounter > 5) {RapidFireCounter = 1;} // Change the "5" to how many options that you want
       if(RapidFireCounter == 1){HoldTime = 10; RestTime = 10;} // Preset #1
       if(RapidFireCounter == 2){HoldTime = 15; RestTime = 15;} // Preset #2
       if(RapidFireCounter == 3){HoldTime = 20; RestTime = 20;} // Preset #3
       if(RapidFireCounter == 4){HoldTime = 25; RestTime = 25;} // Preset #4
       if(RapidFireCounter == 5){HoldTime = 30; RestTime = 30;} // Preset #5   
    }
   
    if(event_press(DOWN) && get_val(ADS)) {  // Turns ON and OFF Drop Shot
        DropShotON = !DropShotON;
        if(DropShotON) {
            ADS_Fire_On = FALSE;
            combo_run(AmberLED);
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {combo_run(BlueLED);}   
      }

    if(event_press(UP) && get_val(ADS)) {  // Turns ON and OFF Jitter
        JitterON = !JitterON;
        if(JitterON) {
            RapidFireON = FALSE;
            combo_run(GreenLED);
            combo_run(RumbleNotifier);
        }
        if(!JitterON) {combo_run(BlueLED);}   
      }


    if(event_press(UP) && get_val(CROUCH)) {  // Turns ON and OFF Quick Scope
        QuickScopeON = !QuickScopeON;
        if(QuickScopeON) {
           AkimboSingleON = FALSE;            // Turn OFF Akimbo modes
           AkimboRapidON = FALSE;             // Turn OFF Akimbo modes   
           RapidFireON = FALSE;               // Turn OFF Rapid Fire
           AntiRecoilON = FALSE;              // Turn OFF Anti Recoil
        }
    }

    if(event_press(DOWN) && get_val(CROUCH)) { // Turns ON and OFF Anti-Recoil
        AntiRecoilON = !AntiRecoilON;
        if(AntiRecoilON) {
            combo_run(PinkLED);
            combo_run(RumbleNotifier);
        }
        if(!AntiRecoilON) {combo_run(BlueLED);}   
    }

    if(event_press(RIGHT) && get_val(CROUCH)) { // Turns ON and OFF ADS Fire
        ADS_Fire_On = !ADS_Fire_On;
        if(ADS_Fire_On) {
            DropShotON = FALSE;
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {combo_run(BlueLED);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {combo_run(BlueLED);}   
    }

  // Auto ADS
  if(get_val(SHOOT) && ADS_Fire_On && !DropShotON) {set_val(ADS,100);}

  // Drop Shot
  if(event_press(SHOOT) && DropShotON){
        combo_stop(AutoSprint); 
        combo_run(DropShot);
  }
  if(DISABLE_WITH_SCOPE && get_val(ADS)) {combo_stop(DropShot);}

  // Jitter
  if(get_val(SHOOT) && JitterON) {combo_run(Jitter);}
    else if (combo_running(Jitter)) {combo_stop(Jitter);}

  // Rapid Fire without ADS Fire
  if(get_val(SHOOT) && RapidFireON && !ADS_Fire_On) {combo_run(RapidFire);}
    else if(combo_running(RapidFire)) {combo_stop(RapidFire);}

  // Rapid Fire with ADS Fire
  if(get_val(SHOOT) && RapidFireON && ADS_Fire_On) {combo_run(ADSRapidFire);}
    else if(combo_running(ADSRapidFire)) {combo_stop(ADSRapidFire);}

/* Personal Comment:  I found that I have better game performance without using this.  You can adjust your sensitivity for this.
 
// Faster movement while aiming with ADS
  if(get_val(ADS)){
     sensitivity(RX, NOT_USE, 100 + ADS_SPEED);
     sensitivity(RY, NOT_USE, 100 + ADS_SPEED);
  }                                                       
*/

  // Anti-recoil
  if(!ONLY_WITH_SCOPE || get_val(ADS)) {combo_run(AntiRecoil);}

  // Quick Scope -- CANNOT ADS (aka regular scope) while using Quick Scope -- for regular ADS you must toggle off QuickScopeON  -- see "Toggles" section at the top of this script
  if(QuickScopeON && event_press(ADS) ) {combo_run(QuickScope);}

  // Hold Breath
  if(HoldBreathON && get_val(ADS)) {combo_run(HoldBreath);}

  // AutoSprint -- Try different values (i.e. -90, -95); toggle ON/OFF
  if(get_val(LY) < -99 && AutoSprintON && !combo_running(AllowReloading)) { combo_run(AutoSprint); }
  else if((get_val(LY) > -99 && AutoSprintON)) {combo_stop(AutoSprint); } // Reload will also stop
//  if(event_press(RELOAD)) {combo_stop(AutoSprint); combo_run(AllowReloading);}  // Stop auto sprint to allow reloading (not needed for BO3)
  if(get_val(SHOOT)) {combo_stop(AutoSprint); combo_run(AllowShooting);}    // Stop auto sprint to allow shooting
 
} // End of MAIN

// COMBOS =============================================================================

combo AllowShooting {
    set_val(SPRINT_EXO, 0);
    wait(SHOOT_WAIT); // can adjust to ensure enough time for shooting
}

combo AllowReloading {
    set_val(SPRINT_EXO, 0);
    wait(RELOAD_WAIT); // can adjust to ensure enough time to reload
}

combo RapidFire {
    set_val(SHOOT, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
}

combo Jitter {
    set_val(RELOAD, 100);
    set_val(SWAP_WEAPONS, 100);
    set_val(SWAP_WEAPONS, 100);
    wait(HoldTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
    wait(RestTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
}

combo ADSRapidFire {
    set_val(SHOOT, 100);
    set_val(ADS, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
    set_val(ADS, 0);
}

combo DropShot {
   set_val(SPRINT_EXO,0);
   wait(15);
   set_val(CROUCH, 100);
   wait(50);              // 15 is no slide in public but slide in private.  50 is slide in public but no slide in private
   set_val(CROUCH, 100);
   wait(DROP_SHOT_WAIT); 
}

combo QuickScope {
    set_val(ADS, 100);
    wait(QUICK_SCOPE_WAIT)  //Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time.
    set_val(ADS, 0);
    wait(10);
    set_val(SHOOT, 100);
    wait(20);
    set_val(SHOOT, 0);
    wait(60);
    set_val(SHOOT, 0);
}

combo HoldBreath {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100);
}

combo AutoSprint {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100)
}

combo AntiRecoil {                                           
// Look Inversion Enabled
    if(get_val(SHOOT) && AntiRecoilON && InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) - ANTI_RECOIL;            // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
// Normal Look Inversion - look inversion disabled
    if(get_val(SHOOT) && AntiRecoilON && !InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) + ANTI_RECOIL;             // ADD anti_recoil for normal
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
}

combo RumbleNotifier {
    // double rumble
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(50);
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo SingleNotifier {
    // single rumble
    set_rumble(RUMBLE_A, 100);
    wait(200);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo BlueLED {   
    // blue (default)
    set_led(LED_1, 1);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 0);
}   

combo GreenLED {
    // green
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo PinkLED {
    // pink
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 1);
}

combo AmberLED {
    // amber (aka yellow)
    set_led(LED_1, 0);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo WhiteLED {
    // white
    set_led(LED_1, 1);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 1);
}


DEFAULT FLIPPED
Code: Select all
/*
GPC Online Library
COD Black Ops 3(BO3) Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Black Ops 3 (BO3)
System:        PlayStation 4 (PS4) or PlayStation 3 (PS3)
Controller:    DualShock 4 (DS4) or DualShock 3 (DS3)
NOTE:   This script should work for Xbox (360 or One) with changes described further below
Game Settings: Tactical Flipped Button Layout
NOTE:   This script should work with other button layouts with changes described further below
Device:        Titan 1 (firmware version 2.27 or newer)
Website:       http:
//www.consoletuner.com
Forum Post:    http://www.consoletuner.com/forum/viewtopic.php?f=6&t=2015
=============================================================================               
COPYRIGHT:
2015 Terry (UK_Wildcats_Fans) from http://www.consoletuner.com. This Script was made and intended for http://www.Consoletuner.com & Titan 0ne ONLY,
UNLESS written premission is given by the creator and/or copywritee. 
All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission
of the copyright holder. For permission, contact UK_Wildcats_Fans via the http://www.consoletuner.com/forum website   
=============================================================================
CHANGELOG:
Version 1.0: Initial script from my COD AW v2.5 script used as basis.  Took out items that would not be applicable (i.e. double jump, auto dash, etc.)
Version 1.1: Updated based upon testing during BO3 beta
Version 1.2: Tweaked rapid fire settings
Version 1.3: Added rumble notifier and light bar color changes when activating certain mods
Version 1.4: Clean up and simplify the script.
Version 1.5: Took out section for stopping sprint reload since you can reload while sprinting in BO3
Version 1.6: Added ADS Fire.  If you press the fire button it automatically makes it ADS (aim down sights). LookInversionON is set to FALSE by default
Version 1.7: Added auto hold breath for the snipers out there
Version 1.8: Added Jitter and modified drop shot combo timing
=============================================================================
TOGGLES: (You MUST press the ADS or CROUCH button first before)
Press ADS (aim down sights) button in addition with any of the below.  Using ADS button helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "RAPID FIRE ON/OFF"   
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to activate/deactivate "TBD"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   

Press CROUCH in addition with any of the below.  Using CROUCH helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "HOLD BREATH"
Press RIGHT on the D PAD to activate/deactivate "ADS Fire" 
Press UP    on the D PAD to activate/deactivate "QUICK SCOPE"
Press DOWN  on the D PAD to activate/deactivate "ANTI-RECOIL" 
=============================================================================
GAMEPLAY COMMENTS

The timing and functionality with BO3 has not been tested yet.

Rapid Fire:
I am doing something different with rapid fire. Normally, I had been using a rate of fire variable
which was used to make the Hold and Rest Times needed for the rapid fire combo. I am not using direct hold and rest times.
I now have two toggles for rapid fire: (see the TOGGLES section above)
1) toggles rapid fire mod on/off and 2) cycles between different rapid fire values for hold and rest time.
This will help with testing and allow players to have different rapid fire values for different weapons

Quick Melee & Quick Reload:
Treyarch took out sprint reload cancel, so quick melee will not work.  They also modified their code so we cannot do quick reload.

Drop Shot: 
The Drop Shot combo is only started once the shoot button is initially pressed.  It will not run again until it is released and re-pressed again.
If DISABLE_WITH_SCOPE is TRUE, Drop Shot occurs upon button press of SHOOT button without ADS.  If you press ADS button after starting drop,
it will stop the drop shot combo.  You must then release and re-press the SHOOT button to activate drop shot again.  This interferes if you use
the mini gun specialist perk, so you can toggle it on/off while in the game.
           
Auto Sprint & Reloading: 
Reload times vary with weapons and auto sprint can cause problems.  You sometimes have to let off the joystick, hold the RELOAD button or hold ADS to reload fully
If it does not start sprinting right away, you can press the SPRINT button to start it.
You can adjust the reload wait time that best suits your weapons and reloads.

Anti-Recoil:
There is no one right value.  See this thread for more information.  http://www.consoletuner.com/forum/viewtopic.php?f=17&t=1155
If you are USING look inversion you need to change InversionON to TRUE.

Quick Scoping:
There are variables to play around with to meet your specific needs.
I am absolutely terrible at quick scoping, so I don't really use this and haven't tested it that much.
=============================================================================

IN GAME BUTTON LAYOUTS: 
This script was based upon the TACTICAL FLIPPED button configuration.  If you do not play in this configuration, below are changes needed to
play in other button layouts.

USING THIS SCRIPT ON VARIOUS CONSOLES: This script will work with various consoles.
The Titan 1 maps the various controller variables (i.e PS4_R1, PS3_R1, XB1_RB, XB360_RB) to an index number.
See the below link for the data representation table. Therefore, PS4_R1 will work as XB1_RB OR XB360_RB without any changes to the script.
I am not using the menu, view, PS, select, etc. buttons, so they should not be an issue.

Data Representation Index
http://www.consoletuner.com/kbase/data_representation.htm?mw=MjQw&st=MA==&sct=MA==&ms=AAAA

NOTE: The XB360 and XB1 do not have the TACTICAL FLIPPED in game settings; therefore, you have to make changes in the script
to change from TACTICAL FLIPPED to DEFAULT or TACTICAL. See the below.

Option 1: You play in the normal TACTICAL button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped

Option 2: You play in the normal DEFAULT button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE

Option 3: You play in the normal DEFAULT FLIPPED layout.  Make these changes to the define section per the below
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE
=============================================================================

LED DEFINITIONS FOR PS4 LIGHT BAR
LED(0,0,0,0); // Off
LED(1,0,0,0); // Blue (default)
LED(0,1,0,0); // Red
LED(0,0,1,0); // Green
LED(0,0,0,1); // Pink
LED(1,0,1,0); // Cyan
LED(0,1,1,0); // Amber (aka yellow)
LED(1,1,1,1); // White

=============================================================================

DEFINES
*/
// Changes are needed for these for the non flipped button layout
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped
// These are needed for default button layout (non tactical)
define CROUCH                    = PS4_CIRCLE;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
define MELEE                     = PS4_R3;      // "Default" button layout is PS4_R3. "Tactical" button layout is PS4_CIRCLE.

define SPRINT_EXO                = PS4_L3;
define LX                        = PS4_LX;
define LY                        = PS4_LY;
define RX                        = PS4_RX;
define RY                        = PS4_RY;
define JUMP                      = PS4_CROSS;
define RELOAD                    = PS4_SQUARE;
define SWAP_WEAPONS              = PS4_TRIANGLE;
define UP                        = PS4_UP;
define DOWN                      = PS4_DOWN;
define LEFT                      = PS4_LEFT;
define RIGHT                     = PS4_RIGHT;

define INSTA_FIRE                = 95;   // The % at which it boosts the SHOOT button when pressed - i.e. 95% means when pressed 5%
define INSTA_AIM                 = 95;   // The % at which it boosts the ADS button when pressed - i.e. 95% means when pressed 5%
define INSTA_OTHER               = 95;   // The % at which it boosts the other button when pressed - i.e. 95% means when pressed 5%
define DROPSHOT_QUICKNESS        = 95;   // The % at which it boosts the CROUCH button when pressed - i.e. 95% means when pressed 5%     
define ADS_SPEED                 = 20;   // The % at which it boosts your aiming speed when using ADS         

define DISABLE_WITH_SCOPE        = TRUE; // Will not drop shot if ADS is on
define ANTI_RECOIL               = 30;   // Change this value to compensate to the vertical recoil
define ANTI_RECOIL_LEFT          = 0;    // Change this value to compensate to the left
define ANTI_RECOIL_RIGHT         = 0;    // Change this value to compensate to the right
define ONLY_WITH_SCOPE           = TRUE; // Anti-recoil will only be applied with ADS
define QUICK_SCOPE_WAIT          = 500// Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time
define RELOAD_WAIT               = 2000; // Wait time after stopping auto sprint to allow reloading.  Adjust as necessary
define SHOOT_WAIT                = 300// Wait time after stopping auto sprint to allow shooting
define DROP_SHOT_WAIT            = 1000; // Wait time for drop shot combo (changed from 1200 to 1000)

// VARIABLES =============================================================================

int AkimboSingleON               = FALSE; // Akimbo mode for regular single shot mode
int AkimboRapidON                = FALSE; // Akimbo mode with rapid fire mode
int ThrustJumpON                 = FALSE;
int AutoSprintON                 = TRUE
int AutoDashON                   = FALSE;
int QuickMelee_ON                = FALSE;
int RapidFireON                  = FALSE
int DropShotON                   = TRUE// Always turned on now
int InversionON                  = FALSE// Set this to TRUE if you are using look inversion enabled in the game setting.  Most people are NOT using look inversion
int JitterON                     = FALSE;
int AntiRecoilON                 = FALSE;
int QuickScopeON                 = FALSE;
int QuickReloadON                = FALSE
int RapidFireCounter             = 1;
int anti_recoil;
int anti_recoil_left;
int anti_recoil_right;
int ADS_Fire_On                  = FALSE;
int HoldBreathON                 = FALSE;

// Hold Time is the time in mSeconds that the SHOOT button is pressed. It varies depending on the weapon, game and attachments.
// Release time is the time between shooting.  This will vary depending on the game timing that is coded into the game.

int HoldTime                     = 10// defined in mSeconds for regular Rapid Fire
int RestTime                     = 10// defined in mSeconds for regular Rapid Fire
int HoldTime2                    = 20// defined in mSeconds for Jitter
int RestTime2                    = 20// defined in mSeconds for Jitter

// MAIN SCRIPT =============================================================================

main {   

    vm_tctrl(-5);  // sets main loop to 5mS vs the default 10mS

    // Makes the button 100% pressed even if barely pressed - aka more sensitive and quicker reaction
    if(get_val(CROUCH)){sensitivity(CROUCH, NOT_USE, 100 + DROPSHOT_QUICKNESS);}   
    if(get_val(ADS)){sensitivity(ADS, 10, 100 + INSTA_AIM);}     
    if(get_val(SHOOT)){sensitivity(SHOOT, 10, 100 + INSTA_FIRE);}
    if(get_val(SPRINT_EXO)){sensitivity(SPRINT_EXO, 10, 100 + INSTA_OTHER);}
    if(get_val(GRENADE)){sensitivity(GRENADE, 10, 100 + INSTA_OTHER);}

    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterON = FALSE;
             combo_run(GreenLED);
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {combo_run(BlueLED);}
    }
   
    // Using this to cycle through rapid fire settings for testing.  It can be used for having multiple rapid fire settings
    // You can set these values to whatever you want and adjust how many different values that you want.
    if(event_press(RIGHT) && get_val(ADS) && RapidFireON) {
       RapidFireCounter = RapidFireCounter + 1;
       combo_run(SingleNotifier);
       if(RapidFireCounter > 5) {RapidFireCounter = 1;} // Change the "5" to how many options that you want
       if(RapidFireCounter == 1){HoldTime = 10; RestTime = 10;} // Preset #1
       if(RapidFireCounter == 2){HoldTime = 15; RestTime = 15;} // Preset #2
       if(RapidFireCounter == 3){HoldTime = 20; RestTime = 20;} // Preset #3
       if(RapidFireCounter == 4){HoldTime = 25; RestTime = 25;} // Preset #4
       if(RapidFireCounter == 5){HoldTime = 30; RestTime = 30;} // Preset #5   
    }
   
    if(event_press(DOWN) && get_val(ADS)) {  // Turns ON and OFF Drop Shot
        DropShotON = !DropShotON;
        if(DropShotON) {
            ADS_Fire_On = FALSE;
            combo_run(AmberLED);
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {combo_run(BlueLED);}   
      }

    if(event_press(UP) && get_val(ADS)) {  // Turns ON and OFF Jitter
        JitterON = !JitterON;
        if(JitterON) {
            RapidFireON = FALSE;
            combo_run(GreenLED);
            combo_run(RumbleNotifier);
        }
        if(!JitterON) {combo_run(BlueLED);}   
      }


    if(event_press(UP) && get_val(CROUCH)) {  // Turns ON and OFF Quick Scope
        QuickScopeON = !QuickScopeON;
        if(QuickScopeON) {
           AkimboSingleON = FALSE;            // Turn OFF Akimbo modes
           AkimboRapidON = FALSE;             // Turn OFF Akimbo modes   
           RapidFireON = FALSE;               // Turn OFF Rapid Fire
           AntiRecoilON = FALSE;              // Turn OFF Anti Recoil
        }
    }

    if(event_press(DOWN) && get_val(CROUCH)) { // Turns ON and OFF Anti-Recoil
        AntiRecoilON = !AntiRecoilON;
        if(AntiRecoilON) {
            combo_run(PinkLED);
            combo_run(RumbleNotifier);
        }
        if(!AntiRecoilON) {combo_run(BlueLED);}   
    }

    if(event_press(RIGHT) && get_val(CROUCH)) { // Turns ON and OFF ADS Fire
        ADS_Fire_On = !ADS_Fire_On;
        if(ADS_Fire_On) {
            DropShotON = FALSE;
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {combo_run(BlueLED);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {combo_run(BlueLED);}   
    }

  // Auto ADS
  if(get_val(SHOOT) && ADS_Fire_On && !DropShotON) {set_val(ADS,100);}

  // Drop Shot
  if(event_press(SHOOT) && DropShotON){
        combo_stop(AutoSprint); 
        combo_run(DropShot);
  }
  if(DISABLE_WITH_SCOPE && get_val(ADS)) {combo_stop(DropShot);}

  // Jitter
  if(get_val(SHOOT) && JitterON) {combo_run(Jitter);}
    else if (combo_running(Jitter)) {combo_stop(Jitter);}

  // Rapid Fire without ADS Fire
  if(get_val(SHOOT) && RapidFireON && !ADS_Fire_On) {combo_run(RapidFire);}
    else if(combo_running(RapidFire)) {combo_stop(RapidFire);}

  // Rapid Fire with ADS Fire
  if(get_val(SHOOT) && RapidFireON && ADS_Fire_On) {combo_run(ADSRapidFire);}
    else if(combo_running(ADSRapidFire)) {combo_stop(ADSRapidFire);}

/* Personal Comment:  I found that I have better game performance without using this.  You can adjust your sensitivity for this.
 
// Faster movement while aiming with ADS
  if(get_val(ADS)){
     sensitivity(RX, NOT_USE, 100 + ADS_SPEED);
     sensitivity(RY, NOT_USE, 100 + ADS_SPEED);
  }                                                       
*/

  // Anti-recoil
  if(!ONLY_WITH_SCOPE || get_val(ADS)) {combo_run(AntiRecoil);}

  // Quick Scope -- CANNOT ADS (aka regular scope) while using Quick Scope -- for regular ADS you must toggle off QuickScopeON  -- see "Toggles" section at the top of this script
  if(QuickScopeON && event_press(ADS) ) {combo_run(QuickScope);}

  // Hold Breath
  if(HoldBreathON && get_val(ADS)) {combo_run(HoldBreath);}

  // AutoSprint -- Try different values (i.e. -90, -95); toggle ON/OFF
  if(get_val(LY) < -99 && AutoSprintON && !combo_running(AllowReloading)) { combo_run(AutoSprint); }
  else if((get_val(LY) > -99 && AutoSprintON)) {combo_stop(AutoSprint); } // Reload will also stop
//  if(event_press(RELOAD)) {combo_stop(AutoSprint); combo_run(AllowReloading);}  // Stop auto sprint to allow reloading (not needed for BO3)
  if(get_val(SHOOT)) {combo_stop(AutoSprint); combo_run(AllowShooting);}    // Stop auto sprint to allow shooting
 
} // End of MAIN

// COMBOS =============================================================================

combo AllowShooting {
    set_val(SPRINT_EXO, 0);
    wait(SHOOT_WAIT); // can adjust to ensure enough time for shooting
}

combo AllowReloading {
    set_val(SPRINT_EXO, 0);
    wait(RELOAD_WAIT); // can adjust to ensure enough time to reload
}

combo RapidFire {
    set_val(SHOOT, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
}

combo Jitter {
    set_val(RELOAD, 100);
    set_val(SWAP_WEAPONS, 100);
    set_val(SWAP_WEAPONS, 100);
    wait(HoldTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
    wait(RestTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
}

combo ADSRapidFire {
    set_val(SHOOT, 100);
    set_val(ADS, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
    set_val(ADS, 0);
}

combo DropShot {
   set_val(SPRINT_EXO,0);
   wait(15);
   set_val(CROUCH, 100);
   wait(50);              // 15 is no slide in public but slide in private.  50 is slide in public but no slide in private
   set_val(CROUCH, 100);
   wait(DROP_SHOT_WAIT); 
}

combo QuickScope {
    set_val(ADS, 100);
    wait(QUICK_SCOPE_WAIT)  //Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time.
    set_val(ADS, 0);
    wait(10);
    set_val(SHOOT, 100);
    wait(20);
    set_val(SHOOT, 0);
    wait(60);
    set_val(SHOOT, 0);
}

combo HoldBreath {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100);
}

combo AutoSprint {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100)
}

combo AntiRecoil {                                           
// Look Inversion Enabled
    if(get_val(SHOOT) && AntiRecoilON && InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) - ANTI_RECOIL;            // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
// Normal Look Inversion - look inversion disabled
    if(get_val(SHOOT) && AntiRecoilON && !InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) + ANTI_RECOIL;             // ADD anti_recoil for normal
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
}

combo RumbleNotifier {
    // double rumble
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(50);
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo SingleNotifier {
    // single rumble
    set_rumble(RUMBLE_A, 100);
    wait(200);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo BlueLED {   
    // blue (default)
    set_led(LED_1, 1);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 0);
}   

combo GreenLED {
    // green
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo PinkLED {
    // pink
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 1);
}

combo AmberLED {
    // amber (aka yellow)
    set_led(LED_1, 0);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo WhiteLED {
    // white
    set_led(LED_1, 1);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 1);
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Black Ops 3 (BO3) version 1.8

Postby UK_Wildcats » Fri Nov 13, 2015 3:30 pm

TACTICAL (not flippped)
Code: Select all
/*
GPC Online Library
COD Black Ops 3(BO3) Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Black Ops 3 (BO3)
System:        PlayStation 4 (PS4) or PlayStation 3 (PS3)
Controller:    DualShock 4 (DS4) or DualShock 3 (DS3)
NOTE:   This script should work for Xbox (360 or One) with changes described further below
Game Settings: Tactical Flipped Button Layout
NOTE:   This script should work with other button layouts with changes described further below
Device:        Titan 1 (firmware version 2.27 or newer)
Website:       http:
//www.consoletuner.com
Forum Post:    http://www.consoletuner.com/forum/viewtopic.php?f=6&t=2015
=============================================================================               
COPYRIGHT:
2015 Terry (UK_Wildcats_Fans) from http://www.consoletuner.com. This Script was made and intended for http://www.Consoletuner.com & Titan 0ne ONLY,
UNLESS written premission is given by the creator and/or copywritee. 
All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission
of the copyright holder. For permission, contact UK_Wildcats_Fans via the http://www.consoletuner.com/forum website   
=============================================================================
CHANGELOG:
Version 1.0: Initial script from my COD AW v2.5 script used as basis.  Took out items that would not be applicable (i.e. double jump, auto dash, etc.)
Version 1.1: Updated based upon testing during BO3 beta
Version 1.2: Tweaked rapid fire settings
Version 1.3: Added rumble notifier and light bar color changes when activating certain mods
Version 1.4: Clean up and simplify the script.
Version 1.5: Took out section for stopping sprint reload since you can reload while sprinting in BO3
Version 1.6: Added ADS Fire.  If you press the fire button it automatically makes it ADS (aim down sights). LookInversionON is set to FALSE by default
Version 1.7: Added auto hold breath for the snipers out there
Version 1.8: Added Jitter and modified drop shot combo timing
=============================================================================
TOGGLES: (You MUST press the ADS or CROUCH button first before)
Press ADS (aim down sights) button in addition with any of the below.  Using ADS button helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "RAPID FIRE ON/OFF"   
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to activate/deactivate "TBD"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   

Press CROUCH in addition with any of the below.  Using CROUCH helps to prevent accidental turn ON and OFF when operating killstreaks and/or other times that requires the D PAD
Press LEFT  on the D PAD to activate/deactivate "HOLD BREATH"
Press RIGHT on the D PAD to activate/deactivate "ADS Fire" 
Press UP    on the D PAD to activate/deactivate "QUICK SCOPE"
Press DOWN  on the D PAD to activate/deactivate "ANTI-RECOIL" 
=============================================================================
GAMEPLAY COMMENTS

The timing and functionality with BO3 has not been tested yet.

Rapid Fire:
I am doing something different with rapid fire. Normally, I had been using a rate of fire variable
which was used to make the Hold and Rest Times needed for the rapid fire combo. I am not using direct hold and rest times.
I now have two toggles for rapid fire: (see the TOGGLES section above)
1) toggles rapid fire mod on/off and 2) cycles between different rapid fire values for hold and rest time.
This will help with testing and allow players to have different rapid fire values for different weapons

Quick Melee & Quick Reload:
Treyarch took out sprint reload cancel, so quick melee will not work.  They also modified their code so we cannot do quick reload.

Drop Shot: 
The Drop Shot combo is only started once the shoot button is initially pressed.  It will not run again until it is released and re-pressed again.
If DISABLE_WITH_SCOPE is TRUE, Drop Shot occurs upon button press of SHOOT button without ADS.  If you press ADS button after starting drop,
it will stop the drop shot combo.  You must then release and re-press the SHOOT button to activate drop shot again.  This interferes if you use
the mini gun specialist perk, so you can toggle it on/off while in the game.
           
Auto Sprint & Reloading: 
Reload times vary with weapons and auto sprint can cause problems.  You sometimes have to let off the joystick, hold the RELOAD button or hold ADS to reload fully
If it does not start sprinting right away, you can press the SPRINT button to start it.
You can adjust the reload wait time that best suits your weapons and reloads.

Anti-Recoil:
There is no one right value.  See this thread for more information.  http://www.consoletuner.com/forum/viewtopic.php?f=17&t=1155
If you are USING look inversion you need to change InversionON to TRUE.

Quick Scoping:
There are variables to play around with to meet your specific needs.
I am absolutely terrible at quick scoping, so I don't really use this and haven't tested it that much.
=============================================================================

IN GAME BUTTON LAYOUTS: 
This script was based upon the TACTICAL FLIPPED button configuration.  If you do not play in this configuration, below are changes needed to
play in other button layouts.

USING THIS SCRIPT ON VARIOUS CONSOLES: This script will work with various consoles.
The Titan 1 maps the various controller variables (i.e PS4_R1, PS3_R1, XB1_RB, XB360_RB) to an index number.
See the below link for the data representation table. Therefore, PS4_R1 will work as XB1_RB OR XB360_RB without any changes to the script.
I am not using the menu, view, PS, select, etc. buttons, so they should not be an issue.

Data Representation Index
http://www.consoletuner.com/kbase/data_representation.htm?mw=MjQw&st=MA==&sct=MA==&ms=AAAA

NOTE: The XB360 and XB1 do not have the TACTICAL FLIPPED in game settings; therefore, you have to make changes in the script
to change from TACTICAL FLIPPED to DEFAULT or TACTICAL. See the below.

Option 1: You play in the normal TACTICAL button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped

Option 2: You play in the normal DEFAULT button layout.  Make these changes to the define section per the below
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE

Option 3: You play in the normal DEFAULT FLIPPED layout.  Make these changes to the define section per the below
define CROUCH                    = PS4_CIRCLE;      // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3
define MELEE                     = PS4_R3;          // "Default" button layout is PS4_R3. "Tactical button layout is PS4_CIRCLE
=============================================================================

LED DEFINITIONS FOR PS4 LIGHT BAR
LED(0,0,0,0); // Off
LED(1,0,0,0); // Blue (default)
LED(0,1,0,0); // Red
LED(0,0,1,0); // Green
LED(0,0,0,1); // Pink
LED(1,0,1,0); // Cyan
LED(0,1,1,0); // Amber (aka yellow)
LED(1,1,1,1); // White

=============================================================================

DEFINES
*/
// Changes are needed for these for the non flipped button layout
define ADS                       = PS4_L1;          // L1 can be changed to L2 for non flipped
define EXO                       = PS4_L2;          // L2 can be changed to L1 for non flipped
define SHOOT                     = PS4_R1;          // R1 can be changed to R2 for non flipped
define GRENADE                   = PS4_R2;          // R2 can be changed to R1 for non flipped
// These are needed for default button layout (non tactical)
define CROUCH                    = PS4_CIRCLE;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
define MELEE                     = PS4_R3;      // "Default" button layout is PS4_R3. "Tactical" button layout is PS4_CIRCLE.

define SPRINT_EXO                = PS4_L3;
define LX                        = PS4_LX;
define LY                        = PS4_LY;
define RX                        = PS4_RX;
define RY                        = PS4_RY;
define JUMP                      = PS4_CROSS;
define RELOAD                    = PS4_SQUARE;
define SWAP_WEAPONS              = PS4_TRIANGLE;
define UP                        = PS4_UP;
define DOWN                      = PS4_DOWN;
define LEFT                      = PS4_LEFT;
define RIGHT                     = PS4_RIGHT;

define INSTA_FIRE                = 95;   // The % at which it boosts the SHOOT button when pressed - i.e. 95% means when pressed 5%
define INSTA_AIM                 = 95;   // The % at which it boosts the ADS button when pressed - i.e. 95% means when pressed 5%
define INSTA_OTHER               = 95;   // The % at which it boosts the other button when pressed - i.e. 95% means when pressed 5%
define DROPSHOT_QUICKNESS        = 95;   // The % at which it boosts the CROUCH button when pressed - i.e. 95% means when pressed 5%     
define ADS_SPEED                 = 20;   // The % at which it boosts your aiming speed when using ADS         

define DISABLE_WITH_SCOPE        = TRUE; // Will not drop shot if ADS is on
define ANTI_RECOIL               = 30;   // Change this value to compensate to the vertical recoil
define ANTI_RECOIL_LEFT          = 0;    // Change this value to compensate to the left
define ANTI_RECOIL_RIGHT         = 0;    // Change this value to compensate to the right
define ONLY_WITH_SCOPE           = TRUE; // Anti-recoil will only be applied with ADS
define QUICK_SCOPE_WAIT          = 500// Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time
define RELOAD_WAIT               = 2000; // Wait time after stopping auto sprint to allow reloading.  Adjust as necessary
define SHOOT_WAIT                = 300// Wait time after stopping auto sprint to allow shooting
define DROP_SHOT_WAIT            = 1000; // Wait time for drop shot combo (changed from 1200 to 1000)

// VARIABLES =============================================================================

int AkimboSingleON               = FALSE; // Akimbo mode for regular single shot mode
int AkimboRapidON                = FALSE; // Akimbo mode with rapid fire mode
int ThrustJumpON                 = FALSE;
int AutoSprintON                 = TRUE
int AutoDashON                   = FALSE;
int QuickMelee_ON                = FALSE;
int RapidFireON                  = FALSE
int DropShotON                   = TRUE// Always turned on now
int InversionON                  = FALSE// Set this to TRUE if you are using look inversion enabled in the game setting.  Most people are NOT using look inversion
int JitterON                     = FALSE;
int AntiRecoilON                 = FALSE;
int QuickScopeON                 = FALSE;
int QuickReloadON                = FALSE
int RapidFireCounter             = 1;
int anti_recoil;
int anti_recoil_left;
int anti_recoil_right;
int ADS_Fire_On                  = FALSE;
int HoldBreathON                 = FALSE;

// Hold Time is the time in mSeconds that the SHOOT button is pressed. It varies depending on the weapon, game and attachments.
// Release time is the time between shooting.  This will vary depending on the game timing that is coded into the game.

int HoldTime                     = 10// defined in mSeconds for regular Rapid Fire
int RestTime                     = 10// defined in mSeconds for regular Rapid Fire
int HoldTime2                    = 20// defined in mSeconds for Jitter
int RestTime2                    = 20// defined in mSeconds for Jitter

// MAIN SCRIPT =============================================================================

main {   

    vm_tctrl(-5);  // sets main loop to 5mS vs the default 10mS

    // Makes the button 100% pressed even if barely pressed - aka more sensitive and quicker reaction
    if(get_val(CROUCH)){sensitivity(CROUCH, NOT_USE, 100 + DROPSHOT_QUICKNESS);}   
    if(get_val(ADS)){sensitivity(ADS, 10, 100 + INSTA_AIM);}     
    if(get_val(SHOOT)){sensitivity(SHOOT, 10, 100 + INSTA_FIRE);}
    if(get_val(SPRINT_EXO)){sensitivity(SPRINT_EXO, 10, 100 + INSTA_OTHER);}
    if(get_val(GRENADE)){sensitivity(GRENADE, 10, 100 + INSTA_OTHER);}

    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterON = FALSE;
             combo_run(GreenLED);
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {combo_run(BlueLED);}
    }
   
    // Using this to cycle through rapid fire settings for testing.  It can be used for having multiple rapid fire settings
    // You can set these values to whatever you want and adjust how many different values that you want.
    if(event_press(RIGHT) && get_val(ADS) && RapidFireON) {
       RapidFireCounter = RapidFireCounter + 1;
       combo_run(SingleNotifier);
       if(RapidFireCounter > 5) {RapidFireCounter = 1;} // Change the "5" to how many options that you want
       if(RapidFireCounter == 1){HoldTime = 10; RestTime = 10;} // Preset #1
       if(RapidFireCounter == 2){HoldTime = 15; RestTime = 15;} // Preset #2
       if(RapidFireCounter == 3){HoldTime = 20; RestTime = 20;} // Preset #3
       if(RapidFireCounter == 4){HoldTime = 25; RestTime = 25;} // Preset #4
       if(RapidFireCounter == 5){HoldTime = 30; RestTime = 30;} // Preset #5   
    }
   
    if(event_press(DOWN) && get_val(ADS)) {  // Turns ON and OFF Drop Shot
        DropShotON = !DropShotON;
        if(DropShotON) {
            ADS_Fire_On = FALSE;
            combo_run(AmberLED);
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {combo_run(BlueLED);}   
      }

    if(event_press(UP) && get_val(ADS)) {  // Turns ON and OFF Jitter
        JitterON = !JitterON;
        if(JitterON) {
            RapidFireON = FALSE;
            combo_run(GreenLED);
            combo_run(RumbleNotifier);
        }
        if(!JitterON) {combo_run(BlueLED);}   
      }


    if(event_press(UP) && get_val(CROUCH)) {  // Turns ON and OFF Quick Scope
        QuickScopeON = !QuickScopeON;
        if(QuickScopeON) {
           AkimboSingleON = FALSE;            // Turn OFF Akimbo modes
           AkimboRapidON = FALSE;             // Turn OFF Akimbo modes   
           RapidFireON = FALSE;               // Turn OFF Rapid Fire
           AntiRecoilON = FALSE;              // Turn OFF Anti Recoil
        }
    }

    if(event_press(DOWN) && get_val(CROUCH)) { // Turns ON and OFF Anti-Recoil
        AntiRecoilON = !AntiRecoilON;
        if(AntiRecoilON) {
            combo_run(PinkLED);
            combo_run(RumbleNotifier);
        }
        if(!AntiRecoilON) {combo_run(BlueLED);}   
    }

    if(event_press(RIGHT) && get_val(CROUCH)) { // Turns ON and OFF ADS Fire
        ADS_Fire_On = !ADS_Fire_On;
        if(ADS_Fire_On) {
            DropShotON = FALSE;
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {combo_run(BlueLED);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {combo_run(BlueLED);}   
    }

  // Auto ADS
  if(get_val(SHOOT) && ADS_Fire_On && !DropShotON) {set_val(ADS,100);}

  // Drop Shot
  if(event_press(SHOOT) && DropShotON){
        combo_stop(AutoSprint); 
        combo_run(DropShot);
  }
  if(DISABLE_WITH_SCOPE && get_val(ADS)) {combo_stop(DropShot);}

  // Jitter
  if(get_val(SHOOT) && JitterON) {combo_run(Jitter);}
    else if (combo_running(Jitter)) {combo_stop(Jitter);}

  // Rapid Fire without ADS Fire
  if(get_val(SHOOT) && RapidFireON && !ADS_Fire_On) {combo_run(RapidFire);}
    else if(combo_running(RapidFire)) {combo_stop(RapidFire);}

  // Rapid Fire with ADS Fire
  if(get_val(SHOOT) && RapidFireON && ADS_Fire_On) {combo_run(ADSRapidFire);}
    else if(combo_running(ADSRapidFire)) {combo_stop(ADSRapidFire);}

/* Personal Comment:  I found that I have better game performance without using this.  You can adjust your sensitivity for this.
 
// Faster movement while aiming with ADS
  if(get_val(ADS)){
     sensitivity(RX, NOT_USE, 100 + ADS_SPEED);
     sensitivity(RY, NOT_USE, 100 + ADS_SPEED);
  }                                                       
*/

  // Anti-recoil
  if(!ONLY_WITH_SCOPE || get_val(ADS)) {combo_run(AntiRecoil);}

  // Quick Scope -- CANNOT ADS (aka regular scope) while using Quick Scope -- for regular ADS you must toggle off QuickScopeON  -- see "Toggles" section at the top of this script
  if(QuickScopeON && event_press(ADS) ) {combo_run(QuickScope);}

  // Hold Breath
  if(HoldBreathON && get_val(ADS)) {combo_run(HoldBreath);}

  // AutoSprint -- Try different values (i.e. -90, -95); toggle ON/OFF
  if(get_val(LY) < -99 && AutoSprintON && !combo_running(AllowReloading)) { combo_run(AutoSprint); }
  else if((get_val(LY) > -99 && AutoSprintON)) {combo_stop(AutoSprint); } // Reload will also stop
//  if(event_press(RELOAD)) {combo_stop(AutoSprint); combo_run(AllowReloading);}  // Stop auto sprint to allow reloading (not needed for BO3)
  if(get_val(SHOOT)) {combo_stop(AutoSprint); combo_run(AllowShooting);}    // Stop auto sprint to allow shooting
 
} // End of MAIN

// COMBOS =============================================================================

combo AllowShooting {
    set_val(SPRINT_EXO, 0);
    wait(SHOOT_WAIT); // can adjust to ensure enough time for shooting
}

combo AllowReloading {
    set_val(SPRINT_EXO, 0);
    wait(RELOAD_WAIT); // can adjust to ensure enough time to reload
}

combo RapidFire {
    set_val(SHOOT, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
}

combo Jitter {
    set_val(RELOAD, 100);
    set_val(SWAP_WEAPONS, 100);
    set_val(SWAP_WEAPONS, 100);
    wait(HoldTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
    wait(RestTime2);
    set_val(RELOAD, 0);
    set_val(SWAP_WEAPONS, 0);
    set_val(SWAP_WEAPONS, 0);
}

combo ADSRapidFire {
    set_val(SHOOT, 100);
    set_val(ADS, 100);
    wait(HoldTime);
    set_val(SHOOT, 0);
    wait(RestTime);
    set_val(SHOOT, 0);
    set_val(ADS, 0);
}

combo DropShot {
   set_val(SPRINT_EXO,0);
   wait(15);
   set_val(CROUCH, 100);
   wait(50);              // 15 is no slide in public but slide in private.  50 is slide in public but no slide in private
   set_val(CROUCH, 100);
   wait(DROP_SHOT_WAIT); 
}

combo QuickScope {
    set_val(ADS, 100);
    wait(QUICK_SCOPE_WAIT)  //Increase this time for a longer ADS time.  Decrease this time for a shorter ADS time.
    set_val(ADS, 0);
    wait(10);
    set_val(SHOOT, 100);
    wait(20);
    set_val(SHOOT, 0);
    wait(60);
    set_val(SHOOT, 0);
}

combo HoldBreath {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100);
}

combo AutoSprint {
    set_val(SPRINT_EXO, 100);
    wait(10);
    set_val(SPRINT_EXO, 100)
}

combo AntiRecoil {                                           
// Look Inversion Enabled
    if(get_val(SHOOT) && AntiRecoilON && InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) - ANTI_RECOIL;            // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
// Normal Look Inversion - look inversion disabled
    if(get_val(SHOOT) && AntiRecoilON && !InversionON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
      anti_recoil = get_val(RY) + ANTI_RECOIL;             // ADD anti_recoil for normal
      if(anti_recoil > 100) anti_recoil = 100;
      set_val(RY, anti_recoil);
      anti_recoil_left = get_val(RX) - ANTI_RECOIL_LEFT;
      if(anti_recoil_left > 100) anti_recoil_left = 100;
      set_val(RX, anti_recoil_left);
      anti_recoil_right = get_val(RX) + ANTI_RECOIL_RIGHT;
      if(anti_recoil_right > 100) anti_recoil_right = 100;
      set_val(RX, anti_recoil_right);
    }
}

combo RumbleNotifier {
    // double rumble
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(50);
    set_rumble(RUMBLE_A, 100);
    wait(250);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo SingleNotifier {
    // single rumble
    set_rumble(RUMBLE_A, 100);
    wait(200);
    set_rumble(RUMBLE_A, 0);
    wait(20);
}

combo BlueLED {   
    // blue (default)
    set_led(LED_1, 1);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 0);
}   

combo GreenLED {
    // green
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo PinkLED {
    // pink
    set_led(LED_1, 0);
    set_led(LED_2, 0);
    set_led(LED_3, 0);
    set_led(LED_4, 1);
}

combo AmberLED {
    // amber (aka yellow)
    set_led(LED_1, 0);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 0);
}

combo WhiteLED {
    // white
    set_led(LED_1, 1);
    set_led(LED_2, 1);
    set_led(LED_3, 1);
    set_led(LED_4, 1);
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Black Ops 3 (BO3) version 1.8

Postby usa98j30t4 » Fri Nov 13, 2015 5:10 pm

As always Wildcat, thank you very much for all of your time and effort in getting these scripts out :joia:
User avatar
usa98j30t4
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 230
Joined: Sat Nov 22, 2014 6:32 am

Re: COD Black Ops 3 (BO3) version 1.7

Postby Bleak5170 » Fri Nov 13, 2015 5:55 pm

UK_Wildcats_Fans wrote:
Bleak5170 wrote:Has anyone messed around with the rapid fire in Black Ops 3? I'm using it now with the 205 Brecci and it still seems to fire pretty slowly. Nothing like the Striker or Bulldog from past games. I don't know how to adjust it or if that would even do anything. I know guns will lock up very easily in Treyarch games if you spam the trigger with semi-autos so you have to be careful.


Yes, I have been playing around with rapid fire. The results seem to vary based upon each weapon coding within the game.

It seems that BO3 has added more functionality with burst and semi-automatic weapons. For example, you can fire some of the weapons over and over by holding the FIRE button. This is part of the game coding for everyone. As part of this implementation, I believe that they have coded more controls and delays.

Here is an example, if you use the rapid fire mod on the XR-2 it does not seem to make a difference than normally just holding the trigger. If you use the rapid fire mod on the MR6 pistol, it fires very close to an automatic weapon. The only difference is the game coding.


Yeah I noticed that with the XR-2. I also noticed that adding the Rapid Fire attachment will not make you fire any faster if you're using the Titan One, so forget about putting it on the Sheiva or other semi-autos.
User avatar
Bleak5170
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 278
Joined: Fri Aug 28, 2015 10:04 pm

PreviousNext

Return to GPC1 Script Programming

Who is online

Users browsing this forum: No registered users and 61 guests