Helldivers (Stratagem, Autorun, Ressurect, Melee)

Functions: Stratagem macros(4 profiles), Autorun, TurboRessurect, TurboMelee. You can manually change your preferred stratagems for each profile (1-4). You can switch between profiles using R3 + DPAD. Each profile lights different led colors. Special Stratagems are in common for all profiles. TurboMelee & TurboRess will press Circle/Cross button fast when you hold them. AutoRun can be switched On/Off by pressing L3 and R3 together.
Version1.2a
AuthorShaag7
Publish DateFri, 19 Feb 2016 - 13:15
Last UpdateWed, 24 Feb 2016 - 18:28
Downloads155
ForumAnnouncement Topic
RATE


3

0

Release Notes: * 26-Feb-2016: 1.2 - Workaround for R1 and Cross[4] collision - No-Array variables. 1.2a - Fixed time for stratagem execution (forget to change long times used for debugging)..
Code: Select all
//NAME: Helldivers (Stratagem,Autorun,Ressurect,Melee)
//VER:  1.2
/* =============================================================================
* Author: Shaag7
*
* Functions: Stratagem macros(4 profiles), Autorun, TurboRessurect, TurboMelee
*
* Notes:
* You can manually change your preferred stratagems for each profile (1-4)
* You can switch between profiles using R3 + DPAD
* Each profile lights different led colors
* Special Stratagems are in common for all profiles
*
* TurboMelee & TurboRess will press Circle/Cross button fast when you hold them
*
* AutoRun can be switched On/Off by pressing L3 and R3 together
*
* Stratagem combos are taken from http://helldivers.gamepedia.com/Stratagem
* Script was done for PS4 and Titan1 (http://www.consoletuner.com)
*
* Changes:
* 26-Feb-2016: 1.2 - Workaround for R1 and Cross[4] collision - No-Array variables
* 26-Feb-2016: 1.1 - Workaround for R1 and Cross[4] collision - deleted 1 profile
* 19-Feb-2016: 1.0 - Release
* 16-Feb-2016: 0.9 - Beta Release
* =============================================================================*/

 
/*
-----------------------------------------------------------------------------
DEFINES
-----------------------------------------------------------------------------
*/

 
// Supply Stratagems
define  AC22            = 1;         //AC-22 Dum-Dum *                   
define  AD289           = 2;         //AD-289 Angel *                     
define  AD334           = 3;         //AD-334 Guard Dog *                 
define  EAT17           = 4;         //EAT-17                             
define  EXO44           = 5;         //EXO-44 Walker Exosuit             
define  EXO48           = 6;         //EXO-48 Obsidian Exosuit *         
define  EXO51           = 7;         //EXO-51 Lumberer Exosuit *         
define  FLAM40          = 8;         //FLAM-40 Incinerator               
define  LAS98           = 9;         //LAS-98 Laser Cannon               
define  LIFT850         = 10;        //LIFT-850 Jump Pack                 
define  M25             = 11;        //M-25 Rumbler *                     
define  M5              = 12;        //M5 APC                             
define  M5HAV           = 13;        //M5-32 HAV                         
define  MC109           = 14;        //MC-109 Hammer Motorcycle *         
define  M94             = 15;        //MG-94 Machine Gun                 
define  MLS4X           = 16;        //MLS-4X Commando *                 
define  OBLITERATOR     = 17;        //Obliterator Grenade Launcher       
define  REC6            = 18;        //REC-6 Demolisher *                 
define  REP80           = 19;        //REP-80                             
define  RESSUPLY        = 20;        //Resupply                           
define  RESPACK         = 21;        //Resupply Pack                     
define  RL112           = 22;        //RL-112 Recoilless Rifle           
define  SH20            = 23;        //SH-20 Shield Generator Pack       
define  SH32            = 24;        //SH-32 Directional Kinetic Shield *
define  TD110           = 25;        //TD-110 Bastion *                   
define  TOX13           = 26;        //TOX-13 Avenger *                   
 
 
// Defensive Stratagems
define  AAC6            = 31;        //A/AC-6 Tesla Tower                 
define  AAMG            = 32;        //A/MG-II Minigun Turret             
define  ARX             = 33;        //A/RX-34 Railcannon Turret         
define  APMINE          = 34;        //Airdropped Anti-Personnel Mines   
define  STUNMINE        = 35;        //Airdropped Stun Mines             
define  APBAR           = 36;        //Anti-Personnel Barrier *           
define  AT47            = 37;        //AT-47 Anti-Tank Emplacement *     
define  DISTRACT        = 38;        //Distractor Beacon                 
define  UAV             = 39;        //Humblebee UAV drone *             
 
 
// Offensive Stratagems
define  AIRSTRIKE       = 41;        //Airstrike                         
define  CLOSEAIR        = 42;        //Close Air Support *               
define  INCENDIARY      = 43;        //Incendiary Bombs                   
define  BARRAGE         = 44;        //Missile Barrage *                 
define  ORBITAL         = 45;        //Orbital Laser Strike               
define  RAILCAN         = 46;        //Railcannon Strike                 
define  SHREDDER        = 47;        //Shredder Missile Strike           
define  SLEDGE          = 48;        //Sledge Precision Artillery *       
define  STATIC          = 49;        //Static Field Conductors           
define  STRAFING        = 50;        //Strafing Run                       
define  THUNDER         = 51;        //Thunderer Barrage                 
define  VINDICATOR      = 52;        //Vindicator Dive Bomb               
 
// Special Stratagems
define  Reinforce       = 61;        //Reinforce                     
define  NUX             = 62;        //NUX-223 Hellbomb               
define  Sniffer         = 63;        //ME-1 Sniffer Metal Detector   
define  SOS             = 64;        //Emergency Beacon
 
define  L               = 201;       //DPAD LEFT
define  R               = 202;       //DPAD RIGHT
define  U               = 203;       //DPAD UP
define  D               = 204;       //DPAD DOWN
 
define  EOC             = 254;       //END OF COMBO
define  EOD             = 255;       //END OF DATA
 
 
 
/*
-----------------------------------------------------------------------------
DATA SEGMENT
-----------------------------------------------------------------------------
*/

 
data (
 
// Supply Stratagems
AC22            ,D,L,U,U,R,EOC,           //AC-22 Dum-Dum *                   
AD289           ,D,U,L,L,R,D,EOC,         //AD-289 Angel *                   
AD334           ,D,U,L,U,R,D,EOC,         //AD-334 Guard Dog *               
EAT17           ,D,L,R,U,D,EOC,           //EAT-17                           
EXO44           ,D,R,U,L,D,D,EOC,         //EXO-44 Walker Exosuit             
EXO48           ,D,R,U,L,D,L,EOC,         //EXO-48 Obsidian Exosuit *         
EXO51           ,D,R,U,L,D,R,EOC,         //EXO-51 Lumberer Exosuit *         
FLAM40          ,D,L,D,R,L,EOC,           //FLAM-40 Incinerator               
LAS98           ,D,L,D,U,L,EOC,           //LAS-98 Laser Cannon               
LIFT850         ,D,U,U,D,U,EOC,           //LIFT-850 Jump Pack               
M25             ,D,L,U,L,L,EOC,           //M-25 Rumbler *                   
M5              ,D,R,D,L,L,R,EOC,         //M5 APC                           
M5HAV           ,D,R,U,L,U,D,EOC,         //M5-32 HAV                         
MC109           ,D,R,D,L,L,U,EOC,         //MC-109 Hammer Motorcycle *       
M94             ,D,L,D,U,R,EOC,           //MG-94 Machine Gun                 
MLS4X           ,D,L,U,D,R,EOC,           //MLS-4X Commando *                 
OBLITERATOR     ,D,L,U,L,D,EOC,           //Obliterator Grenade Launcher     
REC6            ,D,L,R,U,U,EOC,           //REC-6 Demolisher *               
REP80           ,D,D,L,R,D,EOC,           //REP-80                           
RESSUPLY        ,D,D,U,R,EOC,             //Resupply                         
RESPACK         ,D,U,D,D,R,EOC,           //Resupply Pack                     
RL112           ,D,L,R,R,L,EOC,           //RL-112 Recoilless Rifle           
SH20            ,D,U,L,R,L,R,EOC,         //SH-20 Shield Generator Pack       
SH32            ,D,U,L,R,L,D,EOC,         //SH-32 Directional Kinetic Shield *
TD110           ,D,R,D,L,U,R,EOC,         //TD-110 Bastion *                 
TOX13           ,D,L,D,R,R,EOC,           //TOX-13 Avenger *                 
 
 
// Defensive Stratagems
AAC6            ,L,D,D,U,R,L,EOC,         //A/AC-6 Tesla Tower                 
AAMG            ,L,D,U,R,L,EOC,           //A/MG-II Minigun Turret             
ARX             ,L,D,U,L,R,EOC,           //A/RX-34 Railcannon Turret         
APMINE          ,L,R,D,U,EOC,             //Airdropped Anti-Personnel Mines   
STUNMINE        ,L,R,U,D,EOC,             //Airdropped Stun Mines             
APBAR           ,L,R,D,D,R,EOC,           //Anti-Personnel Barrier *           
AT47            ,L,L,U,U,R,L,EOC,         //AT-47 Anti-Tank Emplacement *     
DISTRACT        ,L,D,R,EOC,               //Distractor Beacon                 
UAV             ,L,U,R,EOC,               //Humblebee UAV drone *             
 
 
// Offensive Stratagems
AIRSTRIKE       ,R,U,D,R,L,EOC,           //Airstrike                     
CLOSEAIR        ,R,R,D,L,EOC,             //Close Air Support *           
INCENDIARY      ,R,U,L,R,EOC,             //Incendiary Bombs               
BARRAGE         ,R,D,D,D,L,D,EOC,         //Missile Barrage *             
ORBITAL         ,R,U,L,U,R,L,EOC,         //Orbital Laser Strike           
RAILCAN         ,R,D,U,D,L,EOC,           //Railcannon Strike             
SHREDDER        ,R,L,R,L,D,D,R,EOC,       //Shredder Missile Strike       
SLEDGE          ,R,U,L,U,D,R,EOC,         //Sledge Precision Artillery *   
STATIC          ,R,U,L,D,EOC,             //Static Field Conductors       
STRAFING        ,R,R,U,EOC,               //Strafing Run                   
THUNDER         ,R,D,U,U,L,D,EOC,         //Thunderer Barrage             
VINDICATOR      ,R,R,R,EOC,               //Vindicator Dive Bomb           
 
// Special Stratagems
Reinforce       ,U,D,R,L,U,EOC,           //Reinforce                     
NUX             ,U,L,R,D,U,D,EOC,         //NUX-223 Hellbomb               
Sniffer         ,D,D,R,U,EOC,             //ME-1 Sniffer Metal Detector   
SOS             ,U,D,R,U,EOC,             //Emergency Beacon           
 
EOD
);
 
/*
-----------------------------------------------------------------------------
VARIABLES
-----------------------------------------------------------------------------
*/

    int step, press;
    int N;
    int Triangle1;
    int Square1;
    int Circle1;
    int Cross1;
    int Triangle2;
    int Square2;
    int Circle2;
    int Cross2;
    int Triangle3;
    int Square3;
    int Circle3;
    int Cross3;
    int Triangle4;
    int Square4;
    int Circle4;
    int Cross4;   
    int R1;
    int L3;
    int R2;
    int L2;
    int ms = 40;        // Button press time
    int rt = 20;        // Rest time
    int RunON = TRUE;   // Default value for AutoRunSwitch
    int RunSens = 55;   // Sensitivity to trigger AutoRun
 
/*
-----------------------------------------------------------------------------
INITIALIZATION
-----------------------------------------------------------------------------
*/

 
init {
N=1; // Default Stratagem Profile (1-4)
 
// Pressing L1 and button bellow will trigger combo based on current Profile [1-4] -- (change combos by your needs)
// To activate press R3 + PS4_UP ---- Blue LED
Triangle1 = THUNDER;
Square1   = RESSUPLY;
Circle1   = LIFT850;
Cross1    = EXO44;
// To activate press R3 + PS4_LEFT ---- Red LED
Triangle2 = AAMG;
Square2   = DISTRACT;
Circle2   = SH20;
Cross2    = UAV;
// To activate press R3 + PS4_RIGHT ---- Green LED
Triangle3 = THUNDER;
Square3   = RESSUPLY;
Circle3   = SH20;
Cross3    = RAILCAN;
 
// To activate press R3 + PS4_DOWN ---- Pink LED
Triangle4 = OBLITERATOR;
Square4   = RESSUPLY;
Circle4   = SH20;
Cross4    = UAV;
 
 
// Supply Stratagems
// AC22 AD289 AD334 EAT17 EXO44 EXO48 EXO51 FLAM40 LAS98 LIFT850 M25 M5 M5HAV MC109 M94 MLS4X OBLITERATOR REC6 REP80 RESSUPLY RESPACK RL112 SH20 SH32 TOX13                 
// Defensive Stratagems
// AAC6 AAMG ARX APMINE STUNMINE APBAR AT47 DISTRACT UAV             
// Offensive Stratagems
// AIRSTRIKE CLOSEAIR INCENDIARY BARRAGE ORBITAL RAILCAN SHREDDER SLEDGE STATIC STRAFING THUNDER VINDICATOR           
 
// Pressing L1 and button below will trigger special combo
R1 = Reinforce; //Special
L3 = NUX;       //Special
R2 = Sniffer;   //Special
L2 = SOS;       //Special
 
 
}
 
/*
-----------------------------------------------------------------------------
MAIN SCRIPT
-----------------------------------------------------------------------------
*/

main {
 
// AutoRun Switch - any change will rumble strongly
    if(get_val(PS4_L3)&& event_release(PS4_R3))  {RunON = !RunON; combo_run(ARumble)}
 
// Changing current Stratagem profile will rumble twice
if (get_val(PS4_R3) && (!get_val(PS4_L1) || !get_val(PS4_L3))) {
    if (event_press(PS4_UP))    {N=1;combo_run(BRumble);}
    if (event_press(PS4_LEFT))  {N=2;combo_run(BRumble);}
    if (event_press(PS4_RIGHT)) {N=3;combo_run(BRumble);}
    if (event_press(PS4_DOWN))  {N=4;combo_run(BRumble);}
}           
// LED colors based on current profile
if (N==1) {colorled(1,0,0,0);} //Blue LED
if (N==2) {colorled(0,1,0,0);} //Red LED
if (N==3) {colorled(0,0,1,0);} //Green LED
if (N==4) {colorled(0,0,0,1);} //Pink LED
 
 
// Auto-Run
    if((abs(get_val(PS4_LX)) > RunSens || abs(get_val(PS4_LY)) > RunSens) && RunON) {set_val(PS4_L3,100);}
// Turbo Ressurection
    if (get_val(PS4_CROSS) && get_ptime(PS4_CROSS) >= 200 && !get_val(PS4_L1)) {combo_run(Ressurect);}
// Turbo Melee   
    if (get_val(PS4_CIRCLE) && get_ptime(PS4_CIRCLE) >= 200 && !get_val(PS4_L1)) {combo_run(Melee);}
 
// Press L1 and trigger combos
    if (get_val(PS4_L1)) {
        if (event_press(PS4_R1)) {RunCombo(R1);} //Special
        if (event_press(PS4_L3)) {RunCombo(L3);} //Special
        if (event_press(PS4_R2)) {RunCombo(R2);} //Special
        if (event_press(PS4_L2)) {RunCombo(L2);} //Special
 
        if (N==1){
            if (event_press(PS4_TRIANGLE))  {RunCombo(Triangle1);}
            if (event_press(PS4_SQUARE))    {RunCombo(Square1);}
            if (event_press(PS4_CIRCLE))    {RunCombo(Circle1);}       
            if (event_press(PS4_CROSS))     {RunCombo(Cross1);}             
        }
        else if (N==2) {
            if (event_press(PS4_TRIANGLE))  {RunCombo(Triangle2);}
            if (event_press(PS4_SQUARE))    {RunCombo(Square2);}
            if (event_press(PS4_CIRCLE))    {RunCombo(Circle2);}       
            if (event_press(PS4_CROSS))     {RunCombo(Cross2);}             
        }
        else if (N==3) {
            if (event_press(PS4_TRIANGLE))  {RunCombo(Triangle3);}
            if (event_press(PS4_SQUARE))    {RunCombo(Square3);}
            if (event_press(PS4_CIRCLE))    {RunCombo(Circle3);}       
            if (event_press(PS4_CROSS))     {RunCombo(Cross3);}             
        }
        else if (N==4) {
            if (event_press(PS4_TRIANGLE))  {RunCombo(Triangle4);}
            if (event_press(PS4_SQUARE))    {RunCombo(Square4);}
            if (event_press(PS4_CIRCLE))    {RunCombo(Circle4);}       
            if (event_press(PS4_CROSS))     {RunCombo(Cross4);}             
        }
    }
 /*     
 // This will stop Stratagem combo from execution if you release L1
 
    if(event_release(PS4_L1)) {
                step = 0;
                combo_stop(Step);
    }       
*/

    if(step > 0) {
            ReleaseAll();
            combo_run(Step);
    }
 
}
 
/*
-----------------------------------------------------------------------------
COMBOS
-----------------------------------------------------------------------------
*/

    combo Step {
        DoPress();
        wait(ms);
        ReleaseAll();
        wait(rt);
        GetStep();
    }
 
    combo Ressurect {set_val(PS4_CROSS,100);wait(ms);set_val(PS4_CROSS,0);wait(rt);set_val(PS4_CROSS,0);}
    combo Melee {set_val(PS4_CIRCLE,100);wait(ms);set_val(PS4_CIRCLE,0);wait(rt);set_val(PS4_CIRCLE,0);}
 
 combo BRumble{set_rumble(RUMBLE_B, 100);wait(200);set_rumble(RUMBLE_B, 0);wait(100);set_rumble(RUMBLE_B, 100);wait(200);set_rumble(RUMBLE_B, 0);}
 combo ARumble{set_rumble(RUMBLE_A, 100);wait(400);set_rumble(RUMBLE_A, 0);}
 
/*
-----------------------------------------------------------------------------
FUNCTIONS
-----------------------------------------------------------------------------
*/

    function RunCombo(CM) {
        step = 0;
        press = 0;
        while(TRUE) {
            if(dbyte(step) == EOD) {
                step = -1; return;
            }
            else if(dbyte(step) == CM) {
                    step = step + 1;
                    GetStep();
                    return;
            }
            step = step + 1;
        }
    }
 
 
    function GetStep() {
        if(dbyte(step) == EOC) {
                step = 0;
                return;
        } 
        press = dbyte(step);
        step = step + 1;
    }
 
    function DoPress() {
        if(press == L) set_val(PS4_LEFT, 100);
        if(press == R) set_val(PS4_RIGHT, 100);
        if(press == U) set_val(PS4_UP, 100);
        if(press == D) set_val(PS4_DOWN, 100);
    }
 
    function ReleaseAll() {
            set_val(PS4_LEFT, 0);
            set_val(PS4_RIGHT, 0);
            set_val(PS4_UP, 0);
            set_val(PS4_DOWN, 0);
            set_val(PS4_L1, 100);
    }
 
    function colorled(a,b,c,d) {
            set_led(LED_1,a);
            set_led(LED_2,b);
            set_led(LED_3,c);
            set_led(LED_4,d);
    }