KB + XIM + Titan2 - Fortnite Combos
Re: KB + XIM + Titan2 - Fortnite Combos
krzaczu wrote:Its My firsty day with T2, Im user of apex and wanted to use bulding script for builder pro. So now I understnad few parts of it but still cant find a way how to make proper Input Translator for it. Im not supposed to change define buttons into script, right ? Only with input Translator. Could someone show me how this should looks like when u have keyboard connected to T2 with mouse into apex? Just need to see what im doing wrong with Input Controler, how should I for example bind weapons or blueprints into Input translator.
Sory for newbie questions.
Can you copy what script you're using and I'll take a look.
-
MAL8010 - Sergeant Major of the Army
- Posts: 263
- Joined: Sun Feb 05, 2017 3:12 pm
Re: KB + XIM + Titan2 - Fortnite Combos
That was m firsty shot, Im just trying to understand this input trasnator binding.
If I want to have a walls on shift how should I bind it in translator?
If I want to have a walls on shift how should I bind it in translator?
- 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 Double_Tac 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 {
mouse_passthru();
key_passthru();
///------------------------------------------------------------------------------
// 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);}
}
///------------------------------------------------------------------------------
// DOUBLE TAC
if (event_release(Double_Tac)){
combo_run (DoubleTacShotguns);
set_val(Double_Tac, 0.0);
}
///------------------------------------------------------------------------------
// 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;
}
combo DoubleTacShotguns {
set_val(FIRE, 100.0);
wait(50);
set_val(FIRE, 0.0);
wait(50);
set_val(LB, 100.0);
wait(50);
set_val(LB, 0.0);
wait(50);
wait(680);
set_val(FIRE, 100.0);
wait(50);
set_val(FIRE, 0.0);
wait(50);
set_val(RB, 100.0);
wait(50);
set_val(RB, 0.0);
wait(50);
wait(680);
}
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;
}
-
krzaczu - Staff Sergeant
- Posts: 14
- Joined: Fri Jun 22, 2018 12:53 am
Re: KB + XIM + Titan2 - Fortnite Combos
krzaczu wrote:That was m firsty shot, Im just trying to understand this input trasnator binding.
If I want to have a walls on shift how should I bind it in translator?
- 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 Double_Tac 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 {
mouse_passthru();
key_passthru();
///------------------------------------------------------------------------------
// 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);}
}
///------------------------------------------------------------------------------
// DOUBLE TAC
if (event_release(Double_Tac)){
combo_run (DoubleTacShotguns);
set_val(Double_Tac, 0.0);
}
///------------------------------------------------------------------------------
// 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;
}
combo DoubleTacShotguns {
set_val(FIRE, 100.0);
wait(50);
set_val(FIRE, 0.0);
wait(50);
set_val(LB, 100.0);
wait(50);
set_val(LB, 0.0);
wait(50);
wait(680);
set_val(FIRE, 100.0);
wait(50);
set_val(FIRE, 0.0);
wait(50);
set_val(RB, 100.0);
wait(50);
set_val(RB, 0.0);
wait(50);
wait(680);
}
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;
}
Change these to match the keys you want to use for those definitions:
- Code: Select all
#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)
You use an Input Translator to map your controller mapped keybinds to KB+Mouse. So for example under keyboard mapping map W -> STICK_2_Y (negative)... under mouse mapping, map Button 1 -> BUTTON_5 etc until all controller inputs are mapped to your KB/Mouse keys you want them to be.
-
MAL8010 - Sergeant Major of the Army
- Posts: 263
- Joined: Sun Feb 05, 2017 3:12 pm
Re: KB + XIM + Titan2 - Fortnite Combos
Helps me alot. Now I get it how it works and ye its working but next thing is , that my mouse is connected to apex and apex into t2 and its there a way to have stairs/floors on extra mouse button? I was trying to change mouse bind to the same like in script but its not working like that.
-
krzaczu - Staff Sergeant
- Posts: 14
- Joined: Fri Jun 22, 2018 12:53 am
Re: KB + XIM + Titan2 - Fortnite Combos
- Code: Select all
fix32 RY;
fix32 RX;
fix32 ffb_1_speed;
uint32 ffb_1_duration;
main {
ffb_1_speed = ffb_get_actual(FFB_1, &ffb_1_duration);
if(ffb_1_speed) {
if(get_actual(BUTTON_5))set_val(BUTTON_5, 0.0);
AntiRecoil(STICK_1_Y, 32.0);
AntiRecoil(STICK_1_X, 2.0);
}
if(ffb_get(FFB_2, NULL) > 0.0) {
set_val(BUTTON_8, 0.0);
}
if(ffb_get(FFB_3, NULL) > 0.0) {
combo_run(side_step);
}
}
combo side_step
{
strafe (STICK_2_X, 100.0);
wait(400);
strafe (STICK_2_X, -100.0);
wait(400);
}
void AntiRecoil (uint8 axis, fix32 recoil)
{
RY = get_actual(STICK_1_Y);
RX = get_actual(STICK_1_X);
if ((sqrt(RX*RX + RY*RY)) <= abs(recoil))
{
if(abs(RY) <= abs(recoil))
{
set_val(axis,(recoil * (100.0 - abs(get_val(axis)))) / 100.0 + get_val(axis));
}
}
}
void strafe (uint8 stick, fix32 length)
{
set_val(stick,(length * (100.0 - abs(get_val(stick)))) / 100.0 + get_val(stick));
}
See if this works with fortnite game. Need rumbles to be working to activate. Also has rapid fire working off of rumble.
- bonefisher
- Lieutenant General
- Posts: 5413
- Joined: Thu Jan 29, 2015 10:49 am
Re: KB + XIM + Titan2 - Fortnite Combos
bonefisher wrote:
- Code: Select all
fix32 RY;
fix32 RX;
fix32 ffb_1_speed;
uint32 ffb_1_duration;
main {
ffb_1_speed = ffb_get_actual(FFB_1, &ffb_1_duration);
if(ffb_1_speed) {
if(get_actual(BUTTON_5))set_val(BUTTON_5, 0.0);
AntiRecoil(STICK_1_Y, 32.0);
AntiRecoil(STICK_1_X, 2.0);
}
if(ffb_get(FFB_2, NULL) > 0.0) {
set_val(BUTTON_8, 0.0);
}
if(ffb_get(FFB_3, NULL) > 0.0) {
combo_run(side_step);
}
}
combo side_step
{
strafe (STICK_2_X, 100.0);
wait(400);
strafe (STICK_2_X, -100.0);
wait(400);
}
void AntiRecoil (uint8 axis, fix32 recoil)
{
RY = get_actual(STICK_1_Y);
RX = get_actual(STICK_1_X);
if ((sqrt(RX*RX + RY*RY)) <= abs(recoil))
{
if(abs(RY) <= abs(recoil))
{
set_val(axis,(recoil * (100.0 - abs(get_val(axis)))) / 100.0 + get_val(axis));
}
}
}
void strafe (uint8 stick, fix32 length)
{
set_val(stick,(length * (100.0 - abs(get_val(stick)))) / 100.0 + get_val(stick));
}
See if this works with fortnite game. Need rumbles to be working to activate. Also has rapid fire working off of rumble.
I've tested a similar method using the FFB to control recoil with this game in the past,
It's not a good candidate, as I found the recoil for most guns already easily maintainable.
And also if you factor in all this aa abuse scripts, the anti-recoil implementation really just becomes a joke. Maybe things have changed since I last played, but I don't have it installed anymore, so I cant test it. I just wanted to share my experience using this sort of method with this game,
Don't get me wrong, antirecoil activation by the ffb definitely does work for some games, and in some cases it works extremely well (R6 Siege being one of the best examples)
Anyways, just want to point out the side step combo will never activate, if the user is on a PS4. As FFB_3 and FFB_4 are the impact triggers for the Xbox. The Ps4 does not utilize them.
- Code: Select all
if(ffb_get(FFB_3, NULL) > 0.0)
combo_run(side_step);
}
Oh, also I did not see any rapid fire that you mention in this script you posted... not sure if you were talking about a future script of yours, or the one you just posted. If you needed to know if the rapid fire would also work with this game, It does.
I've also experimented with rapid fire using the ffb activation, from what I remember, it worked pretty well with this game. but thats not saying much though because It works very well with pretty much all shooters. lol.
-
Sillyasskid - Captain
- Posts: 574
- Joined: Sat May 14, 2016 3:07 am
Re: KB + XIM + Titan2 - Fortnite Combos
- Code: Select all
ffb_1_speed = ffb_get_actual(FFB_1, &ffb_1_duration);
if(ffb_1_speed) {
if(get_actual(BUTTON_5))set_val(BUTTON_5, 0.0);
This part here works really well in battlefield as a rapid fire! pulses like a wait(40);wait(40); in game and in sink with anti-recoil! Yes totally forgot about that I was using my elite controller and PS4 don't use all ffb's. Sorry!
- bonefisher
- Lieutenant General
- Posts: 5413
- Joined: Thu Jan 29, 2015 10:49 am
Re: KB + XIM + Titan2 - Fortnite Combos
krzaczu wrote:Helps me alot. Now I get it how it works and ye its working but next thing is , that my mouse is connected to apex and apex into t2 and its there a way to have stairs/floors on extra mouse button? I was trying to change mouse bind to the same like in script but its not working like that.
No, the script was designed to for KB only for the building/weapon slots etc. Would need to be re-written in parts for this change and since I no longer post new scripts/code to public forums (since it just get's ripped off for financial gain elsewhere without due credit) I won't be providing this.
The easiest way is to not use XIM and use T2's own mouse translation. Honestly, IMO the T2 current mouse translation is superior to the XIM, especially for using scoped weapons where the deadzone is incorrect for XIM and can't be changed.
-
MAL8010 - Sergeant Major of the Army
- Posts: 263
- Joined: Sun Feb 05, 2017 3:12 pm
Re: KB + XIM + Titan2 - Fortnite Combos
MAL8010 wrote:krzaczu wrote:Helps me alot. Now I get it how it works and ye its working but next thing is , that my mouse is connected to apex and apex into t2 and its there a way to have stairs/floors on extra mouse button? I was trying to change mouse bind to the same like in script but its not working like that.
No, the script was designed to for KB only for the building/weapon slots etc. Would need to be re-written in parts for this change and since I no longer post new scripts/code to public forums (since it just get's ripped off for financial gain elsewhere without due credit) I won't be providing this.
The easiest way is to not use XIM and use T2's own mouse translation. Honestly, IMO the T2 current mouse translation is superior to the XIM, especially for using scoped weapons where the deadzone is incorrect for XIM and can't be changed.
That sucks man. Yup I knew a guy that bought my basic script for TurboInstantBuild (with a lot of shady exploits awfully added, just plastered) for 50 bucks.
I was trying to help MAL with the requests, with my limit knowledge on the language. I won't be posting /supporting too following his decision. Honestly, the topic it has a lot of questions resolved already and if you need to tweak your scripts, dig it.
About the T2 Mouse translation being better than XIM Apex... I'm with you, I found that too after the issues with the changes at the look mechanics. I tried T2 and felt better. Didn't say anything of course, because people can be such a fan boys. I mean, if you guys already have your T2... give it a try, you might be surprised.
-
alanmcgregor - Major
- Posts: 981
- Joined: Tue Mar 27, 2018 8:38 am
Re: KB + XIM + Titan2 - Fortnite Combos
Where was this ?MAL8010 wrote:I no longer post new scripts/code to public forums (since it just get's ripped off for financial gain elsewhere without due credit) I won't be providing this.
-
Sillyasskid - Captain
- Posts: 574
- Joined: Sat May 14, 2016 3:07 am
Return to GPC2 Script Programming
Who is online
Users browsing this forum: Google [Bot] and 96 guests