KB + XIM + Titan2 - Fortnite Combos

GPC2 script programming for Titan Two. Code examples, questions, requests.

Re: KB + XIM + Titan2 - Fortnite Combos

Postby skullnael » Thu May 24, 2018 11:19 am

thx for a quick reply mal really appreciate it.
1 more thing if you don't mind do u have the
input translator for this? and do i need to copy paste or
i have to put it manually?
User avatar
skullnael
Sergeant
Sergeant
 
Posts: 8
Joined: Tue May 01, 2018 10:19 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby MAL8010 » Thu May 24, 2018 5:50 pm

skullnael wrote:thx for a quick reply mal really appreciate it.
1 more thing if you don't mind do u have the
input translator for this? and do i need to copy paste or
i have to put it manually?


I'm not at my desk so can't share it at the moment, but it's only just the normal keyboard keybinds as I use a XIM. If you don't use a XIM I'd use the standard translator that should be in the online resources somewhere.
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby Shthappensbro » Sun May 27, 2018 6:51 am

MAL8010 wrote:
skullnael wrote:thx for a quick reply mal really appreciate it.
1 more thing if you don't mind do u have the
input translator for this? and do i need to copy paste or
i have to put it manually?


I'm not at my desk so can't share it at the moment, but it's only just the normal keyboard keybinds as I use a XIM. If you don't use a XIM I'd use the standard translator that should be in the online resources somewhere.



Does this work with the new update ? As I'm using builder pro
User avatar
Shthappensbro
Major
Major
 
Posts: 754
Joined: Wed Aug 16, 2017 4:55 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby MAL8010 » Sun May 27, 2018 2:23 pm

JamesCaywood wrote:
MAL8010 wrote:
skullnael wrote:thx for a quick reply mal really appreciate it.
1 more thing if you don't mind do u have the
input translator for this? and do i need to copy paste or
i have to put it manually?


I'm not at my desk so can't share it at the moment, but it's only just the normal keyboard keybinds as I use a XIM. If you don't use a XIM I'd use the standard translator that should be in the online resources somewhere.



Does this work with the new update ? As I'm using builder pro


this works for Builder Pro only.
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby HotSteppr » Wed May 30, 2018 8:54 pm

MAL8010 wrote:New script.

- New weapon slot code, making it faster and more reliable
- bug fixes
- new InstantBuild variable - if you don't want to instantly build a wall, floor, stairs etc but just want to select it instead turn this to FALSE.

Code: Select all
#pragma METAINFO("<Mark>", 1, 0, "FT 1 CLICK BUILD / WEAPON SLOTS")
 
#include <keyboard.gph>
#include <mouse.gph>
#include <display.gph>
#include "light_k.gph"
 
#define LB             BUTTON_7
#define RB             BUTTON_4
#define BUILD         BUTTON_15
#define AXE         BUTTON_14
#define FIRE        BUTTON_5
#define ADS         BUTTON_8
#define RELOAD        BUTTON_17
#define Wall        (KEY_Q)
#define Stairs      (KEY_E)
#define Floor       (KEY_F)
#define Roof         (KEY_X)
#define Wpn1          (KEY_1)
#define Wpn2          (KEY_2)
#define Wpn3          (KEY_3)
#define Wpn4          (KEY_4)
#define Wpn5          (KEY_5)
#define Change_Mats (KEY_G)
#define Place_Trap    (KEY_T)
#define Reset        (KEY_V)
#define Initial_Wait                 100
#define Same_Button_Wait             40
#define Generic_Between_Button_Wait 40
#define End_Wait                     60
#define Weapon_Wait1                30 
#define Weapon_Wait2                80
 
bool InstantBuild = TRUE;
bool onoff   = TRUE;
bool in_Build_Mode = FALSE;
bool in_Combat_Mode = TRUE;
bool in_Axe_Mode = FALSE;
int8 weapon_slot = 1;
int8 wpn_slot_switch = 1;
int8 Last_Piece_Build = 0;
 
main {   
 
///------------------------------------------------------------------------------
// MODE TRACKING
 
    if(in_Build_Mode) {
    set_light('R');
    in_Combat_Mode = FALSE;   
    }
 
    if(in_Combat_Mode) {
    set_light('G');
    in_Build_Mode = FALSE;   
    }
 
    if(weapon_slot > 5) {
        weapon_slot = 1;
    }
 
    if(!in_Axe_Mode) {
        if(weapon_slot < 1) {
            weapon_slot = 5;
        }
    }
 
    if((in_Build_Mode) && (in_Axe_Mode))
        weapon_slot = 0;
 
///------------------------------------------------------------------------------
// AXE MODE COMBINATIONS
 
    if(event_release(AXE)) {
        if ((in_Combat_Mode) && (!in_Axe_Mode))  //Weapon to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (!in_Axe_Mode))  //Build to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Combat_Mode) && (in_Axe_Mode))  //Weapon to Axe to Weapon via Axe
            in_Axe_Mode = FALSE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (in_Axe_Mode)) { //Weapon to Axe to Build to Axe
        weapon_slot = 1;
        wpn_slot_switch = 1;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        }   
    }
 
///------------------------------------------------------------------------------
// RESET
 
    if (key_status(Reset)) {  //Manual tracker reset to weapon_slot = 1;
        weapon_slot = 1;
        wpn_slot_switch = 1;
        Last_Piece_Build = 0;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        in_Axe_Mode = FALSE;
    }                                         
 
///------------------------------------------------------------------------------
// WEAPON LOAD-OUTS
 
        if(onoff){
 
            if(key_status(Wpn1)){   
                if(weapon_slot != 1)                   
                    wpn_slot_switch = 1;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                           
                    combo_run(GoToSlot);                                   
            }                                             
 
            if(key_status(Wpn2)){
                if(weapon_slot != 2)
                     wpn_slot_switch = 2;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                             
                    combo_run(GoToSlot);                                                                                               
            }                                           
 
            if(key_status(Wpn3)){
                if(weapon_slot != 3)
                     wpn_slot_switch = 3;                               
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);               
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))
                        combo_run(GoToSlot);                                                                           
            }                                           
 
            if(key_status(Wpn4)){
                if(weapon_slot != 4)
                     wpn_slot_switch = 4;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                       
                    combo_run(GoToSlot);                           
            }                                           
 
            if(key_status(Wpn5)){
                if(weapon_slot != 5)                   
                      wpn_slot_switch = 5;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                         
                        combo_run(GoToSlot);                                                                                           
            }                                           
 
        }
            set_val(Wpn1, 0);                     
            set_val(Wpn2, 0);                       
            set_val(Wpn3, 0);                     
            set_val(Wpn4, 0);                       
            set_val(Wpn5, 0);                                                 
 
 
///------------------------------------------------------------------------------
// BUILDING LOAD-OUTS
 
    if(key_status(Wall)){
        if(in_Combat_Mode){
            combo_run(BuildWall); //build the first new wall       
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 1)){ //if last piece is not a Wall, double tap RT
                combo_run(BuildWall2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 1)){ // if last piece as wall, turbo mode on
                    combo_run(BuildWall3);
                }
    }
 
    if(key_status(Floor)){
        if(in_Combat_Mode){
            combo_run(BuildFloor);         
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 2)){
                combo_run(BuildFloor2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 2)){
                    combo_run(BuildFloor3);
                }
    }
 
    if(key_status(Stairs)){
        if(in_Combat_Mode){
            combo_run(BuildStair);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 3)){
                combo_run(BuildStair2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 3)){
                    combo_run(BuildStair3);
                }
    }
 
 
    if(key_status(Roof)){
        if(in_Combat_Mode){
            combo_run(BuildRoof);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 4)){
                combo_run(BuildRoof2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 4)){
                    combo_run(BuildRoof3);
                }
    }
 
    //Turbo build using Fire
    if((in_Build_Mode) && (Last_Piece_Build > 0 ) && get_val(FIRE)){
        set_val(FIRE, 0);
        if (Last_Piece_Build == 1) combo_run (BuildWall3);
            else if (Last_Piece_Build == 2) combo_run(BuildFloor3);
                else if (Last_Piece_Build == 3) combo_run(BuildStair3);
                    else if (Last_Piece_Build == 4) combo_run(BuildRoof3);
    }
 
///------------------------------------------------------------------------------
// CHANGE MATS
 
            if(key_status(Change_Mats))    {
                if(in_Combat_Mode){
                    combo_run (ChangeMat1);}
                else if (in_Build_Mode){
                    combo_run (ChangeMat2);}
                }
 
///------------------------------------------------------------------------------
// PLACE TRAP
 
            if(key_status(Place_Trap)) {
                if(in_Combat_Mode){
                    combo_run (PlaceTrap1);}
                else if (in_Build_Mode){
                    combo_run( PlaceTrap2);}
                }
 
///------------------------------------------------------------------------------
// LED       
        if(!in_Axe_Mode){
        switch(weapon_slot) {
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_4_, 2000); break;
                case 5: display_overlay(_5_, 2000); break;
            }
        }
        if(in_Axe_Mode) {
                display_overlay(_0_, 2000);
        }
 
        if(in_Build_Mode) {
        switch(Last_Piece_Build)  {   
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_3_, 2000); break;
            }
        }             
 
}                                                               
 
combo GoToSlot {             
    onoff = FALSE;             
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 1 ){         
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100)
        else set_val(LB, 100);         
    }                                   
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 2 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 3 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 4 ){                     
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                       
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2);                           
 
    weapon_slot = wpn_slot_switch;                     
 
    onoff = TRUE;                         
} 
 
combo ToggleBuild {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(End_Wait);
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
}
 
combo ToggleAxe {
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
}
 
combo ToggleBuildAxe {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
    weapon_slot = 1;
}
 
combo BuildWall {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 1;
}
 
combo BuildFloor {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 2;
}
 
combo BuildStair {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 3;
}
 
combo BuildRoof {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 4;
}
 
combo BuildWall2 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor2 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair2 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
 
combo BuildRoof2 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo BuildWall3 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor3 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair3 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
combo BuildRoof3 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo ChangeMat1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(Initial_Wait);
    set_val(BUTTON_12, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_12, 0.0);
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo ChangeMat2 {
    wait(Initial_Wait);
    set_val(BUTTON_12, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_12, 0.0);
    wait(End_Wait);
}
combo PlaceTrap1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo PlaceTrap2 {
    wait(Initial_Wait);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 5;
 
}
 
 
int8 wpn_slot_switch_direction (int8 wpn_slot_switch, int8 weapon_slot){                   
 
    if(wpn_slot_switch > weapon_slot){ 
 
        if((wpn_slot_switch - weapon_slot) < 3){               
            return 1;   
 
        }else if((wpn_slot_switch - weapon_slot) >= 3) {           
            return 0;                 
        }                                   
 
    }else if(wpn_slot_switch < weapon_slot){             
 
        if((weapon_slot - wpn_slot_switch) < 3){           
            return 0;                 
        }else if((weapon_slot - wpn_slot_switch) >= 3) {           
            return 1;                   
        }                                 
    }  return 0;                             
}
 
int8 wpn_slot_switch_steps (int8 wpn_slot_switch, int8 weapon_slot) {
 
        if(wpn_slot_switch > weapon_slot){                   
 
            if((wpn_slot_switch - weapon_slot) < 3){               
                return (wpn_slot_switch - weapon_slot);
            }else if((wpn_slot_switch - weapon_slot) >= 3) {           
                return ((5 - wpn_slot_switch ) + weapon_slot) ;
            }                                   
 
        }else if(wpn_slot_switch < weapon_slot){             
 
            if((weapon_slot - wpn_slot_switch) < 3){           
                return (weapon_slot - wpn_slot_switch);                 
            }else if((weapon_slot - wpn_slot_switch) >= 3) {           
                return ((5 - weapon_slot) + wpn_slot_switch) ;
            }                                 
        }  return 0;                             
}
 
 
 


Hey MAL i was looking at moving back to ps4 and was wondering if you would be able to add shoot to build and chabge materials to L2 like a believe Alan has achieved? Have got use to it on pc and just thought i would ask if its possible
User avatar
HotSteppr
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Apr 21, 2018 7:50 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Thu May 31, 2018 5:18 pm

HotSteppr wrote:
MAL8010 wrote:New script.
Hey MAL i was looking at moving back to ps4 and was wondering if you would be able to add shoot to build and chabge materials to L2 like a believe Alan has achieved? Have got use to it on pc and just thought i would ask if its possible


MAL's latest script does build with the fire button like PC, only the materials button is different uses a Hotkey.

I play more on PC lately, when play on consoles I use a very simplistic script I wrote, builds like on PC -no instant-build-.

I use Multi-HID setup (keypad only on T2, T2 to XIM Hub) mouse is connected directly to XIM APEX for 1000Hz response rate translation it helps me to get a less magnetic AA, more PC feeling. T2 mouse input only works at 500Hz on Multi-HID. Connecting XIM APEX directly to T2 (like the setup for this script) makes my XIM get very hot, I don't like that.

Anyways, here is MAL's newest script it place pieces with R2, change materials with L2 while building (like PC) and it has a hotkey so you can change materials when you are in combat mode:
Code: Select all
 
#pragma METAINFO("<Mark>", 1, 0, "FT 1 CLICK BUILD / WEAPON SLOTS")
 
#include <keyboard.gph>
#include <mouse.gph>
#include <display.gph>
#include "light_k.gph"
 
#define LB             BUTTON_7
#define RB             BUTTON_4
#define BUILD         BUTTON_15
#define AXE         BUTTON_14
#define FIRE        BUTTON_5
#define ADS         BUTTON_8
#define RELOAD        BUTTON_17
#define LEFTDPAD BUTTON_12
#define Wall        (KEY_Q)
#define Stairs      (KEY_E)
#define Floor       (KEY_F)
#define Roof         (KEY_X)
#define Wpn1          (KEY_1)
#define Wpn2          (KEY_2)
#define Wpn3          (KEY_3)
#define Wpn4          (KEY_4)
#define Wpn5          (KEY_5)
#define Change_Mats (KEY_G)
#define Place_Trap    (KEY_T)
#define Reset        (KEY_V)
#define Initial_Wait                 100
#define Same_Button_Wait             40
#define Generic_Between_Button_Wait 40
#define End_Wait                     60
#define Weapon_Wait1                30 
#define Weapon_Wait2                80
 
bool InstantBuild = TRUE;
bool onoff   = TRUE;
bool in_Build_Mode = FALSE;
bool in_Combat_Mode = TRUE;
bool in_Axe_Mode = FALSE;
int8 weapon_slot = 1;
int8 wpn_slot_switch = 1;
int8 Last_Piece_Build = 0;
 
main {   
 
///------------------------------------------------------------------------------
// MODE TRACKING
 
    if(in_Build_Mode) {
    set_light('R');
    in_Combat_Mode = FALSE;   
    }
 
    if(in_Combat_Mode) {
    set_light('G');
    in_Build_Mode = FALSE;   
    }
 
    if(weapon_slot > 5) {
        weapon_slot = 1;
    }
 
    if(!in_Axe_Mode) {
        if(weapon_slot < 1) {
            weapon_slot = 5;
        }
    }
 
    if((in_Build_Mode) && (in_Axe_Mode))
        weapon_slot = 0;
 
///------------------------------------------------------------------------------
// AXE MODE COMBINATIONS
 
    if(event_release(AXE)) {
        if ((in_Combat_Mode) && (!in_Axe_Mode))  //Weapon to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (!in_Axe_Mode))  //Build to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Combat_Mode) && (in_Axe_Mode))  //Weapon to Axe to Weapon via Axe
            in_Axe_Mode = FALSE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (in_Axe_Mode)) { //Weapon to Axe to Build to Axe
        weapon_slot = 1;
        wpn_slot_switch = 1;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        }   
    }
 
///------------------------------------------------------------------------------
// RESET
 
    if (key_status(Reset)) {  //Manual tracker reset to weapon_slot = 1;
        weapon_slot = 1;
        wpn_slot_switch = 1;
        Last_Piece_Build = 0;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        in_Axe_Mode = FALSE;
    }                                         
 
///------------------------------------------------------------------------------
// WEAPON LOAD-OUTS
 
        if(onoff){
 
            if(key_status(Wpn1)){   
                if(weapon_slot != 1)                   
                    wpn_slot_switch = 1;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                           
                    combo_run(GoToSlot);                                   
            }                                             
 
            if(key_status(Wpn2)){
                if(weapon_slot != 2)
                     wpn_slot_switch = 2;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                             
                    combo_run(GoToSlot);                                                                                               
            }                                           
 
            if(key_status(Wpn3)){
                if(weapon_slot != 3)
                     wpn_slot_switch = 3;                               
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);               
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))
                        combo_run(GoToSlot);                                                                           
            }                                           
 
            if(key_status(Wpn4)){
                if(weapon_slot != 4)
                     wpn_slot_switch = 4;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                       
                    combo_run(GoToSlot);                           
            }                                           
 
            if(key_status(Wpn5)){
                if(weapon_slot != 5)                   
                      wpn_slot_switch = 5;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                         
                        combo_run(GoToSlot);                                                                                           
            }                                           
 
        }
            set_val(Wpn1, 0);                     
            set_val(Wpn2, 0);                       
            set_val(Wpn3, 0);                     
            set_val(Wpn4, 0);                       
            set_val(Wpn5, 0);                                                 
 
 
///------------------------------------------------------------------------------
// BUILDING LOAD-OUTS
 
    if(key_status(Wall)){
        if(in_Combat_Mode){
            combo_run(BuildWall); //build the first new wall       
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 1)){ //if last piece is not a Wall, double tap RT
                combo_run(BuildWall2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 1)){ // if last piece as wall, turbo mode on
                    combo_run(BuildWall3);
                }
    }
 
    if(key_status(Floor)){
        if(in_Combat_Mode){
            combo_run(BuildFloor);         
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 2)){
                combo_run(BuildFloor2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 2)){
                    combo_run(BuildFloor3);
                }
    }
 
    if(key_status(Stairs)){
        if(in_Combat_Mode){
            combo_run(BuildStair);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 3)){
                combo_run(BuildStair2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 3)){
                    combo_run(BuildStair3);
                }
    }
 
 
    if(key_status(Roof)){
        if(in_Combat_Mode){
            combo_run(BuildRoof);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 4)){
                combo_run(BuildRoof2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 4)){
                    combo_run(BuildRoof3);
                }
    }
 
    //Turbo build using Fire
    if((in_Build_Mode) && (Last_Piece_Build > 0 ) && get_val(FIRE)){
        set_val(FIRE, 0);
        if (Last_Piece_Build == 1) combo_run (BuildWall3);
            else if (Last_Piece_Build == 2) combo_run(BuildFloor3);
                else if (Last_Piece_Build == 3) combo_run(BuildStair3);
                    else if (Last_Piece_Build == 4) combo_run(BuildRoof3);
    }
 
///------------------------------------------------------------------------------
// CHANGE MATS
    // using L2
    if((in_Build_Mode) && get_val(ADS)){
        set_val(ADS, 0);
        set_val(LEFTDPAD, 100);
    }
 
    //via hotkey while on combat mode
    if(key_status(Change_Mats)){
        if(in_Combat_Mode){
            combo_run (ChangeMat1);
        }
    }
 
///------------------------------------------------------------------------------
// PLACE TRAP
    if(key_status(Place_Trap)) {
        if(in_Combat_Mode){
            combo_run (PlaceTrap1);
        }
        else
            if(in_Build_Mode){
                combo_run( PlaceTrap2);
            }
    }
 
///------------------------------------------------------------------------------
// LED       
        if(!in_Axe_Mode){
        switch(weapon_slot) {
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_4_, 2000); break;
                case 5: display_overlay(_5_, 2000); break;
            }
        }
        if(in_Axe_Mode) {
                display_overlay(_0_, 2000);
        }
 
        if(in_Build_Mode) {
        switch(Last_Piece_Build)  {   
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_3_, 2000); break;
            }
        }             
 
}                                                               
 
combo GoToSlot {             
    onoff = FALSE;             
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 1 ){         
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100)
        else set_val(LB, 100);         
    }                                   
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 2 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 3 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 4 ){                     
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                       
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2);                           
 
    weapon_slot = wpn_slot_switch;                     
 
    onoff = TRUE;                         
} 
 
combo ToggleBuild {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(End_Wait);
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
}
 
combo ToggleAxe {
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
}
 
combo ToggleBuildAxe {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
    weapon_slot = 1;
}
 
combo BuildWall {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 1;
}
 
combo BuildFloor {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 2;
}
 
combo BuildStair {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 3;
}
 
combo BuildRoof {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 4;
}
 
combo BuildWall2 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor2 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair2 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
 
combo BuildRoof2 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo BuildWall3 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor3 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair3 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
combo BuildRoof3 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo ChangeMat1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(Initial_Wait);
    set_val(BUTTON_12, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_12, 0.0);
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo PlaceTrap1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo PlaceTrap2 {
    wait(Initial_Wait);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 5;
 
}
 
 
int8 wpn_slot_switch_direction (int8 wpn_slot_switch, int8 weapon_slot){                   
 
    if(wpn_slot_switch > weapon_slot){ 
 
        if((wpn_slot_switch - weapon_slot) < 3){               
            return 1;   
 
        }else if((wpn_slot_switch - weapon_slot) >= 3) {           
            return 0;                 
        }                                   
 
    }else if(wpn_slot_switch < weapon_slot){             
 
        if((weapon_slot - wpn_slot_switch) < 3){           
            return 0;                 
        }else if((weapon_slot - wpn_slot_switch) >= 3) {           
            return 1;                   
        }                                 
    }  return 0;                             
}
 
int8 wpn_slot_switch_steps (int8 wpn_slot_switch, int8 weapon_slot) {
 
        if(wpn_slot_switch > weapon_slot){                   
 
            if((wpn_slot_switch - weapon_slot) < 3){               
                return (wpn_slot_switch - weapon_slot);
            }else if((wpn_slot_switch - weapon_slot) >= 3) {           
                return ((5 - wpn_slot_switch ) + weapon_slot) ;
            }                                   
 
        }else if(wpn_slot_switch < weapon_slot){             
 
            if((weapon_slot - wpn_slot_switch) < 3){           
                return (weapon_slot - wpn_slot_switch);                 
            }else if((weapon_slot - wpn_slot_switch) >= 3) {           
                return ((5 - weapon_slot) + wpn_slot_switch) ;
            }                                 
        }  return 0;                             
} 
 
User avatar
alanmcgregor
Major
Major
 
Posts: 981
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby HotSteppr » Thu May 31, 2018 9:58 pm

alanmcgregor wrote:
HotSteppr wrote:
MAL8010 wrote:New script.
Hey MAL i was looking at moving back to ps4 and was wondering if you would be able to add shoot to build and chabge materials to L2 like a believe Alan has achieved? Have got use to it on pc and just thought i would ask if its possible


MAL's latest script does build with the fire button like PC, only the materials button is different uses a Hotkey.

I play more on PC lately, when play on consoles I use a very simplistic script I wrote, builds like on PC -no instant-build-.

I use Multi-HID setup (keypad only on T2, T2 to XIM Hub) mouse is connected directly to XIM APEX for 1000Hz response rate translation it helps me to get a less magnetic AA, more PC feeling. T2 mouse input only works at 500Hz on Multi-HID. Connecting XIM APEX directly to T2 (like the setup for this script) makes my XIM get very hot, I don't like that.

Anyways, here is MAL's newest script it place pieces with R2, change materials with L2 while building (like PC) and it has a hotkey so you can change materials when you are in combat mode:
Code: Select all
 
#pragma METAINFO("<Mark>", 1, 0, "FT 1 CLICK BUILD / WEAPON SLOTS")
 
#include <keyboard.gph>
#include <mouse.gph>
#include <display.gph>
#include "light_k.gph"
 
#define LB             BUTTON_7
#define RB             BUTTON_4
#define BUILD         BUTTON_15
#define AXE         BUTTON_14
#define FIRE        BUTTON_5
#define ADS         BUTTON_8
#define RELOAD        BUTTON_17
#define LEFTDPAD BUTTON_12
#define Wall        (KEY_Q)
#define Stairs      (KEY_E)
#define Floor       (KEY_F)
#define Roof         (KEY_X)
#define Wpn1          (KEY_1)
#define Wpn2          (KEY_2)
#define Wpn3          (KEY_3)
#define Wpn4          (KEY_4)
#define Wpn5          (KEY_5)
#define Change_Mats (KEY_G)
#define Place_Trap    (KEY_T)
#define Reset        (KEY_V)
#define Initial_Wait                 100
#define Same_Button_Wait             40
#define Generic_Between_Button_Wait 40
#define End_Wait                     60
#define Weapon_Wait1                30 
#define Weapon_Wait2                80
 
bool InstantBuild = TRUE;
bool onoff   = TRUE;
bool in_Build_Mode = FALSE;
bool in_Combat_Mode = TRUE;
bool in_Axe_Mode = FALSE;
int8 weapon_slot = 1;
int8 wpn_slot_switch = 1;
int8 Last_Piece_Build = 0;
 
main {   
 
///------------------------------------------------------------------------------
// MODE TRACKING
 
    if(in_Build_Mode) {
    set_light('R');
    in_Combat_Mode = FALSE;   
    }
 
    if(in_Combat_Mode) {
    set_light('G');
    in_Build_Mode = FALSE;   
    }
 
    if(weapon_slot > 5) {
        weapon_slot = 1;
    }
 
    if(!in_Axe_Mode) {
        if(weapon_slot < 1) {
            weapon_slot = 5;
        }
    }
 
    if((in_Build_Mode) && (in_Axe_Mode))
        weapon_slot = 0;
 
///------------------------------------------------------------------------------
// AXE MODE COMBINATIONS
 
    if(event_release(AXE)) {
        if ((in_Combat_Mode) && (!in_Axe_Mode))  //Weapon to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (!in_Axe_Mode))  //Build to Axe
            in_Axe_Mode = TRUE;
        else if ((event_release(AXE)) && (in_Combat_Mode) && (in_Axe_Mode))  //Weapon to Axe to Weapon via Axe
            in_Axe_Mode = FALSE;
        else if ((event_release(AXE)) && (in_Build_Mode) && (in_Axe_Mode)) { //Weapon to Axe to Build to Axe
        weapon_slot = 1;
        wpn_slot_switch = 1;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        }   
    }
 
///------------------------------------------------------------------------------
// RESET
 
    if (key_status(Reset)) {  //Manual tracker reset to weapon_slot = 1;
        weapon_slot = 1;
        wpn_slot_switch = 1;
        Last_Piece_Build = 0;
        in_Build_Mode = FALSE;
        in_Combat_Mode = TRUE;
        in_Axe_Mode = FALSE;
    }                                         
 
///------------------------------------------------------------------------------
// WEAPON LOAD-OUTS
 
        if(onoff){
 
            if(key_status(Wpn1)){   
                if(weapon_slot != 1)                   
                    wpn_slot_switch = 1;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                           
                    combo_run(GoToSlot);                                   
            }                                             
 
            if(key_status(Wpn2)){
                if(weapon_slot != 2)
                     wpn_slot_switch = 2;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                             
                    combo_run(GoToSlot);                                                                                               
            }                                           
 
            if(key_status(Wpn3)){
                if(weapon_slot != 3)
                     wpn_slot_switch = 3;                               
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);               
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))
                        combo_run(GoToSlot);                                                                           
            }                                           
 
            if(key_status(Wpn4)){
                if(weapon_slot != 4)
                     wpn_slot_switch = 4;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                       
                    combo_run(GoToSlot);                           
            }                                           
 
            if(key_status(Wpn5)){
                if(weapon_slot != 5)                   
                      wpn_slot_switch = 5;
 
                if((in_Build_Mode) && (weapon_slot != 0))
                    combo_run(ToggleBuild);
 
                if((in_Combat_Mode) && (in_Axe_Mode))
                    combo_run(ToggleAxe);
 
                if((in_Build_Mode) && (in_Axe_Mode) && (weapon_slot == 0))
                    combo_run(ToggleBuildAxe);   
 
                if (in_Combat_Mode && !in_Axe_Mode && wpn_slot_switch_steps(wpn_slot_switch, weapon_slot))                         
                        combo_run(GoToSlot);                                                                                           
            }                                           
 
        }
            set_val(Wpn1, 0);                     
            set_val(Wpn2, 0);                       
            set_val(Wpn3, 0);                     
            set_val(Wpn4, 0);                       
            set_val(Wpn5, 0);                                                 
 
 
///------------------------------------------------------------------------------
// BUILDING LOAD-OUTS
 
    if(key_status(Wall)){
        if(in_Combat_Mode){
            combo_run(BuildWall); //build the first new wall       
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 1)){ //if last piece is not a Wall, double tap RT
                combo_run(BuildWall2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 1)){ // if last piece as wall, turbo mode on
                    combo_run(BuildWall3);
                }
    }
 
    if(key_status(Floor)){
        if(in_Combat_Mode){
            combo_run(BuildFloor);         
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 2)){
                combo_run(BuildFloor2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 2)){
                    combo_run(BuildFloor3);
                }
    }
 
    if(key_status(Stairs)){
        if(in_Combat_Mode){
            combo_run(BuildStair);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 3)){
                combo_run(BuildStair2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 3)){
                    combo_run(BuildStair3);
                }
    }
 
 
    if(key_status(Roof)){
        if(in_Combat_Mode){
            combo_run(BuildRoof);     
        }
        else
            if((in_Build_Mode) && (Last_Piece_Build != 4)){
                combo_run(BuildRoof2);
            }
            else
                if((in_Build_Mode) && (Last_Piece_Build == 4)){
                    combo_run(BuildRoof3);
                }
    }
 
    //Turbo build using Fire
    if((in_Build_Mode) && (Last_Piece_Build > 0 ) && get_val(FIRE)){
        set_val(FIRE, 0);
        if (Last_Piece_Build == 1) combo_run (BuildWall3);
            else if (Last_Piece_Build == 2) combo_run(BuildFloor3);
                else if (Last_Piece_Build == 3) combo_run(BuildStair3);
                    else if (Last_Piece_Build == 4) combo_run(BuildRoof3);
    }
 
///------------------------------------------------------------------------------
// CHANGE MATS
    // using L2
    if((in_Build_Mode) && get_val(ADS)){
        set_val(ADS, 0);
        set_val(LEFTDPAD, 100);
    }
 
    //via hotkey while on combat mode
    if(key_status(Change_Mats)){
        if(in_Combat_Mode){
            combo_run (ChangeMat1);
        }
    }
 
///------------------------------------------------------------------------------
// PLACE TRAP
    if(key_status(Place_Trap)) {
        if(in_Combat_Mode){
            combo_run (PlaceTrap1);
        }
        else
            if(in_Build_Mode){
                combo_run( PlaceTrap2);
            }
    }
 
///------------------------------------------------------------------------------
// LED       
        if(!in_Axe_Mode){
        switch(weapon_slot) {
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_4_, 2000); break;
                case 5: display_overlay(_5_, 2000); break;
            }
        }
        if(in_Axe_Mode) {
                display_overlay(_0_, 2000);
        }
 
        if(in_Build_Mode) {
        switch(Last_Piece_Build)  {   
                case 0: display_overlay(_0_, 2000); break;
                case 1: display_overlay(_1_, 2000); break;
                case 2: display_overlay(_2_, 2000); break;
                case 3: display_overlay(_3_, 2000); break;
                case 4: display_overlay(_3_, 2000); break;
            }
        }             
 
}                                                               
 
combo GoToSlot {             
    onoff = FALSE;             
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 1 ){         
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100)
        else set_val(LB, 100);         
    }                                   
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 2 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                           
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 3 ){                   
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                     
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2)
 
    if(wpn_slot_switch_steps(wpn_slot_switch, weapon_slot) >= 4 ){                     
        if(wpn_slot_switch_direction(wpn_slot_switch, weapon_slot) != 0)
        set_val(RB, 100);   
        else set_val(LB, 100);           
    }                                       
    wait(Weapon_Wait1);                             
    wait(Weapon_Wait2);                           
 
    weapon_slot = wpn_slot_switch;                     
 
    onoff = TRUE;                         
} 
 
combo ToggleBuild {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(End_Wait);
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
}
 
combo ToggleAxe {
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
}
 
combo ToggleBuildAxe {
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(AXE, 100);
    wait(Same_Button_Wait);
    set_val(AXE, 0);
    wait(End_Wait);
    in_Axe_Mode = FALSE;
    in_Build_Mode = FALSE;
    in_Combat_Mode = TRUE;
    weapon_slot = 1;
}
 
combo BuildWall {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 1;
}
 
combo BuildFloor {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 2;
}
 
combo BuildStair {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 3;
}
 
combo BuildRoof {
    wait(Initial_Wait);
    set_val(BUILD, 100);
    wait(Same_Button_Wait);
    set_val(BUILD, 0);
    wait(Generic_Between_Button_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 4;
}
 
combo BuildWall2 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(FIRE, 100);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor2 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(RB, 100);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair2 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(ADS, 100);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
 
combo BuildRoof2 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(Generic_Between_Button_Wait);
    if(InstantBuild) set_val(LB, 100);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo BuildWall3 {
    wait(Initial_Wait);
    set_val(FIRE, 100);
    wait(Same_Button_Wait);
    set_val(FIRE, 0);
    wait(End_Wait);
    Last_Piece_Build = 1;
}
 
combo BuildFloor3 {
    wait(Initial_Wait);
    set_val(RB, 100);
    wait(Same_Button_Wait);
    set_val(RB, 0);
    wait(End_Wait);
    Last_Piece_Build = 2;
}
 
combo BuildStair3 {
    wait(Initial_Wait);
    set_val(ADS, 100);
    wait(Same_Button_Wait);
    set_val(ADS, 0);
    wait(End_Wait);
    Last_Piece_Build = 3;
}
combo BuildRoof3 {
    wait(Initial_Wait);
    set_val(LB, 100);
    wait(Same_Button_Wait);
    set_val(LB, 0);
    wait(End_Wait);
    Last_Piece_Build = 4;
}
 
combo ChangeMat1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(Initial_Wait);
    set_val(BUTTON_12, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_12, 0.0);
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo PlaceTrap1 {
    wait(Initial_Wait);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUILD, 100.0);
    wait(Same_Button_Wait);
    set_val(BUILD, 0.0);
    wait(End_Wait);
}
 
combo PlaceTrap2 {
    wait(Initial_Wait);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(100);
    set_val(BUTTON_17, 100.0);
    wait(Same_Button_Wait);
    set_val(BUTTON_17, 0.0);
    wait(End_Wait);
    in_Build_Mode = TRUE;
    Last_Piece_Build = 5;
 
}
 
 
int8 wpn_slot_switch_direction (int8 wpn_slot_switch, int8 weapon_slot){                   
 
    if(wpn_slot_switch > weapon_slot){ 
 
        if((wpn_slot_switch - weapon_slot) < 3){               
            return 1;   
 
        }else if((wpn_slot_switch - weapon_slot) >= 3) {           
            return 0;                 
        }                                   
 
    }else if(wpn_slot_switch < weapon_slot){             
 
        if((weapon_slot - wpn_slot_switch) < 3){           
            return 0;                 
        }else if((weapon_slot - wpn_slot_switch) >= 3) {           
            return 1;                   
        }                                 
    }  return 0;                             
}
 
int8 wpn_slot_switch_steps (int8 wpn_slot_switch, int8 weapon_slot) {
 
        if(wpn_slot_switch > weapon_slot){                   
 
            if((wpn_slot_switch - weapon_slot) < 3){               
                return (wpn_slot_switch - weapon_slot);
            }else if((wpn_slot_switch - weapon_slot) >= 3) {           
                return ((5 - wpn_slot_switch ) + weapon_slot) ;
            }                                   
 
        }else if(wpn_slot_switch < weapon_slot){             
 
            if((weapon_slot - wpn_slot_switch) < 3){           
                return (weapon_slot - wpn_slot_switch);                 
            }else if((weapon_slot - wpn_slot_switch) >= 3) {           
                return ((5 - weapon_slot) + wpn_slot_switch) ;
            }                                 
        }  return 0;                             
} 
 


Thank you so much Alan and MAL i will give it a crack tonight. Im also playing on PC and cant bring myself to play on 1080p since playing 1440p @ 165hz on PC for so long hahaha, the only thing that would complete this is a edit building hotkey and reset edit with L2 to make it the complete PC experience on console lol. Once again thank yous so so much.
User avatar
HotSteppr
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Apr 21, 2018 7:50 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Fri Jun 01, 2018 2:22 am

You're welcome dude, man 1440p 165Hz to console, that's rough eheheh. Wish you many Victories.
User avatar
alanmcgregor
Major
Major
 
Posts: 981
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby HotSteppr » Fri Jun 01, 2018 12:31 pm

alanmcgregor wrote:You're welcome dude, man 1440p 165Hz to console, that's rough eheheh. Wish you many Victories.


Hahaha i gave it a honest attempt tonight aye now i feel like this T2 was a waste of money unless it has use on PC or someone brings out a decent script for another game i play lol. playing 165hz 1440p really does show you how underwhelming 1080p is lmao even on epic 1080p on my pc isnt acceptable anymore hahaha, dont really see the use to use T2 on PC is there? with all the tracking issues i may encounter opposed to being the only benefit would be aim assist which isnt that big of a deal
User avatar
HotSteppr
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Apr 21, 2018 7:50 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby MAL8010 » Fri Jun 01, 2018 1:05 pm

HotSteppr wrote: 
the only thing that would complete this is a edit building hotkey and reset edit with L2 to make it the complete PC experience on console lol. Once again thank yous so so much.


Problem with this is you also use ADS for changing mats when in build mode. Thus in order to use ADS for resetting a build edit you need to track when in build mode versus when in building edit mode. It's another layer of tracking which is not ideal for just 1 button. Can be done but might cause some issues with the UI losing tracking from time to time.
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

PreviousNext

Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 58 guests