COD Infinite Warfare (IW) Rev 1.02

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

COD Infinite Warfare (IW) Rev 1.02

Postby UK_Wildcats » Sat Nov 26, 2016 3:53 pm

I know that this topic is very long, but it contains great information. Many issues have already been discussed in this topics. It also includes update information, helpful hints and already alternated scripts for various button layouts. PLEASE READ THE ENTIRE TOPIC BEFORE POSTING!!!

http://www.consoletuner.com/gpclib/?s=1347

=============================================================================
CHANGELOG:
Version 1.00: Initial script from my COD BO3 v2.1a script used as basis.
Version 1.01: Updated jitter
Version 1.02: Updated jitter after IW 1.08 Patch
=============================================================================
ADS = Aim Down Sights and refers to the button to aim

Think of this script as a big control panel and each mod is a separate switch on the control panel that can be turned on/off. Therefore, the mods can be turned on/off independent of the other mods. For example, press ADS + LEFT will turn on Rapid Fire. Press ADS + LEFT again and it will turn off rapid fire.

TOGGLES: (You MUST press the ADS or CROUCH button first before pressing the DPAD)

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 TOGGLE between no Jitter, "JITTER" and "PUMP JITTER"
Press DOWN on the D PAD to activate/deactivate "DROP SHOT"

Special: You can enable Rapid Fire another way by using (ADS + SPRINT). This works if you are using auto sprint. It will cause problems if are using regular sprint. You must enable it to work by making ExtraRapid = TRUE. You can set it to FALSE if you don't want that option.

Press CROUCH button in addition with any of the below. Using CROUCH 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 "HOLD BREATH"
Press RIGHT on the D PAD to activate/deactivate "AUTO ADS (aka Akimbo Fire)"
Press UP on the D PAD to activate/deactivate "QUICK SCOPE"
Press DOWN on the D PAD to TOGGLE between "DISABLED, "VERTICAL RECOIL COMP #1", "VERTICAL RECOIL COMP #2"
=============================================================================
GAMEPLAY COMMENTS

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

Auto ADS (aka Akimbo Fire):
The mod will automatically press the ADS button whenever the SHOOT button is pressed. If you are running Akimbo weapons, it will fire both weapons at the same time. You can also run this in conjunction with Rapid Fire for Rapid Fire Akimbo mode - you just need to separately enable Auto ADS along with Rapid Fire.

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.

Recoil Compensation (akaAnti-Recoil):
There is no one right value. See this thread for more information. viewtopic.php?f=17&t=1155. For this script, I have changed to a linear recoil compensation that I hope will work out better especially with shooting people while in the air and people who are in the air.

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.

JITTER: Toggle between jitters 0=disabled 1=Banshee, 2=DCM 8 & Reaver, 3=Rack 9 & Savage
Infinity Ward tried to fix the jitter with the 1.08 patch. The new jitter mod requires DEXTERITY and TACTICAL (i.e Trophy System). Thanks to all those on the topic that participated.
http://www.consoletuner.com/forum/viewtopic.php?f=6&t=5175

=============================================================================
IN GAME BUTTON LAYOUTS:
This script was based upon the TACTICAL FLIPPED button configuration. If you do not play in this configuration, I have made variations of the most popular layouts in the posts below..

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


Option 2: You can play in the normal DEFAULT button layout 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
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 can play in the DEFAULT FLIPPED button layout by making these changes
Code: Select all
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


I am old school gamer and use look inversion. For all those that don't use look inversion, you must change the line of code below from TRUE to FALSE within the script for anti-recoil to work properly.

Code: Select all
int InversionON                  = TRUE// Set this to TRUE if you are using look inversion enabled in the game setting.  Most people are NOT using look inversion


I try to put them to FALSE when I publish the scripts, but I often forget.

To manually start the authentication, you enable the option by making ManualAuthenticate = TRUE. With this enabled, you can press UP on the DPAD + JUMP to start the process.
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.01

Postby UK_Wildcats » Sat Nov 26, 2016 3:53 pm

TACTICAL FLIPPED

This is the default on in the GPC library. Adding it here due to error publishing scripts right now

Code: Select all
/*
GPC Online Library
COD Infinite Warfare Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Infinite Warfare (IW)
System:        PlayStation 4 (PS4)
Controller:    DualShock 4 (DS4)
 
NOTE:   This script should work for Xbox (360 or One) and PS3 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:    viewtopic.php?t=2557
=============================================================================               
COPYRIGHT:
2016 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.00: Initial script from my COD BO3 script
Version 1.01: Update Jitter to include 4 jitter modes (0=Disabled, 1=Banshee, 2=DCM 8/Reaver, 3=Rack-9/Savage)
 
=============================================================================
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"    *** See the Special below ***
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to TOGGLE between no Jitter, "JITTER" and "Pump Jitter"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   
 
Special:  You can enable Rapid Fire another way by using (ADS + SPRINT).  This works if you are using auto sprint.  It will cause problems if are using regular sprint.
You must enable it to work by making ExtraRapid = TRUE.  You can set it to FALSE if you don't want that option.
 
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
 
 
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.  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.
 
Jitter:
This is a work in progress and may not work for everyone.  As new jitter combos are made, I'll add them
=============================================================================
 
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_ ... ==&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 TACTICAL                  = 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 TACTICAL                  = 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
 
To manually start the authenication, you enable the option by making ManualAuthenticate = TRUE.  With this enabled, you can press UP on the DPAD + JUMP to start the process.
 
=============================================================================
 
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 TACTICAL                  = 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_R3;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
define MELEE                     = PS4_CIRCLE;      // "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               = 25;   // 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)
define MULTIPLE_NOTIFIER         = TRUE; // Rumbles multiply times to indicate the rapid fire preset
define LongJumpON                = TRUE; // Turns on Long Jump MOD.  Set to FALSE to turn this off this mod
define LongJumpTiming            = 125;
define VIBRATION_ON              = TRUE;
define ANTI_RECOIL_VERTICAL1     = 20;
define ANTI_RECOIL_VERTICAL2     = 40;
 
 
data(1,
  2,0,0,0, //1 Blue
  0,2,0,0, //2 Red
  0,0,2,0, //3 Green
  0,0,0,2, //4 Pink
  2,0,2,0, //5 Cyan
  0,2,2,0, //6 Amber/Yellow
  2,2,2,2  //7 White
);
 
 
// 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// Turned on by default but can be turned off with the Toggles.  Change to FALSE if you want it off by default
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 JitterMode                   = 0;     // 0 = disabled, 1 = normal jitter, 2 = pump jitter
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;
int ExtraRapid                   = FALSE; // This turns on/off the ability to toggle rapid fire with ADS + SPRINT
int ManualAuthenticate           = FALSE;
int Counter;
int LinearComp;
int ANTI_RECOIL_VERTICAL, anti_recoil_vertical;
int RecoilMode;
int JitterWait1               = 10;
int JitterWait2               = 20;
int JitterWait3               = 120;
int AltJitter                 = TRUE// Regular jitter requires dexterity and tacital (not personal radar).  Alt Jitter does not require them
 
// 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 ColorNumber;
 
// 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);}
 
// TOGGLES =============================================================================
 
    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    if(event_press(SPRINT_EXO) && get_val(ADS)&& ExtraRapid) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    // 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;
       Counter = 1;
       if(Counter <= RapidFireCounter) {
            combo_run(SingleNotifier);
            Counter = Counter +1;
       }     
       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;
            ColorLED(6); // amber/yellow
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {ColorLED(1);}   
      }
 
 
    if(event_press(UP) && get_val(ADS)) {  // Toggle between jitters 0=disabled 1=banshee, 2=DCM 8 / Reaver, 3=Rack 9 / Savage
    // 40, 20, 200  // Jitter Speeds (Banshee)
    // 40, 20, 20   // Jitter Speeds (DCM-8 / Reaver)
    // 40, 20, 120  // Jitter Speeds (Rack-9 / S-Ravage)
        JitterMode = JitterMode + 1;
        if(JitterMode > 3){JitterMode = 0;}
        if(JitterMode==0) {ColorLED(1);}   
        if(AltJitter) {JitterWait1 = 40;}
            else if (!AltJitter) {JitterWait1 = 0;}
        // Banshee
        if(JitterMode == 1) {
            JitterWait2 = 20;
            JitterWait3 = 200;
            RapidFireON = FALSE;
            ColorLED(3); // green
            combo_run(RumbleNotifier);
        }
        // DCM-8 / Reaver
        if(JitterMode == 2) {
            JitterWait2 = 20;
            JitterWait3 = 20;
            RapidFireON = FALSE;
            ColorLED(6); // amber/yellow
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
        // Rack-9 / Savage
        if(JitterMode == 3) {
            JitterWait2 = 20;
            JitterWait3 = 120;
            RapidFireON = FALSE;
            ColorLED(5); // Cyan
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
 
      }
 
 
    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)) { // Toggles between Disabled, Vertical 1 and Vertical 2
        RecoilMode = RecoilMode + 1;
        if(RecoilMode > 2) {RecoilMode = 0;}
        if(RecoilMode == 0 ) {AntiRecoilON = FALSE; ColorLED(1);}
        if(RecoilMode == 1) {
            AntiRecoilON = TRUE;
            ColorLED(4); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }
        if(RecoilMode == 2) {
            AntiRecoilON = TRUE;
            ColorLED(6); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }        
    }
 
    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;
            ColorLED(7); // white
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {ColorLED(1);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            ColorLED(7); // white
//            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {ColorLED(1);}   
    }
 
// END TOGGLES =============================================================================
 
  if(get_val(UP) && get_val(JUMP) && ManualAuthenticate) {output_reconnection();}
 
  // 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);}
 
  // Normal Jitter
  if(get_val(SHOOT) && JitterMode>=1) {combo_run(Jitter);}
//    else if (combo_running(Jitter)) {combo_stop(Jitter);}
 
  // Pump Jitter
//  if(get_val(SHOOT) && JitterMode==2) {combo_run(PumpJitter);}
//    else if (combo_running(PumpJitter)) {combo_stop(PumpJitter);}
 
  // 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
 
  // Long Jump
  if(get_val(JUMP) && LongJumpON) {combo_run(LongJump);}
    else if(combo_running(LongJump)) {combo_stop(LongJump);}
 
 
} // 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);
}
 
// normal jitter for burst and semi-automatics
combo Jitter {
    if(AltJitter) {set_val(LEFT, 100);}
    wait(JitterWait1);
    //set_val(GRENADE, 100);
    set_val(TACTICAL, 100);
    wait(JitterWait2);
    set_val(TACTICAL, 100);
    set_val(GRENADE, 100);
    set_val(RELOAD, 100);
//    set_val(GRENADE, 100);
    wait(JitterWait3);
}
 
 
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 LongJump {     
   set_val(JUMP,100);//1 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);     
   set_val(JUMP,100);//2 
   wait(LongJumpTiming);         
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
/*
 set_val(JUMP,100);//3 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
   set_val(JUMP,100);//4 
   wait(LongJumpTiming);                   
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                   
   set_val(JUMP,100);//5 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
*/

}   
 
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 {                                           
    if(get_val(SHOOT) && AntiRecoilON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
        if(get_val(RY) >= 0) {
            LinearComp = ((100 - get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        } else {
            LinearComp = ((100 + get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        }
        if(InversionON) { // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
            anti_recoil_vertical = get_val(RY) - LinearComp;
        } else { // ADD anti_recoil when LOOK INVERSION is DISABLED
            anti_recoil_vertical = get_val(RY) + LinearComp;
        }
        if(anti_recoil_vertical > 100) {
            anti_recoil_vertical = 100;
        } else if(anti_recoil_vertical < -100) {
            anti_recoil_vertical = -100;
        }
        set_val(RY, anti_recoil_vertical);
    }
}
 
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);
}
 
// COLOR LED LIGHTBAR FOR PS4
//--------------------------------------------------------------
function ColorLED(Color) {
ColorNumber=(Color*4)-3;
set_led(LED_1,dbyte(ColorNumber));
set_led(LED_2,dbyte(ColorNumber+1));
set_led(LED_3,dbyte(ColorNumber+2));
set_led(LED_4,dbyte(ColorNumber+3));
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.02

Postby UK_Wildcats » Sat Nov 26, 2016 3:54 pm

TACTICAL (not flipped)

Code: Select all
/*
GPC Online Library
COD Infinite Warfare Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Infinite Warfare (IW)
System:        PlayStation 4 (PS4)
Controller:    DualShock 4 (DS4)
 
NOTE:   This script should work for Xbox (360 or One) and PS3 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:    viewtopic.php?t=2557
=============================================================================               
COPYRIGHT:
2016 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.00: Initial script from my COD BO3 script
Version 1.01: Update Jitter to include 4 jitter modes (0=Disabled, 1=Banshee, 2=DCM 8/Reaver, 3=Rack-9/Savage)
 
=============================================================================
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"    *** See the Special below ***
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to TOGGLE between no Jitter, "JITTER" and "Pump Jitter"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   
 
Special:  You can enable Rapid Fire another way by using (ADS + SPRINT).  This works if you are using auto sprint.  It will cause problems if are using regular sprint.
You must enable it to work by making ExtraRapid = TRUE.  You can set it to FALSE if you don't want that option.
 
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
 
 
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.  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.
 
Jitter:
This is a work in progress and may not work for everyone.  As new jitter combos are made, I'll add them
=============================================================================
 
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_ ... ==&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 TACTICAL                  = 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 TACTICAL                  = 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
 
To manually start the authenication, you enable the option by making ManualAuthenticate = TRUE.  With this enabled, you can press UP on the DPAD + JUMP to start the process.
 
=============================================================================
 
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 TACTICAL                  = 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_R3;          // "Default" button layout is PS4_CIRCLE. "Tactical" button layout is PS4_R3.
define MELEE                     = PS4_CIRCLE;      // "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               = 25;   // 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)
define MULTIPLE_NOTIFIER         = TRUE; // Rumbles multiply times to indicate the rapid fire preset
define LongJumpON                = TRUE; // Turns on Long Jump MOD.  Set to FALSE to turn this off this mod
define LongJumpTiming            = 125;
define VIBRATION_ON              = TRUE;
define ANTI_RECOIL_VERTICAL1     = 20;
define ANTI_RECOIL_VERTICAL2     = 40;
 
 
data(1,
  2,0,0,0, //1 Blue
  0,2,0,0, //2 Red
  0,0,2,0, //3 Green
  0,0,0,2, //4 Pink
  2,0,2,0, //5 Cyan
  0,2,2,0, //6 Amber/Yellow
  2,2,2,2  //7 White
);
 
 
// 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                   = FALSE// Turned on by default but can be turned off with the Toggles.  Change to FALSE if you want it off by default
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 JitterMode                   = 0;     // 0 = disabled, 1 = normal jitter, 2 = pump jitter
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;
int ExtraRapid                   = FALSE; // This turns on/off the ability to toggle rapid fire with ADS + SPRINT
int ManualAuthenticate           = FALSE;
int Counter;
int LinearComp;
int ANTI_RECOIL_VERTICAL, anti_recoil_vertical;
int RecoilMode;
int JitterWait1               = 45;
int JitterWait2               = 20;
int JitterWait3               = 200;
int AltJitter                 = FALSE// Regular jitter requires dexterity and tacital (not personal radar).  Alt Jitter does not require them
 
// 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 ColorNumber;
 
// 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);}
 
// TOGGLES =============================================================================
 
    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    if(event_press(SPRINT_EXO) && get_val(ADS)&& ExtraRapid) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    // 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;
       Counter = 1;
       if(Counter <= RapidFireCounter) {
            combo_run(SingleNotifier);
            Counter = Counter +1;
       }     
       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;
            ColorLED(6); // amber/yellow
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {ColorLED(1);}   
      }
 
 
    if(event_press(UP) && get_val(ADS)) {  // Toggle between jitters 0=disabled 1=banshee, 2=DCM 8 / Reaver, 3=Rack 9 / Savage
    // 40, 20, 200  // Jitter Speeds (Banshee)
    // 40, 20, 20   // Jitter Speeds (DCM-8 / Reaver)
    // 40, 20, 120  // Jitter Speeds (Rack-9 / S-Ravage)
        JitterMode = JitterMode + 1;
        if(JitterMode > 3){JitterMode = 0;}
        if(JitterMode==0) {ColorLED(1);}   
 
        // Banshee
        if(JitterMode == 1) {
            JitterWait3 = 200;
            RapidFireON = FALSE;
            ColorLED(3); // green
            combo_run(RumbleNotifier);
        }
        // DCM-8 / Reaver
        if(JitterMode == 2) {
            JitterWait3 = 20;
            RapidFireON = FALSE;
            ColorLED(6); // amber/yellow
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
        // Rack-9 / Savage
        if(JitterMode == 3) {
            JitterWait3 = 120;
            RapidFireON = FALSE;
            ColorLED(5); // Cyan
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
 
      }
 
 
    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)) { // Toggles between Disabled, Vertical 1 and Vertical 2
        RecoilMode = RecoilMode + 1;
        if(RecoilMode > 2) {RecoilMode = 0;}
        if(RecoilMode == 0 ) {AntiRecoilON = FALSE; ColorLED(1);}
        if(RecoilMode == 1) {
            AntiRecoilON = TRUE;
            ColorLED(4); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }
        if(RecoilMode == 2) {
            AntiRecoilON = TRUE;
            ColorLED(6); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }         
    }
 
    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;
            ColorLED(7); // white
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {ColorLED(1);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            ColorLED(7); // white
//            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {ColorLED(1);}   
    }
 
// END TOGGLES =============================================================================
 
  if(get_val(UP) && get_val(JUMP) && ManualAuthenticate) {output_reconnection();}
 
  // 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);}
 
  // Normal Jitter
  if(get_val(SHOOT) && JitterMode>=1) {combo_run(Jitter);}
//    else if (combo_running(Jitter)) {combo_stop(Jitter);}
 
  // Pump Jitter
//  if(get_val(SHOOT) && JitterMode==2) {combo_run(PumpJitter);}
//    else if (combo_running(PumpJitter)) {combo_stop(PumpJitter);}
 
  // 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
 
  // Long Jump
  if(get_val(JUMP) && LongJumpON) {combo_run(LongJump);}
    else if(combo_running(LongJump)) {combo_stop(LongJump);}
 
 
} // 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);
}
 
// normal jitter for burst and semi-automatics
combo Jitter {
    set_val(SWAP_WEAPONS, 100);
    wait(JitterWait1);
    set_val(TACTICAL, 100);
    wait(JitterWait2);
    set_val(TACTICAL, 100);
    set_val(GRENADE, 100);
    set_val(RELOAD, 100);
    wait(JitterWait3);
}
 
 
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 LongJump {     
   set_val(JUMP,100);//1 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);     
   set_val(JUMP,100);//2 
   wait(LongJumpTiming);         
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
/*
 set_val(JUMP,100);//3 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
   set_val(JUMP,100);//4 
   wait(LongJumpTiming);                   
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                   
   set_val(JUMP,100);//5 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
*/

}   
 
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 {                                           
    if(get_val(SHOOT) && AntiRecoilON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
        if(get_val(RY) >= 0) {
            LinearComp = ((100 - get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        } else {
            LinearComp = ((100 + get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        }
        if(InversionON) { // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
            anti_recoil_vertical = get_val(RY) - LinearComp;
        } else { // ADD anti_recoil when LOOK INVERSION is DISABLED
            anti_recoil_vertical = get_val(RY) + LinearComp;
        }
        if(anti_recoil_vertical > 100) {
            anti_recoil_vertical = 100;
        } else if(anti_recoil_vertical < -100) {
            anti_recoil_vertical = -100;
        }
        set_val(RY, anti_recoil_vertical);
    }
}
 
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);
}
 
// COLOR LED LIGHTBAR FOR PS4
//--------------------------------------------------------------
function ColorLED(Color) {
ColorNumber=(Color*4)-3;
set_led(LED_1,dbyte(ColorNumber));
set_led(LED_2,dbyte(ColorNumber+1));
set_led(LED_3,dbyte(ColorNumber+2));
set_led(LED_4,dbyte(ColorNumber+3));
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.02

Postby UK_Wildcats » Sat Nov 26, 2016 3:54 pm

DEFAULT (not flipped)

Code: Select all
/*
GPC Online Library
COD Infinite Warfare Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Infinite Warfare (IW)
System:        PlayStation 4 (PS4)
Controller:    DualShock 4 (DS4)
 
NOTE:   This script should work for Xbox (360 or One) and PS3 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:    viewtopic.php?t=2557
=============================================================================               
COPYRIGHT:
2016 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.00: Initial script from my COD BO3 script
Version 1.01: Update Jitter to include 4 jitter modes (0=Disabled, 1=Banshee, 2=DCM 8/Reaver, 3=Rack-9/Savage)
 
=============================================================================
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"    *** See the Special below ***
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to TOGGLE between no Jitter, "JITTER" and "Pump Jitter"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   
 
Special:  You can enable Rapid Fire another way by using (ADS + SPRINT).  This works if you are using auto sprint.  It will cause problems if are using regular sprint.
You must enable it to work by making ExtraRapid = TRUE.  You can set it to FALSE if you don't want that option.
 
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
 
 
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.  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.
 
Jitter:
This is a work in progress and may not work for everyone.  As new jitter combos are made, I'll add them
=============================================================================
 
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_ ... ==&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 TACTICAL                  = 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 TACTICAL                  = 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
 
To manually start the authenication, you enable the option by making ManualAuthenticate = TRUE.  With this enabled, you can press UP on the DPAD + JUMP to start the process.
 
=============================================================================
 
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 TACTICAL                  = 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               = 25;   // 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)
define MULTIPLE_NOTIFIER         = TRUE; // Rumbles multiply times to indicate the rapid fire preset
define LongJumpON                = TRUE; // Turns on Long Jump MOD.  Set to FALSE to turn this off this mod
define LongJumpTiming            = 125;
define VIBRATION_ON              = TRUE;
define ANTI_RECOIL_VERTICAL1     = 20;
define ANTI_RECOIL_VERTICAL2     = 40;
 
 
data(1,
  2,0,0,0, //1 Blue
  0,2,0,0, //2 Red
  0,0,2,0, //3 Green
  0,0,0,2, //4 Pink
  2,0,2,0, //5 Cyan
  0,2,2,0, //6 Amber/Yellow
  2,2,2,2  //7 White
);
 
 
// 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                   = FALSE// Turned on by default but can be turned off with the Toggles.  Change to FALSE if you want it off by default
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 JitterMode                   = 0;     // 0 = disabled, 1 = normal jitter, 2 = pump jitter
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;
int ExtraRapid                   = FALSE; // This turns on/off the ability to toggle rapid fire with ADS + SPRINT
int ManualAuthenticate           = FALSE;
int Counter;
int LinearComp;
int ANTI_RECOIL_VERTICAL, anti_recoil_vertical;
int RecoilMode;
int JitterWait1               = 45;
int JitterWait2               = 20;
int JitterWait3               = 200;
int AltJitter                 = FALSE// Regular jitter requires dexterity and tacital (not personal radar).  Alt Jitter does not require them
 
// 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 ColorNumber;
 
// 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);}
 
// TOGGLES =============================================================================
 
    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    if(event_press(SPRINT_EXO) && get_val(ADS)&& ExtraRapid) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    // 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;
       Counter = 1;
       if(Counter <= RapidFireCounter) {
            combo_run(SingleNotifier);
            Counter = Counter +1;
       }     
       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;
            ColorLED(6); // amber/yellow
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {ColorLED(1);}   
      }
 
 
    if(event_press(UP) && get_val(ADS)) {  // Toggle between jitters 0=disabled 1=banshee, 2=DCM 8 / Reaver, 3=Rack 9 / Savage
    // 40, 20, 200  // Jitter Speeds (Banshee)
    // 40, 20, 20   // Jitter Speeds (DCM-8 / Reaver)
    // 40, 20, 120  // Jitter Speeds (Rack-9 / S-Ravage)
        JitterMode = JitterMode + 1;
        if(JitterMode > 3){JitterMode = 0;}
        if(JitterMode==0) {ColorLED(1);}   
 
        // Banshee
        if(JitterMode == 1) {
            JitterWait3 = 200;
            RapidFireON = FALSE;
            ColorLED(3); // green
            combo_run(RumbleNotifier);
        }
        // DCM-8 / Reaver
        if(JitterMode == 2) {
            JitterWait3 = 20;
            RapidFireON = FALSE;
            ColorLED(6); // amber/yellow
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
        // Rack-9 / Savage
        if(JitterMode == 3) {
            JitterWait3 = 120;
            RapidFireON = FALSE;
            ColorLED(5); // Cyan
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
 
      }
 
 
    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)) { // Toggles between Disabled, Vertical 1 and Vertical 2
        RecoilMode = RecoilMode + 1;
        if(RecoilMode > 2) {RecoilMode = 0;}
        if(RecoilMode == 0 ) {AntiRecoilON = FALSE; ColorLED(1);}
        if(RecoilMode == 1) {
            AntiRecoilON = TRUE;
            ColorLED(4); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }
        if(RecoilMode == 2) {
            AntiRecoilON = TRUE;
            ColorLED(6); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }         
    }
 
    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;
            ColorLED(7); // white
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {ColorLED(1);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            ColorLED(7); // white
//            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {ColorLED(1);}   
    }
 
// END TOGGLES =============================================================================
 
  if(get_val(UP) && get_val(JUMP) && ManualAuthenticate) {output_reconnection();}
 
  // 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);}
 
  // Normal Jitter
  if(get_val(SHOOT) && JitterMode>=1) {combo_run(Jitter);}
//    else if (combo_running(Jitter)) {combo_stop(Jitter);}
 
  // Pump Jitter
//  if(get_val(SHOOT) && JitterMode==2) {combo_run(PumpJitter);}
//    else if (combo_running(PumpJitter)) {combo_stop(PumpJitter);}
 
  // 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
 
  // Long Jump
  if(get_val(JUMP) && LongJumpON) {combo_run(LongJump);}
    else if(combo_running(LongJump)) {combo_stop(LongJump);}
 
 
} // 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);
}
 
// normal jitter for burst and semi-automatics
combo Jitter {
    set_val(SWAP_WEAPONS, 100);
    wait(JitterWait1);
    set_val(TACTICAL, 100);
    wait(JitterWait2);
    set_val(TACTICAL, 100);
    set_val(GRENADE, 100);
    set_val(RELOAD, 100);
    wait(JitterWait3);
}
 
 
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 LongJump {     
   set_val(JUMP,100);//1 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);     
   set_val(JUMP,100);//2 
   wait(LongJumpTiming);         
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
/*
 set_val(JUMP,100);//3 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
   set_val(JUMP,100);//4 
   wait(LongJumpTiming);                   
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                   
   set_val(JUMP,100);//5 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
*/

}   
 
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 {                                           
    if(get_val(SHOOT) && AntiRecoilON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
        if(get_val(RY) >= 0) {
            LinearComp = ((100 - get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        } else {
            LinearComp = ((100 + get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        }
        if(InversionON) { // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
            anti_recoil_vertical = get_val(RY) - LinearComp;
        } else { // ADD anti_recoil when LOOK INVERSION is DISABLED
            anti_recoil_vertical = get_val(RY) + LinearComp;
        }
        if(anti_recoil_vertical > 100) {
            anti_recoil_vertical = 100;
        } else if(anti_recoil_vertical < -100) {
            anti_recoil_vertical = -100;
        }
        set_val(RY, anti_recoil_vertical);
    }
}
 
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);
}
 
// COLOR LED LIGHTBAR FOR PS4
//--------------------------------------------------------------
function ColorLED(Color) {
ColorNumber=(Color*4)-3;
set_led(LED_1,dbyte(ColorNumber));
set_led(LED_2,dbyte(ColorNumber+1));
set_led(LED_3,dbyte(ColorNumber+2));
set_led(LED_4,dbyte(ColorNumber+3));
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.02

Postby UK_Wildcats » Sat Nov 26, 2016 4:07 pm

DEFAULT FLIPPPED

Code: Select all
/*
GPC Online Library
COD Infinite Warfare Script
=============================================================================
Device:        Titan One
Author:        Terry (aka UK_Wildcats_Fans)
Game:          Call of Duty Infinite Warfare (IW)
System:        PlayStation 4 (PS4)
Controller:    DualShock 4 (DS4)
 
NOTE:   This script should work for Xbox (360 or One) and PS3 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:    viewtopic.php?t=2557
=============================================================================               
COPYRIGHT:
2016 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.00: Initial script from my COD BO3 script
Version 1.01: Update Jitter to include 4 jitter modes (0=Disabled, 1=Banshee, 2=DCM 8/Reaver, 3=Rack-9/Savage)
 
=============================================================================
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"    *** See the Special below ***
Press RIGHT on the D PAD to activate/deactivate "RAPID FIRE CYCLING"   
Press UP    on the D PAD to TOGGLE between no Jitter, "JITTER" and "Pump Jitter"       
Press DOWN  on the D PAD to activate/deactivate "DROP SHOT"   
 
Special:  You can enable Rapid Fire another way by using (ADS + SPRINT).  This works if you are using auto sprint.  It will cause problems if are using regular sprint.
You must enable it to work by making ExtraRapid = TRUE.  You can set it to FALSE if you don't want that option.
 
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
 
 
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.  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.
 
Jitter:
This is a work in progress and may not work for everyone.  As new jitter combos are made, I'll add them
=============================================================================
 
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_ ... ==&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 TACTICAL                  = 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 TACTICAL                  = 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
 
To manually start the authenication, you enable the option by making ManualAuthenticate = TRUE.  With this enabled, you can press UP on the DPAD + JUMP to start the process.
 
=============================================================================
 
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 TACTICAL                  = 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               = 25;   // 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)
define MULTIPLE_NOTIFIER         = TRUE; // Rumbles multiply times to indicate the rapid fire preset
define LongJumpON                = TRUE; // Turns on Long Jump MOD.  Set to FALSE to turn this off this mod
define LongJumpTiming            = 125;
define VIBRATION_ON              = TRUE;
define ANTI_RECOIL_VERTICAL1     = 20;
define ANTI_RECOIL_VERTICAL2     = 40;
 
 
data(1,
  2,0,0,0, //1 Blue
  0,2,0,0, //2 Red
  0,0,2,0, //3 Green
  0,0,0,2, //4 Pink
  2,0,2,0, //5 Cyan
  0,2,2,0, //6 Amber/Yellow
  2,2,2,2  //7 White
);
 
 
// 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                   = FALSE// Turned on by default but can be turned off with the Toggles.  Change to FALSE if you want it off by default
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 JitterMode                   = 0;     // 0 = disabled, 1 = normal jitter, 2 = pump jitter
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;
int ExtraRapid                   = FALSE; // This turns on/off the ability to toggle rapid fire with ADS + SPRINT
int ManualAuthenticate           = FALSE;
int Counter;
int LinearComp;
int ANTI_RECOIL_VERTICAL, anti_recoil_vertical;
int RecoilMode;
int JitterWait1               = 45;
int JitterWait2               = 20;
int JitterWait3               = 200;
int AltJitter                 = FALSE// Regular jitter requires dexterity and tacital (not personal radar).  Alt Jitter does not require them
 
// 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 ColorNumber;
 
// 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);}
 
// TOGGLES =============================================================================
 
    if(event_press(LEFT) && get_val(ADS)) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    if(event_press(SPRINT_EXO) && get_val(ADS)&& ExtraRapid) {  // Turn ON and OFF Rapid Fire
        RapidFireON = !RapidFireON;
        if(RapidFireON) {
             JitterMode = 0;
             ColorLED(3); // green
             combo_run(RumbleNotifier);
             AkimboSingleON = FALSE// Turn OFF Akimbo modes
             AkimboRapidON = FALSE;   // Turn OFF Akimbo modes
             QuickScopeON = FALSE;    // Turn OFF QuickScope
        }
        if(!RapidFireON) {ColorLED(1); combo_run(SingleNotifier);}
    }
 
    // 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;
       Counter = 1;
       if(Counter <= RapidFireCounter) {
            combo_run(SingleNotifier);
            Counter = Counter +1;
       }     
       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;
            ColorLED(6); // amber/yellow
            combo_run(RumbleNotifier);
        }
        if(!DropShotON) {ColorLED(1);}   
      }
 
 
    if(event_press(UP) && get_val(ADS)) {  // Toggle between jitters 0=disabled 1=banshee, 2=DCM 8 / Reaver, 3=Rack 9 / Savage
    // 40, 20, 200  // Jitter Speeds (Banshee)
    // 40, 20, 20   // Jitter Speeds (DCM-8 / Reaver)
    // 40, 20, 120  // Jitter Speeds (Rack-9 / S-Ravage)
        JitterMode = JitterMode + 1;
        if(JitterMode > 3){JitterMode = 0;}
        if(JitterMode==0) {ColorLED(1);}   
 
        // Banshee
        if(JitterMode == 1) {
            JitterWait3 = 200;
            RapidFireON = FALSE;
            ColorLED(3); // green
            combo_run(RumbleNotifier);
        }
        // DCM-8 / Reaver
        if(JitterMode == 2) {
            JitterWait3 = 20;
            RapidFireON = FALSE;
            ColorLED(6); // amber/yellow
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
        // Rack-9 / Savage
        if(JitterMode == 3) {
            JitterWait3 = 120;
            RapidFireON = FALSE;
            ColorLED(5); // Cyan
            combo_run(SingleNotifier);
            combo_run(RumbleNotifier);
        }
 
      }
 
 
    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)) { // Toggles between Disabled, Vertical 1 and Vertical 2
        RecoilMode = RecoilMode + 1;
        if(RecoilMode > 2) {RecoilMode = 0;}
        if(RecoilMode == 0 ) {AntiRecoilON = FALSE; ColorLED(1);}
        if(RecoilMode == 1) {
            AntiRecoilON = TRUE;
            ColorLED(4); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }
        if(RecoilMode == 2) {
            AntiRecoilON = TRUE;
            ColorLED(6); // pink
            if(VIBRATION_ON) combo_run(RumbleNotifier);
            ANTI_RECOIL_VERTICAL = ANTI_RECOIL_VERTICAL1;
        }         
    }
 
    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;
            ColorLED(7); // white
            combo_run(RumbleNotifier);
        }
        if(!ADS_Fire_On) {ColorLED(1);}   
    }
    if(event_press(LEFT) && get_val(CROUCH)) { // Turns ON and OFF auto hold breath
        HoldBreathON = !HoldBreathON;
        if(HoldBreathON) {
            ColorLED(7); // white
//            combo_run(WhiteLED);
            combo_run(RumbleNotifier);
        }
        if(!HoldBreathON) {ColorLED(1);}   
    }
 
// END TOGGLES =============================================================================
 
  if(get_val(UP) && get_val(JUMP) && ManualAuthenticate) {output_reconnection();}
 
  // 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);}
 
  // Normal Jitter
  if(get_val(SHOOT) && JitterMode>=1) {combo_run(Jitter);}
//    else if (combo_running(Jitter)) {combo_stop(Jitter);}
 
  // Pump Jitter
//  if(get_val(SHOOT) && JitterMode==2) {combo_run(PumpJitter);}
//    else if (combo_running(PumpJitter)) {combo_stop(PumpJitter);}
 
  // 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
 
  // Long Jump
  if(get_val(JUMP) && LongJumpON) {combo_run(LongJump);}
    else if(combo_running(LongJump)) {combo_stop(LongJump);}
 
 
} // 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);
}
 
// normal jitter for burst and semi-automatics
combo Jitter {
    set_val(SWAP_WEAPONS, 100);
    wait(JitterWait1);
    set_val(TACTICAL, 100);
    wait(JitterWait2);
    set_val(TACTICAL, 100);
    set_val(GRENADE, 100);
    set_val(RELOAD, 100);
    wait(JitterWait3);
}
 
 
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 LongJump {     
   set_val(JUMP,100);//1 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);     
   set_val(JUMP,100);//2 
   wait(LongJumpTiming);         
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
/*
 set_val(JUMP,100);//3 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
   set_val(JUMP,100);//4 
   wait(LongJumpTiming);                   
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                   
   set_val(JUMP,100);//5 
   wait(LongJumpTiming);                 
   set_val(JUMP,  0);     
   wait(LongJumpTiming);                 
*/

}   
 
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 {                                           
    if(get_val(SHOOT) && AntiRecoilON) { // Using AntiRecoilON toggle for testing and when using multiple weapons
        if(get_val(RY) >= 0) {
            LinearComp = ((100 - get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        } else {
            LinearComp = ((100 + get_val(RY)) * ANTI_RECOIL_VERTICAL) / 100;
        }
        if(InversionON) { // SUBTRACT anti_recoil when LOOK INVERSION is ENABLED
            anti_recoil_vertical = get_val(RY) - LinearComp;
        } else { // ADD anti_recoil when LOOK INVERSION is DISABLED
            anti_recoil_vertical = get_val(RY) + LinearComp;
        }
        if(anti_recoil_vertical > 100) {
            anti_recoil_vertical = 100;
        } else if(anti_recoil_vertical < -100) {
            anti_recoil_vertical = -100;
        }
        set_val(RY, anti_recoil_vertical);
    }
}
 
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);
}
 
// COLOR LED LIGHTBAR FOR PS4
//--------------------------------------------------------------
function ColorLED(Color) {
ColorNumber=(Color*4)-3;
set_led(LED_1,dbyte(ColorNumber));
set_led(LED_2,dbyte(ColorNumber+1));
set_led(LED_3,dbyte(ColorNumber+2));
set_led(LED_4,dbyte(ColorNumber+3));
}
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.0

Postby J2Kbr » Sat Nov 26, 2016 4:34 pm

UK_Wildcats_Fans wrote:This is the official topic for my COD IW script that is posted in the GPC Library.

The publishing error was fixed just now. :)
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 20323
Joined: Tue Mar 18, 2014 1:39 pm

Re: COD Infinite Warfare (IW) Rev 1.0

Postby UK_Wildcats » Sat Nov 26, 2016 10:29 pm

J2Kbr wrote:
UK_Wildcats_Fans wrote:This is the official topic for my COD IW script that is posted in the GPC Library.

The publishing error was fixed just now. :)


Thank you
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.1

Postby Bleak5170 » Sun Nov 27, 2016 12:04 am

Thanks a lot man. :joia:
User avatar
Bleak5170
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 278
Joined: Fri Aug 28, 2015 10:04 pm

Re: COD Infinite Warfare (IW) Rev 1.1

Postby UK_Wildcats » Sun Nov 27, 2016 4:38 am

Bleak5170 wrote:Thanks a lot man. :joia:


You're welcome.
User avatar
UK_Wildcats
Brigadier General
Brigadier General
 
Posts: 2243
Joined: Thu Jan 08, 2015 6:53 pm

Re: COD Infinite Warfare (IW) Rev 1.1

Postby Bleak5170 » Sun Nov 27, 2016 4:27 pm

UK_Wildcats_Fans wrote:
Bleak5170 wrote:Thanks a lot man. :joia:


You're welcome.


This works flawlessly. And including all the different versions for specific control set-ups is a HUGE help. What exactly is long jump though? That has actually killed me a couple of times, lol.
User avatar
Bleak5170
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 278
Joined: Fri Aug 28, 2015 10:04 pm

Next

Return to GPC1 Script Programming

Who is online

Users browsing this forum: No registered users and 68 guests