GPC Library

(SGI) Call of Duty Advanced Warfare Gamepad Edition

SCRIPT GAME INTERFACE (SGI) Call of Duty Advanced Warfare Gamepad Edition.
Use Script Game Interface application to easily set up all options/ mods.
Look at announcement link for more info.
Authors : Excalibur & LEX LOST

Main futures :
-----------------------------------------------------
1.* Dash Directions
Move fast Left Stick to the Left, Right or Back to perform dash.
Fast flick LEFT, RIGHT or BACK = DASH

You can adjust timing for fast move.
2.* SHOT MODS :
A. DROP SHOT ( normal and press sensitivity )
B. DASH SHOT ( normal and press sensitivity )
C. JUMP SHOT ( normal and press sensitivity )

1.1. If DROP SHOT is ON - when you ADS you can press PRONE btn. to go PRONE.
3.* SENSITIVITY :
1. ADS sensitivity Increase / Decrease
2- Toggle ADS
3- ADS delay
4.* AUTO SPRINT NEW
5.* RAPID FIRE - you can change RATE OF FIRE for Raid Fire.
6.* AKIMBO DUAL EASY( with rapid fire ).
- you can have different rate of fire for Akimbo mod ( different from Rapid Fire ).

7.* ANTI-RECOIL
- with ready settings for BAL Assault Rifle
8.* Swap Buttons
9.* Button Layout
- Default
- Tactical
- Lefty
- NOM4D
- NOM4D Tactical

BURST FIRE NEW
BAL
AK 12
HBRa3
ASM1
SN6
MP11
KF5
Pytaek
Ameli
New Adjustments for Right Trigger / R2 dead zone.
Read tread to find how to use this apllication:
http://controllermax.com/forums/showthread.php?t=145483
Version 5.7
Author Excalibur
Publish Date 2014-12-07 09:33:51
Update Date 2015-01-24 02:59:05
Downloads 3043
Forum Link Click Here
RATE


21

1

Release Notes: added option to choose Forward Dash or AUTO SPRINT.
Code:Select all
// GPC Online Library
// _(sgi)_call_of_duty_advanced_warfare_gamepad_edition.gpc

// ControllerMax.com
/***********************************************************************************************
 This Script was made and intended for www.ControllerMax.com & CronusMAX ONLY, 
 UNLESS 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 ControlerMax ©
************************************************************************************************/ 

// COD ADVANCED WARFARE Game-pad ver. 5.7 Date :01.23.15 Time: 16:09:47
//--------------------------------------------------------------
// BUTTONS definitions

define fire_button=4;
define scope_button=7;
define SPRINT_BTN = 8; // LS/L3

define PRONE_BTN=18;     // B/ CIRCLE
define JUMP_BTN=19;  // JUMP button A/CROSS
define SWITCH_WEAPON=17;   // Switch Weapons Y/TRIANGLe
define RELOAD_BTN=20;    // X/ SQUARE
define MELLE=5;       // RS/R3
define Up=13; 
define Right=16;
define Down=14;
define Left=15;
define RS_X_MOV=9;
define RS_Y_MOV=10;
define LS_Y_MOV= 12;
define LS_X_MOV=11;
define btn_Swith1= 1;
define btn_Swith2= 1; 
define btn_Swith3= 2;
define btn_Swith4= 1;  
define btn_Swith5= 19;
define btn_Swith6= 20; 
define timelimitR=50;
define timelimitF=50;
define timelimitL=80;
define timelimitB=50;
//--------------------------------------------------------------
define dropDelay=600;
define RATE_OF_FIRE=20;//Range: 1 to 25 RPS (Round/s)
define timelimit=300;
define ROFire =25;
define ONLY_WITH_SCOPE = FALSE;// Use Anti-recoil only when scoping

  //    1              //   7              //    13 
data(0,20,30,40,50,60,70,   20,25,30,35,40,45,   25,35,45,55,65,75);
//VARIABLES - int
//--------------------------------------------------------------
//  burstTipe 
// 1 : HBRa3 / AK 12
// 2 : ASM1 / SN6 / MP11 / 
// 3 : BAL / KF5 / Pytaek / Ameli 
int burstTipe=13;
int RoundPerBurst=2;
int hold_burst=300;     //  x 4 Round per Burst
int rest_burst=10;
int hburst1=1;
int hburst2=5;      // 8 round per burst
int Burst1=1;
int Burst2=13;

int Sens=20;
int hold_timeA;
int rest_timeA;
int hold_time;
int rest_time;
int dash_R;
int dash_L;
int dash_B;
int dash_F;
int fast_R:=FALSE;
int fast_L:=FALSE;
int fast_B:=FALSE;
int fast_F:=FALSE;
int burst_onoff=TRUE;
int JumpActive=FALSE;
int DblClick_JUMP;
int TimeToJump;

// hold_burst=dbyte(burstTipe+RoundPerBurst)*10;
int InstantDrop=FALSE;
int SlideOrDrop;
int RA;
int dash;
int LX;
int LY;
int dash_X;
int FR_OnOff=FALSE;   // FAST RELOAD ON/OFF
int dash_OnOff=FALSE;// Dash On/Off
int rapid_onoff = FALSE;// On/Off Rapid Fire
int akimbo_onoff = FALSE;
int dropshot_OnOff=FALSE;// On / Off Drop Shot
int Scope_W_Drop=FALSE;// Scope with Drop Shot
int DoubleJump=FALSE;
int JumpShot_OnOff=FALSE;
int VerticalCorrect=FALSE;
int b_hold_ADS=FALSE;
int TogleADS=FALSE; // On /Off Togle ADS
int b_ADS_Delay=FALSE;// On/Off ADS Delay
int hold_breath_On_Off=FALSE;
int AntiRec_OnOff=FALSE;
int DASH_MODE=FALSE;
int ADS_Add_time=1000;
int DelayScope=20;
int VertValue=60;
int ADS_Delay=150;// ADS delay value
int timer;
int ReloadingTime;
int NotReloading=TRUE;
int ProneTime=800;
int fastreload=1200;


//INITIALIZATION - init
//--------------------------------------------------------------
init {//#############################################
     
     //pvSens = get_pvar(SPVAR_1,0, 100, 20);
     //Sens=pvSens;
    // pvInGameSens = get_pvar(SPVAR_2,0, 100, 0);
    // SENS=pvInGameSens;
     // AKIMBO RAPID FIRE
     hold_timeA = 500 / ROFire;
     rest_timeA = hold_timeA - 20;
     if(rest_timeA < 0) rest_timeA = 0;
     
     // RAPID FIRE
     hold_time = 500 / RATE_OF_FIRE;
     rest_time = hold_time - 20;
     if(rest_time < 0) rest_time=0;
     // BURST FIRE
     hold_burst=dbyte(burstTipe+RoundPerBurst)*10;
     
     if(InstantDrop)SlideOrDrop=20;
     else SlideOrDrop=10;
   
     // FAST RELOAD

}//##################################################
//MAIN BLOCK RUTINES
//--------------------------------------------------------------
main {  // Start of MAIN BLOCK
     // Go PRONE_BTN
     //if(event_press(btn_Swith5))combo_run(GoProne);
     
     //#SwapButtons
     
     
     // FIND the DIRECTION of LA
     if(get_val(LS_X_MOV)<-20 || get_val(LS_X_MOV)>20)LX=get_val(LS_X_MOV);    

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

     // ADS Toggle 
     if(event_press(scope_button)&& TogleADS)b_hold_ADS=!b_hold_ADS;

     if(b_hold_ADS)
       {//---------------------------
        if(get_val(SWITCH_WEAPON) || get_val(RELOAD_BTN)||get_val(JUMP_BTN))b_hold_ADS=FALSE;
       }//---------------------------

     if(b_hold_ADS)set_val(scope_button,100);

///////////////////////////////////////////////////////////////////////////
///////////        AUTO HOLD BREATH                ////////////////////////
///////////////////////////////////////////////////////////////////////////
     // AUTO HOLD BREATH
     if(get_val(scope_button)&& hold_breath_On_Off)set_val(SPRINT_BTN,100); 

///////////////////////////////////////////////////////////////////////////
///////////        ADS SENSITIVITY                 ////////////////////////
///////////////////////////////////////////////////////////////////////////

     // SENSITIVITY
     if(get_val(scope_button)|| b_hold_ADS)
     {//------------------------------------
     if(timer>0 && b_ADS_Delay)timer=timer-get_rtime();
     else {//-----------------------------------
            sensitivity(RS_X_MOV, NOT_USE, 100 + Sens);
            sensitivity(RS_Y_MOV, NOT_USE, 100 + Sens);
          }
     }//------------------------------------

     if(event_release(scope_button))timer=ADS_Delay;
     
   
///////////////////////////////////////////////////////////////////
//////  AKIMBO SWITCH   ///////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// // //#AKIMBO_START    
// if(get_val(btn_Swith4)&& event_press(btn_Swith5))
//    {
//     akimbo_onoff=!akimbo_onoff;
//     if(akimbo_onoff)combo_run(RumbleNotifier);
//     else combo_run(RumbleNotifierOFF); 
//    }
// 
// 
// if(akimbo_onoff)
//   {//------------------------------------------------------
//     if(get_val(fire_button) )combo_run(AKIMBO);
//     else if(combo_running(AKIMBO)) combo_stop(AKIMBO);
//   }//------------------------------------------------------
//#AKIMBO_END
    
//------------------------------------------------------------------------------------------
//#AUTO SPRINT START
     if (get_val(LS_Y_MOV)<-95 ){ combo_run(AutoSprint); }
     else if(get_val(LS_Y_MOV) > -95) { combo_stop(AutoSprint); }
//#AUTO SPRINT END     

////////////////////////////////////////////////////////////////////////////////////
////////   ON/OFF DASH  SHOT   /////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////     
     // DASH shot---------------------------------------------------------------------
     // btn_Switch1 +Y  = On/ Off Dash shot
     if(get_val(btn_Swith1) && event_press(SWITCH_WEAPON)) 
       {
        dash_OnOff=!dash_OnOff;
        if(dash_OnOff)combo_run(RumbleNotifier);
        else combo_run(RumbleNotifierOFF);
       }

     if(get_val(btn_Swith1) && get_val(SWITCH_WEAPON))set_val(SWITCH_WEAPON,0);
     // DASH SHOT --------------------------------------------------------------------
     if(get_val(fire_button)>0 && dash_OnOff && !get_val(scope_button)){block(LS_Y_MOV,400);combo_run(DashShot);}

////////////////////////////////////////////////////////////////////////////////////
////////   DASH  Left, Right or Back   /////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////     
      
//#DASHSTART

     if(event_press(RELOAD_BTN)){NotReloading=FALSE;ReloadingTime=1500;}

     if(ReloadingTime>0)
      {
       ReloadingTime=ReloadingTime-get_rtime();
       if(ReloadingTime<=0)NotReloading=TRUE;
      }
     // DASH MODS
    if(DASH_MODE && !get_val(scope_button) && NotReloading)
    {//--------------------------------------------------------------------------------------------
     // Right dash 
////////////////////////////////////////////////////////////////////////////
   if((get_val(11)>30 && get_val(11)<50)&& dash_R==0) fast_R=1;           //
                                                                          //
   if(fast_R)                                                             //
      {                                                                   //
       dash_R=dash_R+get_rtime();                                         //
       if(dash_R>=timelimitR){dash_R=0;fast_R=0;}                         //
       if(get_val(11)>90 && dash_R<timelimitR) {combo_run(Dash_Right);}   //
      }                                                                   //
////////////////////////////////////////////////////////////////////////////

   // Left dash 
////////////////////////////////////////////////////////////////////////////
   if((get_val(11)<-30 && get_val(11)>-50)&& dash_L==0) fast_L=1;         //
                                                                          //
   if(fast_L)                                                             //
      {                                                                   //
       dash_L=dash_L+get_rtime();                                         //
       if(dash_L>=timelimitL){dash_L=0;fast_L=0;}                         //
       if(get_val(11)<-80 && dash_R<timelimitL) {combo_run(Dash_Left);}   //
      }                                                                   //
////////////////////////////////////////////////////////////////////////////

  // Back dash 
////////////////////////////////////////////////////////////////////////////
   if((get_val(12)>30 && get_val(12)>50)&& dash_B==0) fast_B=1;           //
                                                                          //
   if(fast_B)                                                             //
      {                                                                   //
       dash_B=dash_B+get_rtime();                                         //
       if(dash_B>=timelimitB){dash_B=0;fast_B=0;}                         //
       if(get_val(12)>80 && dash_B<timelimitB) {combo_run(Dash_Back);}    //
      }                                                                   //
////////////////////////////////////////////////////////////////////////////
    }//--------------------------------------------------------------------------------------------

//#DASHEND 
////////////////////////////////////////////////////////////////////////////////////
////////   DROP SHOT On / Off  /////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////

    if (DblClick_JUMP>0)DblClick_JUMP=DblClick_JUMP- get_rtime();
    //--------------------------------------------------------------
    if (event_press(JUMP_BTN) && DblClick_JUMP<=0 ) {DblClick_JUMP=timelimit;}
    else if (event_press(JUMP_BTN)&& DblClick_JUMP>0 ){TimeToJump=1500;JumpActive=TRUE;}
    //--------------------------------------------------------------
     if(JumpActive) {
                     TimeToJump=TimeToJump-get_rtime();
                     if(TimeToJump<=0){JumpActive=FALSE;}
                    } 
   

     // DROP SHOT On / Off = btn_Swith1 + B/CIRCLE
     if(get_val(btn_Swith6) && event_press(PRONE_BTN))
       {//-----------------------------------
        dropshot_OnOff=!dropshot_OnOff;
        if(dropshot_OnOff){dash_OnOff=FALSE;JumpShot_OnOff=FALSE;}
        if(dropshot_OnOff)combo_run(RumbleNotifier);
        else combo_run(RumbleNotifierOFF);
       }//-----------------------------------
     // ------------------------------------------------------
     if(get_val(btn_Swith1) && get_val(PRONE_BTN))set_val(PRONE_BTN,0);
     // DROP SHOT 
     //press fire btn without ADS for Drop Shot  JumpActive
     if(get_val(fire_button)>0 && dropshot_OnOff && !get_val(scope_button) && !JumpActive){combo_run(DROPSHOT);}
//#GoProne
///////////////////////////////////////////////////////////////////
//  RAPID FIRE On-Off  ////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
     // ON / OFF RAPID FIRE  (btn_Swith2 )
     if(get_val(btn_Swith2) && event_press(btn_Swith3 )) 
      {  
       rapid_onoff =!rapid_onoff;
       if(rapid_onoff)combo_run(RumbleNotifier);
       else combo_run(RumbleNotifierOFF);
      }
     // RAPIDFIRE
     if(get_val(fire_button)>0 && rapid_onoff && !burst_onoff ) {
        combo_run(RAPID_FIRE);
     }else if(combo_running(RAPID_FIRE))       {
        combo_stop(RAPID_FIRE);
     }

///////////////////////////////////////////////////////////////////
//  JUMP SHOT   ///////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
    if(get_val(btn_Swith6)&& event_press(JUMP_BTN))
      {
      JumpShot_OnOff=!JumpShot_OnOff;
       if(JumpShot_OnOff)combo_run(RumbleNotifier);
       else combo_run(RumbleNotifierOFF);
      }
    
    if (JumpShot_OnOff && !get_val(scope_button))
     {//-----------------------------------------
     if(get_val(fire_button)>0 )combo_run(Jump);
     }//-----------------------------------------


///////////////////////////////////////////////////////////////////
//  BURST FIRE    /////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//#BURST_START
      // ON / OFF BURST FIRE  (SELECT + START )
     //  VIEW +D-pad UP = RAPID_FIRE /\ VIEW + D-pad RIGHT = BURST_FIRE
     if(get_val(1))
     {//-----------------------------------------------------------
      if(event_press(2))
                        {//----------------------------------------
                         burst_onoff =!burst_onoff;
                         if(burst_onoff)combo_run(RumbleNotifier);
                         else combo_run(RumbleNotifierOFF);
                        }//----------------------------------------
     }//-----------------------------------------------------------
     if(get_val(1) && get_val(2))set_val(2,0);
     //  BURST FIRE
      if(burst_onoff && !rapid_onoff && get_val(fire_button)>0 )
     {//--------------------------------------
      combo_run(BURST_FIRE);
     }//-------------------------------------

//BURST_END
    //RAPID FIRE + BURST FIRE
     if(burst_onoff && rapid_onoff && get_val(fire_button)>0)
     {
      combo_run(RAPID_BURST);
     }
     
     // FAST RELOAD On /Off
     if(get_val(1)&& event_press(20)){
        FR_OnOff=!FR_OnOff;
        set_val(20,0);
     }
     // Fast Reload
     if(get_val(RELOAD_BTN)&& get_ptime(RELOAD_BTN)<300 && FR_OnOff && !get_val(scope_button)){combo_run(FastReload);}
//#DoubleTapSTART     
//     if(get_val(scope_button)&& event_press(RELOAD_BTN)){
//      set_val(RELOAD_BTN,0);
//      combo_run(DoubleTapReload);
//     }
//#DoubleTapEND
}// End of MAIN BLOCK

////////////////////////////////////////////////////////////////
//COMBO BLOCKS   ///////////////////////////////////////////////
////////////////////////////////////////////////////////////////
combo RumbleNotifier {
  set_rumble(RUMBLE_A,100);
  wait(200);
  reset_rumble();
}
combo RumbleNotifierOFF {
  set_rumble(RUMBLE_A,100);
  wait(400);
  reset_rumble();
}
combo RAPID_BURST {
 call(RAPID_FIRE);
 wait(hold_burst);//  250 - 3
 set_val(fire_button, 0);
 wait(rest_burst);
 set_val(fire_button, 0);

}
// BURST FIRE
combo BURST_FIRE {//begin
 set_val(fire_button, 100);
 wait(hold_burst);//  250 - 3
 set_val(fire_button, 0);
 wait(rest_burst);
 set_val(fire_button, 0);
}//end

combo Jump {
   set_val(JUMP_BTN,100);
   wait(100);
   wait(270);
   set_val(JUMP_BTN,100);
   wait(100);
   wait(700);
   set_val(SPRINT_BTN,100);
   wait(100);
}


combo DashShot {
   if(LX>0)dash_X=100;
   else dash_X=-100;
    set_val(12,0);
    set_val(SPRINT_BTN,0);
   wait(100);
   set_val(SPRINT_BTN,100);
   set_val(12,0);
   set_val(LS_X_MOV,dash_X);
   wait(300);
   set_val(LS_X_MOV,dash_X);
   set_val(fire_button,100);
   wait(60);

}
combo Dash_Left {
   set_val(SPRINT_BTN,100);
   wait(100);
   set_val(LS_X_MOV,-100);
   wait(100);


}
combo Dash_Right {
   set_val(SPRINT_BTN,100);
   wait(100);
   set_val(LS_X_MOV,100);
   wait(100);


}
combo Dash_Back {
   set_val(SPRINT_BTN,100);
   wait(100);
   set_val(LS_Y_MOV,100);
   wait(100);
}


// //#AKIMBOstart
// combo AKIMBO {
//     set_val(fire_button, 100);
//     set_val(scope_button, 100);
//     wait(hold_timeA);
//     set_val(fire_button, 0);
//     set_val(scope_button, 0);
//     wait(rest_timeA);
//     set_val(fire_button, 0);
//     set_val(scope_button, 0);
// }
//#AKIMBOend
combo AutoSprint {
 set_val(SPRINT_BTN,100);
 wait(10); // hold Sprint btn.
 set_val(SPRINT_BTN,100);
}

//DROP SHOT
combo DROPSHOT {//begin
   if(InstantDrop){set_val(LS_Y_MOV,0);}
   wait(SlideOrDrop);
   set_val(PRONE_BTN, 100);
   wait(dropDelay); //Time To Go Prone
   if(Scope_W_Drop){set_val(scope_button,100);}
   set_val(fire_button,100);
   wait(100);
   if(Scope_W_Drop){DelayScope=ADS_Add_time;set_val(scope_button,100);}
   else DelayScope=20;
   //if(VerticalCorrect){set_val(RS_Y_MOV,-100);}
   wait(DelayScope);
}//end
//Rapidfire
combo RAPID_FIRE {//begin
    set_val(fire_button, 100);
    wait(hold_time);
    set_val(fire_button, 0);
    wait(rest_time);
    set_val(fire_button, 0);
}//end

combo FastReload {// begin
    //set_val(RELOAD_BTN, 100);           //RELOAD_BTN is X Button( index 20)  or Square for PS3/PS4
    wait(40); wait(fastreload); //fastreload time is The amount of Delay In MS before the Cancel Happens
    set_val(SWITCH_WEAPON, 100);           //This time different depending On weapons
    wait(40); wait(40);         //SWITCH_WEAPON is Y or triangle for PS3/PS4
    set_val(SWITCH_WEAPON, 100);
    wait(40);
}// end

combo DoubleTapReload {// begin
    set_val(RELOAD_BTN, 100);
    wait(40);wait(40);
    set_val(RELOAD_BTN, 100);
}// end
  • Rating

    10 / 10 here !

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

  • Rating

    Amazing device

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

  • Rating

    Worth every penny

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

  • Rating

    Amazing Macro combos

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

  • Rating

    As good as a XIM

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

  • Rating

    KB & Mouse RULES!

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

  • Rating

    Six-Axis 360!

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

  • Rating

    Beats all rapidfire mods

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

  • Rating

    Just perfect!

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

  • Rating

    Hugh Thanks!

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

  • Rating

    Wow!

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

  • Rating

    Achievement Unlocked!

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

  • Rating

    A++!

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

  • Rating

    What Disability?

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

  • Rating

    Awesome stuff guys!

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