KB + XIM + Titan2 - Fortnite Combos

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

Re: KB + XIM + Titan2 - Fortnite Combos

Postby Silktouch » Mon Apr 16, 2018 1:48 pm

Stupid question, but as I’m on vacation at the moment I’m a little bit confused with this new layout. As of now I used MALs Combat Pro Script and then for example I press mouse side button 1 for stairs and then click mouse 1 again and again to build more pieces. But as I understand with the new layout I must press the side button again and again? This sounds without trying more bad to me? Or I understand something wrong. Yes, less commands, but I think it is more natural/Same pc to set pieces with R2/Mouse1.

Thanks for your answers, I’m back at home in 3 days and will try it out :)
Great work again MaL.
User avatar
Silktouch
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Mar 03, 2018 2:57 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby Frank » Mon Apr 16, 2018 6:14 pm

Hi Everyone,

New user here...I was wondering if someone could help me out, i followed the video's instructions, set everything up and all looks good, no errors and GPS/Input translator are loaded, G502 is set up as is Xim manager. I even have an external power supply for T2.

Anyways, my issue is that my mouse isn't working, when i click the build buttons my T2 cycles through the appropriate numbers and when i click end, it goes back to green and 0 (which from what i read its supposed to do that). But there is still no mouse movements.

current set up: Console - APEX - Hub - (Controller port 1) - (T2 port 2) - (Keyboard port 3) - G502 mouse port A on t2

I have tried reading all 30 pages and my eyes are starting to hurt lol, can anyone please give me some advice, thank you sososososo much.
User avatar
Frank
Private
Private
 
Posts: 1
Joined: Mon Apr 16, 2018 6:05 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Mon Apr 16, 2018 6:45 pm

MAL8010 wrote:Alan - feel free to post your code.

Thank you, sir. :smile0517:

d_b23 wrote:I wouldnt mind seeing the changes you made, is it for PS4? I just made some but they're a little getto

Pretty sure we both have G502 & Orbweaver actually so should be compatible..


Silktouch wrote:It would be great when you share your script. What is the difference to MALs? At the moment I’m not at home, but in 3 days I have a lot of time for test around with this new layout.


Sorry fellas for holding the script, as an act of acknowledgement and respect, I was waiting for MAL8010 to give me the green light to share it. After all it's MAL8010 code, I only made a modification on the building tracking as he mentioned and change the loadout code.

Here it is:

Fortnite Battle Royale - Pro Builder - MAL8010 Script with Turbo Build Enabled (McGregor Mod)
Code: Select all
 
 
#pragma METAINFO("<Mark>", 1, 0, "FORTNITE BUILDING ONLY - ALANMCGREGOR Turbo Build Mod")
 
#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_B)
#define Floor (KEY_N)
#define Stair (KEY_J)
#define RB (MOUSE_WHEEL)
#define Build (KEY_END)
#define Fire (MBUTTON_1)
#define ADS (MBUTTON_2)
#define InitailEnd_Wait 30
#define SameButton_Wait 60
#define GenericBetweenButton_Wait 60
 
//mode and tracker
int mode;
int NavState;
 
//building hotkeys and tracker
int LastPieceBuild; // 0 = NULL | 1 = Wall | 2 = Floor | 3 = Stair |
 
main{
 
    mouse_passthru();
    key_passthru();
 
//------------------------------------------------------------------------------
//MODE TRACKING
 
    if(mode == 0){
        set_light('B');
    }
 
    if(mode == 1){
        set_light('G');
    }
 
    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
        }
//------------------------------------------------------------------------------
//BUILDING AND WEAPON SLOT TRACKING
 
    //Building to axe - has to return to slot 1
    if((event_release(BUTTON_14)) && (mode == 1)){
        mode = 0;
    }
 
//------------------------------------------------------------------------------
//TRACKER RESETS
 
    //manual tracker reset to weapon mode slot1
    if(event_active(Reset)){
        mode = 0;
    }
 
    //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)){
        if(mode == 0){ //is on Combat Mode
            combo_run(BuildWall); //build the first new wall       
        }
        else
            if((mode == 1) && (LastPieceBuild != 1)){ //if last piece is not a Wall, double tap RT
                combo_run(RT2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 1)){ // if last piece as wall, turbo mode on
                    combo_run(RT1);
                }
    }
 
 
    if(key_status(Floor)){
        if(mode == 0){
            combo_run(BuildFloor);         
        }
        else
            if((mode == 1) && (LastPieceBuild != 2)){
                combo_run(RB2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 2)){
                    combo_run(RB1);
                }
    }
 
    if(key_status(Stair)){
        if(mode == 0){
            combo_run(BuildStair);     
        }
        else
            if((mode == 1) && (LastPieceBuild != 3)){
                combo_run(ADS2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 3)){
                    combo_run(ADS1);
                }
    }
 
 
} // main
 
combo BuildWall {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 1;
}
 
combo BuildFloor {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 2;
}
 
combo BuildStair {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(ADS, 1);
    wait(SameButton_Wait);
    mouse_set(ADS, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(ADS, 1);
    wait(SameButton_Wait);
    mouse_set(ADS, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 3;
}
 
combo RT2 {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 1;
}
 
combo RB2 {
    wait(InitailEnd_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 2;
}
 
combo ADS2 {
    wait(InitailEnd_Wait);
    mouse_set(ADS, 1);
    wait(SameButton_Wait);
    mouse_set(ADS, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(ADS, 1);
    wait(SameButton_Wait);
    mouse_set(ADS, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 3;
}
 
combo RT1 {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 1;
}
 
combo RB1 {
    wait(InitailEnd_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 2;
}
 
combo ADS1 {
    wait(InitailEnd_Wait);
    mouse_set(ADS, 1);
    wait(SameButton_Wait);
    mouse_set(ADS, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 3;
}
 
 


Changes:
Is a One Button Build as usual (by using the hotkeys), but now you can build one piece after other back-to-back, non stop, without pressing twice between different pieces, and hold down to spam pieces (turbo mode).

d_b23, yep I use the orbweaver and G402 (I have G502. but is to heavy) and you can use this script straight right away, same as MAL's, use same Input Translator.

Another change:
On Combat Mode T2 shows a Blue light, on Build Mode shows Green Light. The red one makes me feel something is wrong with my T2. LOL
Last edited by alanmcgregor on Mon Apr 16, 2018 7:18 pm, edited 2 times in total.
User avatar
alanmcgregor
Major
Major
 
Posts: 995
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Mon Apr 16, 2018 7:14 pm

Here is my Script: Builder Pro - Turbo Build Script
I designed to be very easy to set up, for a non experienced users. T2 connected directly to the console.

For Xim Users:
Image

You can use it with your regular controller:
Image

Or with T2 KB&M support.

Differences.
  1. It requires to press Build first to get into build mode, after that is a one button build. Builds exactly the same, as the Script above; one piece after other with turbo build enabled.
  2. Doesn't have customized hotkeys, you press RT/R2 for Walls, RB/R1 for Floors, RT/R2 for Stairs, RB/R1 for Pyramid, still one button build with those
  3. Input Translator is not required
User avatar
alanmcgregor
Major
Major
 
Posts: 995
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Tue Apr 17, 2018 12:43 am

Silktouch wrote:...with the new layout I must press the side button again and again? This sounds without trying more bad to me? Or I understand something wrong. Yes, less commands, but I think it is more natural/Same pc to set pieces with R2/Mouse1...

Yup that's exactly how it works with the new Builder Pro and its proper script. Even though you can still use the Combat Pro Script and Layout, it might no be as fast or efficent vs Builder Pro (due less button press). A script that uses Builder Pro mechanics ans RT/R2 (Mouse button 1) to build can be made, but it might not be as efficient as its default layout.

That being said, if you add this line, it might work as you want. && (mouse_status(MBUTTON_1))

it has to be done in the other two loadouts.
But I'm not sure really, still not as familiar with the language, I'm at work and can't tested out.

I have to say my old brain likes more the new scheme.

Frank wrote:Hi Everyone,
.. But there is still no mouse movements.

current set up: Console - APEX - Hub - (Controller port 1) - (T2 port 2) - (Keyboard port 3) - G502 mouse port A on t2.


Weird, I don't have a external AC adapter (I will get one though) no issues.

Is HID Multi activated? joystick disabled? Input Translator has X,Y mouse set to Stick_1?

Do you check if Gtuner is detecting your mouse movements. Gtuner Monitor Device Tab, you should see X, Y values changing while moving the mouse connected to T2.

I had a weird behavior before, while connecting M&KB to T2, keyboard was working, mouse buttons also but no X/Y movement in game, GTuner was detecting it, I swap KB to Input A, Mouse To input B and it work.
Last edited by alanmcgregor on Tue Apr 17, 2018 3:54 am, edited 1 time in total.
User avatar
alanmcgregor
Major
Major
 
Posts: 995
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby Silktouch » Tue Apr 17, 2018 1:50 am

Thank you! You think a version with set pieces on MBUTTON1 with Builder Pro would be quicker then the old combat pro script? But first I will try the new one, maybe it’s not that bad for me :)
User avatar
Silktouch
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Mar 03, 2018 2:57 pm

Re: KB + XIM + Titan2 - Fortnite Combos

Postby alanmcgregor » Tue Apr 17, 2018 2:52 am

I worked on designing human interfaces for people with disabilities. One thing I learn is you have to do what you are more comfortable with, whatever comes natural to you, that will make more efficient. PE I don't mind pressing build to get in build mode, it helps to my brain get on build mindset and remember to press again to get out of it.

The new Builder Pro layout actually nailed, because those buttons are the easiest to access or reach.

The Combat Pro method was emulating the more efficient "gearbox" principle: toggle or hold clutch (build button), switch to different gears(pieces in this case) when keeping accelerating (building Right Trigger down) but it needs to be hard coded to be as efficient as can be. PC has it.

That was actually my intention when I tried to make it work with the Orbweaver only, having my builds bind to my thumb d-pad, recreates a gearbox principle.

There was actually an experiment that, demonstrate that our brain reacts faster thinking on movement than options.

PE, we have a paraplegic person and on a screen with 4 commands. One interface it has 4 buttons on a grid layout to activate he has to stare one square and blink, the other interface only reacts to up, down, left and right eye movements. The latter was 3x faster and easier for the individual to control.

Sorry, I'm rambling heheh... but yeah.

BTW I tried to modify the code, for MButton1 as it mention, is not working that easy, needs write down and rework. I was trying Hijacking the R2 action but at this point, is beyond my knowledge of the language capabilities. Maybe a more experience fellas make it work.
User avatar
alanmcgregor
Major
Major
 
Posts: 995
Joined: Tue Mar 27, 2018 8:38 am

Re: KB + XIM + Titan2 - Fortnite Combos

Postby MAL8010 » Tue Apr 17, 2018 7:02 am

alanmcgregor wrote:
That being said, if you add this line, it might work as you want. && (mouse_status(MBUTTON_1))

it has to be done in the other two loadouts.
But I'm not sure really, still not as familiar with the language, I'm at work and can't tested out.



Try adding this (example for stairs, repeat for floor and wall etc)

Code: Select all
    if((mode == 1) && (LastPieceBuild == 3) && mouse_status(Fire)){
        mouse_set(Fire, 0);
        combo_run (ADS1);
    }


EDIT: Overall you could condense it down to this:

Code: Select all
    if((mode == 1) && (LastPieceBuild > 0 ) && mouse_status(Fire)){
        mouse_set(Fire, 0);
        if (LastPieceBuild == 1) combo_run (RT1);
            else if (LastPieceBuild == 2) combo_run(RB1);
                else combo_run(ADS1);
    }
Last edited by MAL8010 on Tue Apr 17, 2018 8:18 am, edited 1 time in total.
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 MAL8010 » Tue Apr 17, 2018 8:00 am

So if I was to amend Alan's script to incorporate:

- turbo building using Fire
- reset changed to pickaxe
- add squad comms to reset list
- add LED back in to display LastBuildPiece

It would look like this (i.e. includes NAV code and is exactly how I'd run it for my setup). Tested briefly and all seems ok.

Code: Select all
 
 
#ifndef PS3NAV_GPH_
#define PS3NAV_GPH_
 
#include <keyboard.gph>
#include <display.gph>
#include "light_k.gph"
#include <mouse.gph>
#include <ps3.gph>
#define Reset BUTTON_14 //manual reset of tracking (pickaxe)
#define Wall (KEY_B)
#define Floor (KEY_N)
#define Stair (KEY_J)
#define RB (MOUSE_WHEEL)
#define Build (KEY_END)
#define Fire (MBUTTON_1)
#define ADS (KEY_SPACEBAR)
#define InitailEnd_Wait 30
#define SameButton_Wait 60
#define GenericBetweenButton_Wait 60
 
fix32 minv2 = 23.00*23.00 ; //  adjust so resting position never register.
 
//mode and tracker
int mode;
int NavState;
 
//building hotkeys and tracker
int LastPieceBuild; // 0 = NULL | 1 = Wall | 2 = Floor | 3 = Stair |
 
main {
 
    mouse_passthru();
    key_passthru();
 
//------------------------------------------------------------------------------
//NAV MAPPING
 
    if (get_actual(PS3_UP)) { key_set(KEY_UPARROW,1);}
    if (get_actual(PS3_L1)) { key_set(KEY_P,1); }
    if (get_actual(PS3_L2)) { key_set(KEY_SPACEBAR,1); }
    if (get_actual(PS3_L3)) { key_set(KEY_LEFTSHIFT,1); }
    if (get_actual(PS3_PS)) { key_set(KEY_ESCAPE,1); }
    if (get_actual(PS3_DOWN)) { key_set(KEY_DOWNARROW  ,1); }
    if (get_actual(PS3_LEFT)) { key_set(KEY_LEFTARROW  ,1); }
    if (get_actual(PS3_RIGHT)) { key_set(KEY_RIGHTARROW  ,1); }
    if (get_actual(PS3_UP)) { key_set(KEY_UPARROW,1);}
    if (get_actual(PS3_CIRCLE)) { key_set(KEY_H,1);}
    if (get_actual(PS3_CROSS)) { key_set(KEY_G,1);}
    if (get_actual(PS3_SELECT)) { key_set(KEY_V,1);}
    if (get_actual(PS3_TRIANGLE)) { key_set(KEY_Y,1);}
 
    if (get_actual(STICK_2_X)||get_actual(STICK_2_Y)) {
            set_val(STICK_2_X,0);
            set_val(STICK_2_Y,0);
            WASD(STICK_2_X,STICK_2_Y);
            }
 
//------------------------------------------------------------------------------
//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
            }
 
    if ((event_release(BUTTON_14)) && (mode == 1)) {
        mode = 0; //building mode to axe
        }
 
//------------------------------------------------------------------------------
//TRACKER RESETS
 
    //manual tracker reset to pickaxe
    if (event_active(Reset)) {
        mode = 0;
    }
 
    //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) || event_release (BUTTON_13)) {
        NavState = 1;}
 
    // Pressing B to cancel resets
    if (event_release (BUTTON_15) && NavState) {
        mode = mode + 1;
        NavState = 0;}
 
///------------------------------------------------------------------------------
// LOAD-OUTS
 
    if(key_status(Wall)){
        if(mode == 0){ //is on Combat Mode
            combo_run(BuildWall); //build the first new wall       
        }
        else
            if((mode == 1) && (LastPieceBuild != 1)){ //if last piece is not a Wall, double tap RT
                combo_run(RT2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 1)){ // if last piece as wall, turbo mode on
                    combo_run(RT1);
                }
    }
 
    if(key_status(Floor)){
        if(mode == 0){
            combo_run(BuildFloor);         
        }
        else
            if((mode == 1) && (LastPieceBuild != 2)){
                combo_run(RB2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 2)){
                    combo_run(RB1);
                }
    }
 
    if(key_status(Stair)){
        if(mode == 0){
            combo_run(BuildStair);     
        }
        else
            if((mode == 1) && (LastPieceBuild != 3)){
                combo_run(ADS2);
            }
            else
                if((mode == 1) && (LastPieceBuild == 3)){
                    combo_run(ADS1);
                }
    }
 
    //turbo build using Fire
    if((mode == 1) && (LastPieceBuild > 0 ) && mouse_status(Fire)){
        mouse_set(Fire, 0);
        if (LastPieceBuild == 1) combo_run (RT1);
            else if (LastPieceBuild == 2) combo_run(RB1);
                else combo_run(ADS1);
    }
 
//------------------------------------------------------------------------------
//LED                   
        if (mode == 1){           
        switch(LastPieceBuild) {
              //  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;
            }
        }
 
        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(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 1;
}
 
combo BuildFloor {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 2;
}
 
combo BuildStair {
    wait(InitailEnd_Wait);
    key_set(Build, 1);
    wait(SameButton_Wait);
    key_set(Build, 0);
    wait(GenericBetweenButton_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(GenericBetweenButton_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(InitailEnd_Wait);
    mode = 1;
    LastPieceBuild = 3;
}
 
combo RT2 {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 1;
}
 
combo RB2 {
    wait(InitailEnd_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(GenericBetweenButton_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 2;
}
 
combo ADS2 {
    wait(InitailEnd_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(GenericBetweenButton_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 3;
}
 
combo ADS3 {
    wait(InitailEnd_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(GenericBetweenButton_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 3;
}
 
combo RT1 {
    wait(InitailEnd_Wait);
    mouse_set(Fire, 1);
    wait(SameButton_Wait);
    mouse_set(Fire, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 1;
}
 
combo RB1 {
    wait(InitailEnd_Wait);
    mouse_set(RB, -1);
    wait(SameButton_Wait);
    mouse_set(RB, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 2;
}
 
combo ADS1 {
    wait(InitailEnd_Wait);
    key_set(ADS, 1);
    wait(SameButton_Wait);
    key_set(ADS, 0);
    wait(InitailEnd_Wait);
    LastPieceBuild = 3;
}
 
void WASD(uint8 io_x, uint8 io_y){
    fix32 rx = get_actual(io_x) ;
    fix32 ry = get_actual(io_y) ;
    fix32 ovl = 10.00;   // 20 degrees overlap so diagonals movement also register
 
    fix32 angle = atan2(ry,rx) * 180.00 / PI;
    fix32 radius2 = rx*rx + ry*ry ;
 
    if ( radius2 >= minv2 ) {
 
        //W
        if ( angle < (-45.00+ovl)  && angle > (-135.00-ovl) ) { key_set(KEY_W,1);}
 
        //A
        if ( abs(angle) > (135.00-ovl) ) { key_set(KEY_A,1);}
 
        //S
        if ( angle > (45.00-ovl)  && angle < (135.00+ovl) ) { key_set(KEY_S,1);}
 
        //D
        if (abs(angle) < (45.00+ovl) ) { key_set(KEY_D,1);}
    }
 
 
    return;
}
 
#endif
 
 
 
 
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 Silktouch » Tue Apr 17, 2018 11:12 am

Thanks a lot Mal and Alan, this looks great and I can’t wait to arrive at home after Tommorow and try all out. I will get into this and hope I can help you after a little bit with improvements. :joia:

As I don’t have a NAV I only need to change all buttons, right?
User avatar
Silktouch
Sergeant Major
Sergeant Major
 
Posts: 70
Joined: Sat Mar 03, 2018 2:57 pm

PreviousNext

Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 122 guests