[REQUEST] Xim Apex + T2 (MAL's script)

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

[REQUEST] Xim Apex + T2 (MAL's script)

Postby HidNSeek » Sun Mar 18, 2018 6:56 pm

Can someone help me remap MAL's fortnite combo script for keyboard with this layout.

Keyboard
Q = L1
E = R1
Inventory = TAB
Map = G
WASD = Left stick X/Y
R = Square
L Shift = L3
Mouse
Mouse Forward = R3
Mouse backward = O
Left Click = R2
Right Click = L2
Mouse scrolldown = Triangle

--Button for script--
F for wall
C for stairs
V for floor

---------------
I know it is a lot to ask but I tried playing around with the script and input map for week, and I'm just not making any progress. I'm currently using logitech macro but it's just a messy macro for fortnite.
User avatar
HidNSeek
Sergeant First Class
Sergeant First Class
 
Posts: 18
Joined: Mon Mar 12, 2018 3:09 am

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby MAL8010 » Sun Mar 18, 2018 7:23 pm

HidNSeek wrote:Can someone help me remap MAL's fortnite combo script for keyboard with this layout.

Keyboard
Q = L1
E = R1
Inventory = TAB
Map = G
WASD = Left stick X/Y
R = Square
L Shift = L3
Mouse
Mouse Forward = R3
Mouse backward = O
Left Click = R2
Right Click = L2
Mouse scrolldown = Triangle

--Button for script--
F for wall
C for stairs
V for floor

---------------
I know it is a lot to ask but I tried playing around with the script and input map for week, and I'm just not making any progress. I'm currently using logitech macro but it's just a messy macro for fortnite.


I can look at this, couple things:

1. What is your RESET button, a button to reset the tracking if it's incorrect, especially have to do this when the game first starts. By default it's the controller unput d-pad right, but you can assign it to any mouse/KB key, just let me know what you want it to be.

2. How is your scroll wheel button defined? What I mean by thus is for me who uses a Logitech G502 I have all my mouse buttons outside of MBUTTON 1/2 and MWHEEL as actual key's in the Logitech Software so for example scroll wheel for me is KEY_L. Do you have the same? If not, when you press the scroll wheel when the mouse is connected to the T2, what does it show in the Device Monitor as being pressed?
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby HidNSeek » Sun Mar 18, 2018 7:58 pm

MAL8010 wrote:
HidNSeek wrote:Can someone help me remap MAL's fortnite combo script for keyboard with this layout.

Keyboard
Q = L1
E = R1
Inventory = TAB
Map = G
WASD = Left stick X/Y
R = Square
L Shift = L3
Mouse
Mouse Forward = R3
Mouse backward = O
Left Click = R2
Right Click = L2
Mouse scrolldown = Triangle

--Button for script--
F for wall
C for stairs
V for floor

---------------
I know it is a lot to ask but I tried playing around with the script and input map for week, and I'm just not making any progress. I'm currently using logitech macro but it's just a messy macro for fortnite.


I can look at this, couple things:

1. What is your RESET button, a button to reset the tracking if it's incorrect, especially have to do this when the game first starts. By default it's the controller unput d-pad right, but you can assign it to any mouse/KB key, just let me know what you want it to be.

2. How is your scroll wheel button defined? What I mean by thus is for me who uses a Logitech G502 I have all my mouse buttons outside of MBUTTON 1/2 and MWHEEL as actual key's in the Logitech Software so for example scroll wheel for me is KEY_L. Do you have the same? If not, when you press the scroll wheel when the mouse is connected to the T2, what does it show in the Device Monitor as being pressed?


I’m also using a g502. In this case the reset button would be G8 which is mapped to P, and for the scroll wheel I like to keep it undefined for scroll up because sometime I mess up while clicking and scroll it up and for scroll down I like to keep it as triangle.

And by scroll wheel you mean Middle wheel?
User avatar
HidNSeek
Sergeant First Class
Sergeant First Class
 
Posts: 18
Joined: Mon Mar 12, 2018 3:09 am

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby MAL8010 » Sun Mar 18, 2018 7:59 pm

Try this script:

Code: Select all
#pragma METAINFO("<Mark>", 1, 0, "FORTNITE BUILDING ONLY - T2 INTO XIM APEX") 
 
#include <keyboard.gph>
#include <display.gph>
#include "light_k.gph"
#include <mouse.gph>
#define Reset BUTTON_13 //manual reset of tracking (right arrow)
#define Wall (KEY_F)
#define Floor (KEY_V)
#define Stair (KEY_C)
#define InitailEnd_Wait 20
#define SameButton_Wait 40
#define GenericBetweenButton_Wait 50
#define BeforeFireButton_Wait1 50
#define BeforeFireButton_Wait2 100
#define RB (KEY_L)
#define LB (KEY_Q)
#define Build (MOUSE_WHEEL)
#define Fire (MBUTTON_1)
 
 
 
//mode and tracker
int mode;
int bldvalue;
int NavState;
 
//building hotkeys and tracker
int bldslottrack=1;
bool event_active_b;
bool event_active_n;
bool event_active_f;
 
main {
 
    mouse_passthru();
    key_passthru();
 
//------------------------------------------------------------------------------
//MODE TRACKING
 
    if (mode == 0) {
        set_light('G');
        }
 
    if (mode == 1) {
        set_light('R');
        }
 
    if (mode > 1) {
        mode = 0;}
 
    if ((event_release(BUTTON_15)) && (mode == 0)){
            mode = 1; //building mode
            }
 
    else if (event_release(BUTTON_15) && (mode == 1)) {
            mode = 0; //combat mode
            bldslottrack = 1; //building always resets to slot 1, weapons to last occupied slot
            }
 
//------------------------------------------------------------------------------
//BUILDING AND WEAPON SLOT TRACKING
 
    //Building to axe - has to return to slot 1
    if ((event_release(BUTTON_14)) && (mode == 1)) {
        mode = 0;
        bldslottrack = 1;
        }
 
    if ((event_release(BUTTON_4)) && (mode == 1)) {
        bldslottrack = bldslottrack + 1;
            if (bldslottrack > 4) {
                bldslottrack = 1;
            }
        }
 
    if ((event_release(BUTTON_7)) && (mode == 1)) {
        bldslottrack = bldslottrack - 1;
            if (bldslottrack < 1) {
                bldslottrack = 4;
            }
        }
 
//------------------------------------------------------------------------------
//TRACKER RESETS
 
    //manual tracker reset to weapon mode slot1
    if (event_active(Reset)) {
        mode = 0;
        bldslottrack = 1;
    }
 
    //Since B is cancel as well as enter building mode, need to reset tracker if using to cancel out of xbox menu, inventory, game menu, emotes
    if (event_release (BUTTON_1) || event_release (BUTTON_3) || event_release (BUTTON_10) || event_release (BUTTON_11)) {
        NavState = 1;}
 
    // Pressing B to cancel resets
    if (event_release (BUTTON_15) && NavState) {
        mode = mode + 1;
        NavState = 0;}
 
//------------------------------------------------------------------------------
// LOAD-OUTS
 
       if(key_status(Wall)) {
            bldvalue = 1 -  bldslottrack;
            if(!event_active_b) {
                event_active_b = TRUE;
                if (mode == 0){ //weapons or pickaxe to wall
                    combo_run (BuildWall);
                }     else if ((mode == 1) && (bldvalue == 0)) { //already have wall selected
                        combo_run (RT);}
                    else { //moving from building slots 2,3,4 to wall
                        if (bldvalue == -1) {
                            combo_run (QLB1);
                            bldslottrack = 1;}
                        if (bldvalue == -2) {
                            combo_run (QLB2);
                            bldslottrack = 1;}
                        if (bldvalue == -3) {
                            combo_run (QRB1);
                            bldslottrack = 1;}
                    }
                }
        } else event_active_b = FALSE;
 
        if(key_status(Floor))  {
                bldvalue = 2 -  bldslottrack;
                if(!event_active_f) {
                    event_active_f = TRUE;
                    if (mode == 0){
                        combo_run (BuildFloor);
                    }    else if    ((mode == 1) && (bldvalue == 0)) {
                            combo_run (RT);}
                        else {   
                            if (bldvalue == 1) {
                                combo_run (QRB1);
                                bldslottrack = 2;}
                            if (bldvalue == -1) {
                                combo_run (QLB1);
                                bldslottrack = 2;}
                            if (bldvalue == -2) {
                                combo_run (QLB2);
                                bldslottrack = 2;}
                    }
                }
        } else event_active_f = FALSE;   
 
        if(key_status(Stair))    { 
                bldvalue = 3 -  bldslottrack;
                if(!event_active_n) {
                    event_active_n = TRUE;
                    if (mode == 0){
                        combo_run (BuildStair);
                    } else if ((mode == 1) && (bldvalue == 0)) {
                        combo_run (RT);}
                      else {
                          if (bldvalue == 2) {
                              combo_run (QLB2);
                              bldslottrack = 3;}
                          if (bldvalue == 1) {
                              combo_run (QRB1);
                              bldslottrack = 3;}
                          if (bldvalue == -1) {
                              combo_run (QLB1);
                              bldslottrack = 3;}
                    }
                }
        } else event_active_n = FALSE;   
 
//------------------------------------------------------------------------------
//LED                   
        if (mode == 1){           
        switch(bldslottrack) {
                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;
            }
        }
 
        if (mode == 0) {
            display_overlay(_0_, 2000); }   
 
} // main
 
combo BuildWall {
    wait(InitailEnd_Wait);
    mouse_set(Build, -1);
    wait(SameButton_Wait);
    mouse_set(Build, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 1;
    mode = 1;
}
 
combo BuildFloor {
    wait(InitailEnd_Wait);
    mouse_set(Build, -1);
    wait(SameButton_Wait);
    mouse_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 2;
    mode = 1;
}
 
combo BuildStair {
    wait(InitailEnd_Wait);
    mouse_set(Build, -1);
    wait(SameButton_Wait);
    mouse_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 3;
    mode = 1;
}
 
combo QLB1 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QLB2 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QRB1 {
    wait(InitailEnd_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}   
 
combo RT {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
 
 
 


Then use this Input Translator and attach them to the same Memory Slot.

Image

Two things you need to add to it:

1. A bind for BUTTON_13 (Reset button) in Keyboard or Mouse
2. A bind for your scroll wheel mouse button. As per above ideally map it to a key and thus have the key mapped to BUTTON_14 (Triangle) in keyboard mapping.

I haven't tested in game just in Device Monitor and all seems ok, but test it out and let me know if any issues.
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby MAL8010 » Sun Mar 18, 2018 8:02 pm

HidNSeek wrote:
MAL8010 wrote:
HidNSeek wrote:Can someone help me remap MAL's fortnite combo script for keyboard with this layout.

Keyboard
Q = L1
E = R1
Inventory = TAB
Map = G
WASD = Left stick X/Y
R = Square
L Shift = L3
Mouse
Mouse Forward = R3
Mouse backward = O
Left Click = R2
Right Click = L2
Mouse scrolldown = Triangle

--Button for script--
F for wall
C for stairs
V for floor

---------------
I know it is a lot to ask but I tried playing around with the script and input map for week, and I'm just not making any progress. I'm currently using logitech macro but it's just a messy macro for fortnite.


I can look at this, couple things:

1. What is your RESET button, a button to reset the tracking if it's incorrect, especially have to do this when the game first starts. By default it's the controller unput d-pad right, but you can assign it to any mouse/KB key, just let me know what you want it to be.

2. How is your scroll wheel button defined? What I mean by thus is for me who uses a Logitech G502 I have all my mouse buttons outside of MBUTTON 1/2 and MWHEEL as actual key's in the Logitech Software so for example scroll wheel for me is KEY_L. Do you have the same? If not, when you press the scroll wheel when the mouse is connected to the T2, what does it show in the Device Monitor as being pressed?


I’m also using a g502. In this case the reset button would be G8 which is mapped to P, and for the scroll wheel I like to keep it undefined for scroll up because sometime I mess up while clicking and scroll it up and for scroll down I like to keep it as triangle.

And by scroll wheel you mean Middle wheel?


Ah by this

Mouse Forward = R3
Mouse backward = O
Mouse scrolldown = Triangle

I presume you mean Mouse wheel forward = R3, mouse wheel back = O and the mouse wheel button to be Triangle. Is this not what you meant?
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby HidNSeek » Sun Mar 18, 2018 8:29 pm

R3 for G5 and On for G4 and mouse wheel back for triangle
User avatar
HidNSeek
Sergeant First Class
Sergeant First Class
 
Posts: 18
Joined: Mon Mar 12, 2018 3:09 am

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby MAL8010 » Sun Mar 18, 2018 8:50 pm

HidNSeek wrote:R3 for G5 and On for G4 and mouse wheel back for triangle


Ah ok I remember now, the original G502 button names are forward and back aren't they. What you need to do is change them to a keybind in the logitech software. It's simple to do, just use a key that you won't use for anything else on your KB in game, so something like O and P for example.

So for example mine is B and N as per picture below.

Image
free gif sharing

In case you don't know how to do this, click on the button, edit, keystroke and type the key you want to change to. Do that and let me know what keys you choose and I'll amend the script.
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby HidNSeek » Sun Mar 18, 2018 9:47 pm

G4 as M and G5 as N
User avatar
HidNSeek
Sergeant First Class
Sergeant First Class
 
Posts: 18
Joined: Mon Mar 12, 2018 3:09 am

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby MAL8010 » Sun Mar 18, 2018 11:21 pm

HidNSeek wrote:G4 as M and G5 as N


Try this script

Code: Select all
#pragma METAINFO("<Mark>", 1, 0, "FORTNITE BUILDING ONLY - T2 INTO XIM APEX") 
 
#include <keyboard.gph>
#include <display.gph>
#include "light_k.gph"
#include <mouse.gph>
#define Reset BUTTON_13 //manual reset of tracking (right arrow)
#define Wall (KEY_F)
#define Floor (KEY_V)
#define Stair (KEY_C)
#define InitailEnd_Wait 20
#define SameButton_Wait 40
#define GenericBetweenButton_Wait 50
#define BeforeFireButton_Wait1 50
#define BeforeFireButton_Wait2 100
#define RB (KEY_E)
#define LB (KEY_Q)
#define Build (KEY_N)
#define Fire (MBUTTON_1)
 
 
 
//mode and tracker
int mode;
int bldvalue;
int NavState;
 
//building hotkeys and tracker
int bldslottrack=1;
bool event_active_b;
bool event_active_n;
bool event_active_f;
 
main {
 
    mouse_passthru();
    key_passthru();
 
//------------------------------------------------------------------------------
//MODE TRACKING
 
    if (mode == 0) {
        set_light('G');
        }
 
    if (mode == 1) {
        set_light('R');
        }
 
    if (mode > 1) {
        mode = 0;}
 
    if ((event_release(BUTTON_15)) && (mode == 0)){
            mode = 1; //building mode
            }
 
    else if (event_release(BUTTON_15) && (mode == 1)) {
            mode = 0; //combat mode
            bldslottrack = 1; //building always resets to slot 1, weapons to last occupied slot
            }
 
//------------------------------------------------------------------------------
//BUILDING AND WEAPON SLOT TRACKING
 
    //Building to axe - has to return to slot 1
    if ((event_release(BUTTON_14)) && (mode == 1)) {
        mode = 0;
        bldslottrack = 1;
        }
 
    if ((event_release(BUTTON_4)) && (mode == 1)) {
        bldslottrack = bldslottrack + 1;
            if (bldslottrack > 4) {
                bldslottrack = 1;
            }
        }
 
    if ((event_release(BUTTON_7)) && (mode == 1)) {
        bldslottrack = bldslottrack - 1;
            if (bldslottrack < 1) {
                bldslottrack = 4;
            }
        }
 
//------------------------------------------------------------------------------
//TRACKER RESETS
 
    //manual tracker reset to weapon mode slot1
    if (event_active(Reset)) {
        mode = 0;
        bldslottrack = 1;
    }
 
    //Since B is cancel as well as enter building mode, need to reset tracker if using to cancel out of xbox menu, inventory, game menu, emotes
    if (event_release (BUTTON_1) || event_release (BUTTON_3) || event_release (BUTTON_10) || event_release (BUTTON_11)) {
        NavState = 1;}
 
    // Pressing B to cancel resets
    if (event_release (BUTTON_15) && NavState) {
        mode = mode + 1;
        NavState = 0;}
 
//------------------------------------------------------------------------------
// LOAD-OUTS
 
       if(key_status(Wall)) {
            bldvalue = 1 -  bldslottrack;
            if(!event_active_b) {
                event_active_b = TRUE;
                if (mode == 0){ //weapons or pickaxe to wall
                    combo_run (BuildWall);
                }     else if ((mode == 1) && (bldvalue == 0)) { //already have wall selected
                        combo_run (RT);}
                    else { //moving from building slots 2,3,4 to wall
                        if (bldvalue == -1) {
                            combo_run (QLB1);
                            bldslottrack = 1;}
                        if (bldvalue == -2) {
                            combo_run (QLB2);
                            bldslottrack = 1;}
                        if (bldvalue == -3) {
                            combo_run (QRB1);
                            bldslottrack = 1;}
                    }
                }
        } else event_active_b = FALSE;
 
        if(key_status(Floor))  {
                bldvalue = 2 -  bldslottrack;
                if(!event_active_f) {
                    event_active_f = TRUE;
                    if (mode == 0){
                        combo_run (BuildFloor);
                    }    else if    ((mode == 1) && (bldvalue == 0)) {
                            combo_run (RT);}
                        else {   
                            if (bldvalue == 1) {
                                combo_run (QRB1);
                                bldslottrack = 2;}
                            if (bldvalue == -1) {
                                combo_run (QLB1);
                                bldslottrack = 2;}
                            if (bldvalue == -2) {
                                combo_run (QLB2);
                                bldslottrack = 2;}
                    }
                }
        } else event_active_f = FALSE;   
 
        if(key_status(Stair))    { 
                bldvalue = 3 -  bldslottrack;
                if(!event_active_n) {
                    event_active_n = TRUE;
                    if (mode == 0){
                        combo_run (BuildStair);
                    } else if ((mode == 1) && (bldvalue == 0)) {
                        combo_run (RT);}
                      else {
                          if (bldvalue == 2) {
                              combo_run (QLB2);
                              bldslottrack = 3;}
                          if (bldvalue == 1) {
                              combo_run (QRB1);
                              bldslottrack = 3;}
                          if (bldvalue == -1) {
                              combo_run (QLB1);
                              bldslottrack = 3;}
                    }
                }
        } else event_active_n = FALSE;   
 
//------------------------------------------------------------------------------
//LED                   
        if (mode == 1){           
        switch(bldslottrack) {
                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;
            }
        }
 
        if (mode == 0) {
            display_overlay(_0_, 2000); }   
 
} // main
 
combo BuildWall {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 1;
    mode = 1;
}
 
combo BuildFloor {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 2;
    mode = 1;
}
 
combo BuildStair {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 3;
    mode = 1;
}
 
combo QLB1 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QLB2 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QRB1 {
    wait(InitailEnd_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}   
 
combo RT {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
 
 
 


Using this Input Translator

Image
multiple image upload
User avatar
MAL8010
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 263
Joined: Sun Feb 05, 2017 3:12 pm

Re: [REQUEST] Xim Apex + T2 (MAL's script)

Postby HidNSeek » Mon Mar 19, 2018 7:48 am

MAL8010 wrote:
HidNSeek wrote:G4 as M and G5 as N


Try this script

Code: Select all
#pragma METAINFO("<Mark>", 1, 0, "FORTNITE BUILDING ONLY - T2 INTO XIM APEX") 
 
#include <keyboard.gph>
#include <display.gph>
#include "light_k.gph"
#include <mouse.gph>
#define Reset BUTTON_13 //manual reset of tracking (right arrow)
#define Wall (KEY_F)
#define Floor (KEY_V)
#define Stair (KEY_C)
#define InitailEnd_Wait 20
#define SameButton_Wait 40
#define GenericBetweenButton_Wait 50
#define BeforeFireButton_Wait1 50
#define BeforeFireButton_Wait2 100
#define RB (KEY_E)
#define LB (KEY_Q)
#define Build (KEY_N)
#define Fire (MBUTTON_1)
 
 
 
//mode and tracker
int mode;
int bldvalue;
int NavState;
 
//building hotkeys and tracker
int bldslottrack=1;
bool event_active_b;
bool event_active_n;
bool event_active_f;
 
main {
 
    mouse_passthru();
    key_passthru();
 
//------------------------------------------------------------------------------
//MODE TRACKING
 
    if (mode == 0) {
        set_light('G');
        }
 
    if (mode == 1) {
        set_light('R');
        }
 
    if (mode > 1) {
        mode = 0;}
 
    if ((event_release(BUTTON_15)) && (mode == 0)){
            mode = 1; //building mode
            }
 
    else if (event_release(BUTTON_15) && (mode == 1)) {
            mode = 0; //combat mode
            bldslottrack = 1; //building always resets to slot 1, weapons to last occupied slot
            }
 
//------------------------------------------------------------------------------
//BUILDING AND WEAPON SLOT TRACKING
 
    //Building to axe - has to return to slot 1
    if ((event_release(BUTTON_14)) && (mode == 1)) {
        mode = 0;
        bldslottrack = 1;
        }
 
    if ((event_release(BUTTON_4)) && (mode == 1)) {
        bldslottrack = bldslottrack + 1;
            if (bldslottrack > 4) {
                bldslottrack = 1;
            }
        }
 
    if ((event_release(BUTTON_7)) && (mode == 1)) {
        bldslottrack = bldslottrack - 1;
            if (bldslottrack < 1) {
                bldslottrack = 4;
            }
        }
 
//------------------------------------------------------------------------------
//TRACKER RESETS
 
    //manual tracker reset to weapon mode slot1
    if (event_active(Reset)) {
        mode = 0;
        bldslottrack = 1;
    }
 
    //Since B is cancel as well as enter building mode, need to reset tracker if using to cancel out of xbox menu, inventory, game menu, emotes
    if (event_release (BUTTON_1) || event_release (BUTTON_3) || event_release (BUTTON_10) || event_release (BUTTON_11)) {
        NavState = 1;}
 
    // Pressing B to cancel resets
    if (event_release (BUTTON_15) && NavState) {
        mode = mode + 1;
        NavState = 0;}
 
//------------------------------------------------------------------------------
// LOAD-OUTS
 
       if(key_status(Wall)) {
            bldvalue = 1 -  bldslottrack;
            if(!event_active_b) {
                event_active_b = TRUE;
                if (mode == 0){ //weapons or pickaxe to wall
                    combo_run (BuildWall);
                }     else if ((mode == 1) && (bldvalue == 0)) { //already have wall selected
                        combo_run (RT);}
                    else { //moving from building slots 2,3,4 to wall
                        if (bldvalue == -1) {
                            combo_run (QLB1);
                            bldslottrack = 1;}
                        if (bldvalue == -2) {
                            combo_run (QLB2);
                            bldslottrack = 1;}
                        if (bldvalue == -3) {
                            combo_run (QRB1);
                            bldslottrack = 1;}
                    }
                }
        } else event_active_b = FALSE;
 
        if(key_status(Floor))  {
                bldvalue = 2 -  bldslottrack;
                if(!event_active_f) {
                    event_active_f = TRUE;
                    if (mode == 0){
                        combo_run (BuildFloor);
                    }    else if    ((mode == 1) && (bldvalue == 0)) {
                            combo_run (RT);}
                        else {   
                            if (bldvalue == 1) {
                                combo_run (QRB1);
                                bldslottrack = 2;}
                            if (bldvalue == -1) {
                                combo_run (QLB1);
                                bldslottrack = 2;}
                            if (bldvalue == -2) {
                                combo_run (QLB2);
                                bldslottrack = 2;}
                    }
                }
        } else event_active_f = FALSE;   
 
        if(key_status(Stair))    { 
                bldvalue = 3 -  bldslottrack;
                if(!event_active_n) {
                    event_active_n = TRUE;
                    if (mode == 0){
                        combo_run (BuildStair);
                    } else if ((mode == 1) && (bldvalue == 0)) {
                        combo_run (RT);}
                      else {
                          if (bldvalue == 2) {
                              combo_run (QLB2);
                              bldslottrack = 3;}
                          if (bldvalue == 1) {
                              combo_run (QRB1);
                              bldslottrack = 3;}
                          if (bldvalue == -1) {
                              combo_run (QLB1);
                              bldslottrack = 3;}
                    }
                }
        } else event_active_n = FALSE;   
 
//------------------------------------------------------------------------------
//LED                   
        if (mode == 1){           
        switch(bldslottrack) {
                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;
            }
        }
 
        if (mode == 0) {
            display_overlay(_0_, 2000); }   
 
} // main
 
combo BuildWall {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 1;
    mode = 1;
}
 
combo BuildFloor {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 2;
    mode = 1;
}
 
combo BuildStair {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    bldslottrack = 3;
    mode = 1;
}
 
combo QLB1 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QLB2 {
    wait(InitailEnd_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(GenericBetweenButton_Wait);
    key_set(LB, 1);
    wait(SameButton_Wait);
    key_set(LB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
combo QRB1 {
    wait(InitailEnd_Wait);
    key_set(RB, 1);
    wait(SameButton_Wait);
    key_set(RB, 0);
    wait(BeforeFireButton_Wait1);
    wait(BeforeFireButton_Wait2);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}   
 
combo RT {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
}
 
 
 
 


Using this Input Translator

Image
multiple image upload

I just got back from work, I’ll give it a try tomorrow and let you know, and thanks for the help MAL :)
User avatar
HidNSeek
Sergeant First Class
Sergeant First Class
 
Posts: 18
Joined: Mon Mar 12, 2018 3:09 am

Next

Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 138 guests