Convert Titan1 scripts to Titan2 the easy way

GPC script programming for Titan Two device. Code examples, how to, questions, requests.

Moderators: The_Rabid_Taco, pablosscripts, bonefisher

Re: Convert Titan1 scripts to Titan2 the easy way

Postby phild22 » Tue Oct 16, 2018 7:44 pm

how do i convert this

Code: Select all
#pragma METAINFO("<author_name>", 1, 0, "")
 
// GPC Online Library
// destiny_crucible_afk.gpc
 
/*
DESTINY AFK
scripted by xenologer
PS4 only
PLEASE READ ALL INSTRUCTIONS
 
Used to AFK in RUMBLE Playlist
-autoGrind Crucible Rep, and Match Rewards
-derank (Reverse BOOST) Matchmaking Skill / ELO ratings -for more chill games when you DO play for real
 
DO NOT, use this script in any other Playlist except RUMBLE
it is Not Nice to your TeamMates, and they WILL REPORT YOU
 
How it works:
Normally, DESTINY has protection to discourage AFK
you get no Crucible Rep and no Match Rewards if you have No Points, thus someone who just AFKs usually gets nothing.
This Script is Different
This Script gets Kills, therefore, you get Rewards.
typicall results, about 50% of matches have at least 1 kill
We accomplish this, by DETECTING when the player is being Attacked by monitoring the controller RumbleMotors
    then we RESPOND using AREA EFFECT grenades and Super Abilities, to get a kill without having to aim.
 
 
Setup:
Must be TITAN OR WARLOCK - not tested on HUNTERS, doubt it works for them
feel free to experiment with alternate class/armor Builds
the following worked Well for my when AFK
 
TITAN:
class Striker
max int, max dis
lightening grenades -enemies who teabag your afk body get electrocuted
fist of havoc -AFtermatch perk (FoH leaves a damaging field behind)
Aftershocks perk - lightening grenades last longer
Balance other stats for Max Armor
 
WARLOCK:
class VoidWalker
max int
Armor Requirement: VoidFang Vestments -respawn with grenades
Axion Bolt grenade -tracks enemies, even when you're AFK
Nova Bomb - Vortex perk (leaves a damaging area of effect behind)
Annihhalate perk - bigger explosions (very important to get kils)
Vortex Mastery perk - the axion bolts are more persistent
Balance other stats for Max Armor
 
HUNTER:
hunter's have no good area grenades or area super
cannot guarantee any effective AFK kills
 
 
REMEMBER to set your EMOTE to your Favorite DANCE MOVE
*/

 
//wandering settings
define waittime=100; //how long to wait in ms between each direction change
define STR=100; //how far the stick is pushed by the script
 
//dance odds, higher values = less dancing
//0=no dancing
define coldfeet = 200;
 
//DEFAULT control layout
define ADS= PS4_L2, SHOOT=PS4_R2, MELEE=PS4_R1, GRENADE=PS4_L1, CROUCH = PS4_LEFT;
//xenolger's layout
//define ADS= PS4_L1, SHOOT=PS4_R1, MELEE=PS4_R2, GRENADE=PS4_L2, CROUCH = PS4_R2;
 
int direction;
define UP=0,RIGHT=1,DOWN=2,LEFT=3;
int dancing=0;
int supercharge=0;
int rumble1,rumble2;
int bag;
 
int lx,ly;
main {
    vm_tctrl(-6);
    rumble1=get_rumble(RUMBLE_A); //read rumble values
    rumble2=get_rumble(RUMBLE_B);
    //block rumble from physically shaking
    set_rumble(RUMBLE_A,0);
    set_rumble(RUMBLE_B,0);
 
    //DETECT red led, Guardian Down
    if(!get_led(0)&&get_led(1)&&!get_led(2)){
        combo_run(respawn);
    }
 
    //DETECT yellow led, SUPER CHARGED
    if(!get_led(0)&&get_led(1)&&get_led(2)){
        supercharge=1;
    }
 
    //DETECT RUMBLE, being attacked -respond with grenade/super
    if(!combo_running(fire) && !combo_running(melee) && (rumble1+rumble2)>50){
        if(supercharge){
            combo_run(super);
            supercharge=0;
        }else{
            combo_run(grenade);
        }
    }
 
    //DANCE, TEABAG, do random stuff
    //VERY IMPORTANT, have to DO STUFF or you'll get booted for inactivity
    //FEEL FREE to Personalize this section
    if(!dancing)
    if(irand(0,coldfeet)==1){//dance
        dancing=1;
        combo_run(dance);
        combo_stop(wander);
        //combo_stop(fire);
        combo_stop(ads);
        combo_stop(look);
    }else{
        if(bag>0){
            combo_run(teabag);
        }else{
            bag=irand(-100,30);
        }
        combo_run(wander);
        //combo_run(fire);
        combo_run(look);
        combo_run(ads);
        //if(irand(0,100)<10)combo_run(melee);
    }
}
combo fire{
    set_val(SHOOT,100);
    wait(irand(0,2000));
    set_val(SHOOT,0);
    wait(irand(0,2000));
}
combo ads{   
    set_val(ADS,100);
    wait(irand(0,100));
    set_val(ADS,0);
    wait(irand(0,2000));
}
combo melee{   
    set_val(MELEE,100);
    wait(irand(0,100));
}
combo grenade{
    set_val(GRENADE,100);
    wait(100);
}
combo dance{
    set_val(PS4_LEFT,100);
    wait(irand(500,3000));
    dancing=0;
}
combo teabag{
    set_val(CROUCH,100);
    wait(100):
    set_val(CROUCH,0);
    wait(100);
    bag=bag-1;
}
combo respawn{
    wait(4000);
    wait(2000);
    set_val(PS4_SQUARE,100);
    wait(100);
    set_val(PS4_SQUARE,0);
    wait(100);
    //output_reconnection(); //reset controller
}
combo super{
    set_val(GRENADE,100);
    set_val(MELEE,100);
    wait(500);
}
 
combo wander{
    if(direction<=UP){set_val(PS4_LX,0);set_val(PS4_LY,-STR);}
    if(direction==DOWN){set_val(PS4_LX,0);set_val(PS4_LY,STR/2);}
    if(direction==LEFT){set_val(PS4_LX,-STR);set_val(PS4_LY,0);}
    if(direction==RIGHT){set_val(PS4_LX,STR);set_val(PS4_LY,0);}
    wait(irand(500,4000));
    direction=irand(-3,8);
}
combo look{
    set_val(PS4_RY,ly);
    set_val(PS4_RX,lx);
    wait(irand(0,400));
    lx=irand(-100,100);
    ly=irand(-20,20);
    if(supercharge)ly=100;
}
User avatar
phild22
First Sergeant
First Sergeant
 
Posts: 59
Joined: Thu Sep 18, 2014 5:56 am

Re: Convert Titan1 scripts to Titan2 the easy way

Postby J2Kbr » Tue Oct 16, 2018 8:14 pm

phild22 wrote:how do i convert this

Converted:
Code: Select all
#pragma METAINFO("<author_name>", 1, 0, "")
 
// GPC Online Library
// destiny_crucible_afk.gpc
 
#include <titanone.gph>
 
/*
DESTINY AFK
scripted by xenologer
PS4 only
PLEASE READ ALL INSTRUCTIONS
 
Used to AFK in RUMBLE Playlist
-autoGrind Crucible Rep, and Match Rewards
-derank (Reverse BOOST) Matchmaking Skill / ELO ratings -for more chill games when you DO play for real
 
DO NOT, use this script in any other Playlist except RUMBLE
it is Not Nice to your TeamMates, and they WILL REPORT YOU
 
How it works:
Normally, DESTINY has protection to discourage AFK
you get no Crucible Rep and no Match Rewards if you have No Points, thus someone who just AFKs usually gets nothing.
This Script is Different
This Script gets Kills, therefore, you get Rewards.
typicall results, about 50% of matches have at least 1 kill
We accomplish this, by DETECTING when the player is being Attacked by monitoring the controller RumbleMotors
    then we RESPOND using AREA EFFECT grenades and Super Abilities, to get a kill without having to aim.
 
 
Setup:
Must be TITAN OR WARLOCK - not tested on HUNTERS, doubt it works for them
feel free to experiment with alternate class/armor Builds
the following worked Well for my when AFK
 
TITAN:
class Striker
max int, max dis
lightening grenades -enemies who teabag your afk body get electrocuted
fist of havoc -AFtermatch perk (FoH leaves a damaging field behind)
Aftershocks perk - lightening grenades last longer
Balance other stats for Max Armor
 
WARLOCK:
class VoidWalker
max int
Armor Requirement: VoidFang Vestments -respawn with grenades
Axion Bolt grenade -tracks enemies, even when you're AFK
Nova Bomb - Vortex perk (leaves a damaging area of effect behind)
Annihhalate perk - bigger explosions (very important to get kils)
Vortex Mastery perk - the axion bolts are more persistent
Balance other stats for Max Armor
 
HUNTER:
hunter's have no good area grenades or area super
cannot guarantee any effective AFK kills
 
 
REMEMBER to set your EMOTE to your Favorite DANCE MOVE
*/

 
//wandering settings
define waittime=100; //how long to wait in ms between each direction change
define STR=100; //how far the stick is pushed by the script
 
//dance odds, higher values = less dancing
//0=no dancing
define coldfeet = 200;
 
//DEFAULT control layout
define ADS= PS4_L2;
define SHOOT=PS4_R2;
define MELEE=PS4_R1;
define GRENADE=PS4_L1;
define CROUCH = PS4_LEFT;
//xenolger's layout
//define ADS= PS4_L1, SHOOT=PS4_R1, MELEE=PS4_R2, GRENADE=PS4_L2, CROUCH = PS4_R2;
 
int direction;
define UP=0;
define RIGHT=1;
define DOWN=2;
define LEFT=3;
int dancing=0;
int supercharge=0;
int rumble1,rumble2;
int bag;
 
int lx,ly;
main {
    vm_tctrl(-6);
    rumble1=get_rumble(RUMBLE_A); //read rumble values
    rumble2=get_rumble(RUMBLE_B);
    //block rumble from physically shaking
    set_rumble(RUMBLE_A,0);
    set_rumble(RUMBLE_B,0);
 
    //DETECT red led, Guardian Down
    if(!get_led(0)&&get_led(1)&&!get_led(2)){
        combo_run(respawn);
    }
 
    //DETECT yellow led, SUPER CHARGED
    if(!get_led(0)&&get_led(1)&&get_led(2)){
        supercharge=1;
    }
 
    //DETECT RUMBLE, being attacked -respond with grenade/super
    if(!combo_running(fire) && !combo_running(melee) && (rumble1+rumble2)>50){
        if(supercharge){
            combo_run(super);
            supercharge=0;
        }else{
            combo_run(grenade);
        }
    }
 
    //DANCE, TEABAG, do random stuff
    //VERY IMPORTANT, have to DO STUFF or you'll get booted for inactivity
    //FEEL FREE to Personalize this section
    if(!dancing)
    if(irand(0,coldfeet)==1){//dance
        dancing=1;
        combo_run(dance);
        combo_stop(wander);
        //combo_stop(fire);
        combo_stop(ads);
        combo_stop(look);
    }else{
        if(bag>0){
            combo_run(teabag);
        }else{
            bag=irand(-100,30);
        }
        combo_run(wander);
        //combo_run(fire);
        combo_run(look);
        combo_run(ads);
        //if(irand(0,100)<10)combo_run(melee);
    }
}
combo fire{
    set_val(SHOOT,100);
    wait(irand(0,2000));
    set_val(SHOOT,0);
    wait(irand(0,2000));
}
combo ads{   
    set_val(ADS,100);
    wait(irand(0,100));
    set_val(ADS,0);
    wait(irand(0,2000));
}
combo melee{   
    set_val(MELEE,100);
    wait(irand(0,100));
}
combo grenade{
    set_val(GRENADE,100);
    wait(100);
}
combo dance{
    set_val(PS4_LEFT,100);
    wait(irand(500,3000));
    dancing=0;
}
combo teabag{
    set_val(CROUCH,100);
    wait(100);
    set_val(CROUCH,0);
    wait(100);
    bag=bag-1;
}
combo respawn{
    wait(4000);
    wait(2000);
    set_val(PS4_SQUARE,100);
    wait(100);
    set_val(PS4_SQUARE,0);
    wait(100);
    //output_reconnection(); //reset controller
}
combo super{
    set_val(GRENADE,100);
    set_val(MELEE,100);
    wait(500);
}
 
combo wander{
    if(direction<=UP){set_val(PS4_LX,0);set_val(PS4_LY,-STR);}
    if(direction==DOWN){set_val(PS4_LX,0);set_val(PS4_LY,STR/2);}
    if(direction==LEFT){set_val(PS4_LX,-STR);set_val(PS4_LY,0);}
    if(direction==RIGHT){set_val(PS4_LX,STR);set_val(PS4_LY,0);}
    wait(irand(500,4000));
    direction=irand(-3,8);
}
combo look{
    set_val(PS4_RY,ly);
    set_val(PS4_RX,lx);
    wait(irand(0,400));
    lx=irand(-100,100);
    ly=irand(-20,20);
    if(supercharge)ly=100;
}
 
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 17881
Joined: Tue Mar 18, 2014 1:39 pm

Re: Convert Titan1 scripts to Titan2 the easy way

Postby phild22 » Tue Oct 16, 2018 9:19 pm

just loaded it up and it didnt do anything, tried 3 different scrips not a single thing works. not liking this already....
User avatar
phild22
First Sergeant
First Sergeant
 
Posts: 59
Joined: Thu Sep 18, 2014 5:56 am

Re: Convert Titan1 scripts to Titan2 the easy way

Postby J2Kbr » Tue Oct 16, 2018 9:37 pm

phild22 wrote:just loaded it up and it didnt do anything, tried 3 different scrips not a single thing works. not liking this already....

I will reply you on the other topic you created.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 17881
Joined: Tue Mar 18, 2014 1:39 pm

Re: Convert Titan1 scripts to Titan2 the easy way

Postby phild22 » Tue Oct 16, 2018 9:46 pm

J2Kbr wrote:
phild22 wrote:just loaded it up and it didnt do anything, tried 3 different scrips not a single thing works. not liking this already....

I will reply you on the other topic you created.


idk if im programming it correctly, T1 has a program device when you put scripts on the device, the T2 does not...

how exactly does it work?
User avatar
phild22
First Sergeant
First Sergeant
 
Posts: 59
Joined: Thu Sep 18, 2014 5:56 am

Re: Convert Titan1 scripts to Titan2 the easy way

Postby J2Kbr » Tue Oct 16, 2018 10:19 pm

The basic steps to load the script in the Titan Two are:

Open the script file on Gtuner IV (GPC file);

Go to top menu File -> Install to -> and select a memory slot.

On the device, press the button until the display shows the same number of the memory slot the script was stored.
ConsoleTuner Support Team
User avatar
J2Kbr
General of the Army
General of the Army
 
Posts: 17881
Joined: Tue Mar 18, 2014 1:39 pm

Re: Convert Titan1 scripts to Titan2 the easy way

Postby phild22 » Wed Oct 17, 2018 1:08 am

J2Kbr wrote:The basic steps to load the script in the Titan Two are:

Open the script file on Gtuner IV (GPC file);

Go to top menu File -> Install to -> and select a memory slot.

On the device, press the button until the display shows the same number of the memory slot the script was stored.


looks like its loaded correctly, but not getting anything from the script.....
User avatar
phild22
First Sergeant
First Sergeant
 
Posts: 59
Joined: Thu Sep 18, 2014 5:56 am


Re: Convert Titan1 scripts to Titan2 the easy way

Postby phild22 » Wed Oct 17, 2018 8:27 pm

Scachi wrote:replied you there: viewtopic.php?f=26&t=10374&p=72902#p72902

the character is supposed to attack on vibration but doesnt on T2, supposed to use special attack when availible but doesnt.
User avatar
phild22
First Sergeant
First Sergeant
 
Posts: 59
Joined: Thu Sep 18, 2014 5:56 am

Re: Convert Titan1 scripts to Titan2 the easy way

Postby kick238 » Sat Jan 05, 2019 1:44 pm

can any one help me converting this script
Code: Select all
//------------------------------------------------| 
// \ \ \ \ \    ___   _ __\ \ ,_\    __   __  _   |
//  \ \ \ \ \  / __`\/\`'__\ \ \/  /'__`\/\ \/'\  |
//   \ \ \_/ \/\ \L\ \ \ \/ \ \ \_/\  __/\/>  </  |
//    \ `\___/\ \____/\ \_\  \ \__\ \____\/\_/\_\ |
//     `\/__/  \/___/  \/_/   \/__/\/____/\//\/_/ |
//------------------------------------------------|                                             
 
//DEFINITIONS
define ANTI_RECOIL = 20;       // change this value to compensate vertical recoil (0 - 100)
define ANTI_RECOIL_LEFT = 0// change this value to compensate to the left (0 - 100)
define ANTI_RECOIL_RIGHT = 0; // change this value to compensate to the right (0 - 100)
 
//INITIALIZATION
int Dead_Zone_Up         = -10
int Dead_Zone_Down       =  10
int Dead_Zone_Left       = -10 
int Dead_Zone_Right      =  10
int Recoil_Down          =  28;    
int Recoil_Up            = -28;        
int Recoil_Delay          =  17;    
int Recoil_Release;       
int Vertical;               
int value                 =  33;
int value2                 = -33;
int delay                 =  11;                   
int crouch_shot_onoff      =  FALSE;
int rf                          =  FALSE;
int rf2                     =  FALSE;
int rf3                     =     FALSE;
int Aim_BTN;
int Shoot_BTN;
int RX;
int RY;
int Crouch_BTN;
int LeanLeft;
int LeanRight;
int Switch;
int LX;
int LY;
int Left;
int Up;
init { //-BUTTON LAYOUT-\\ 
if(get_console() == PIO_PS4){ Aim_BTN = PS4_L2; Shoot_BTN = PS4_R2; RX = PS4_RX; RY = PS4_RY; Crouch_BTN = PS4_CIRCLE; LeanLeft = PS4_L3; LeanRight = PS4_R3; Switch = PS4_TRIANGLE; LX = PS4_LX; LY = PS4_LY; Left = PS4_LEFT; Up = PS4_UP
   }else{
   Aim_BTN = XB1_LT; Shoot_BTN = XB1_RT; RX = XB1_RX; RY = XB1_RY; Crouch_BTN = XB1_B; LeanLeft = XB1_LS; LeanRight = XB1_RS; Switch = XB1_Y; LX = XB1_LX; LY = XB1_LY; Left = XB1_LEFT; Up = XB1_UP
}   
   Recoil_Release = Recoil_Down + 1;   // Anti-Recoil Release Value (For Positive Number)   // Anti-Recoil
}   
 
//MAIN SCRIPT
main {
 
//AimAssist
    if(get_val(Shoot_BTN) && get_val(Aim_BTN)) {
    combo_run(RT_C);
    }
 
    if(get_val(RX) < value2 || get_val(RX) > value || get_val(RY) < value2 || get_val(RY) > value
    || get_val(RX) < value2 || get_val(RX) > value || get_val(RY) < value2 || get_val(RY) > value) {
    combo_stop(RT_C);
    }
 
//FastLean       
    if (get_val(Aim_BTN) && event_press(LeanLeft)) combo_run(LeanLeft);
    if(combo_running(LeanLeft)) {set_val(LeanLeft, 0);}
 
 
    if (get_val(Aim_BTN) && event_press(LeanRight)) combo_run(LeanRight);
    if(combo_running(LeanRight)) set_val(LeanRight, 0);
 
 
//RapidFire
    if(event_press(Left)) {   // Rapid Fire Secondary
          rf  = FALSE;
          rf2 = TRUE;
          rf3 = FALSE;
}
     if(event_press(Up)) {   // Rapid Fire Both
          rf = TRUE;
          rf2 = FALSE;
}
 
    if (rf) {
        if (get_val(Shoot_BTN))
            combo_run(rapidfire);
}
    if (rf2) {
        if (event_press(Switch))
        rf3 = !rf3
}   
    if (rf3) {
        if (get_val(Shoot_BTN))
            combo_run(rapidfire);
}
 
 
//CrouchShot
     if (get_val(Aim_BTN) && event_press(Left)) {
        crouch_shot_onoff = !crouch_shot_onoff
         }
 
     if (crouch_shot_onoff) {
        if (get_val(Shoot_BTN))
            combo_run(Crouch_Shot);
        } 
//AntiRecoil
    if (get_val(Shoot_BTN))
        combo_run(Anti_Recoil1)
        combo_run(Dead_Zone);
    }
 
 
//COMBOS
 
 
combo Crouch_Shot { //CrouchShot
    set_val(Crouch_BTN, 100);
    wait(80);
    wait(60);
}
 
combo LeanRight {//FastLeanRight
    set_val(LeanLeft, 100);
    wait(40);
    set_val(LeanRight, 100);
    set_val(LeanLeft, 100);
    wait(90);
    set_val(LeanRight, 100);
    set_val(LeanLeft, 0);
    wait(10);
    set_val(LeanRight, 0);
}
 
combo LeanLeft {//FastLeanLeft
    set_val(LeanRight, 100);
    wait(40);
    set_val(LeanLeft, 100);
    set_val(LeanRight, 100);
    wait(90);
    set_val(LeanLeft, 100);
    set_val(LeanRight, 0);
    wait(10);
    set_val(LeanLeft, 0);
}
 
combo rapidfire {   // Rapid Fire
     set_val(Shoot_BTN,100);
    wait(17);
     set_val(Shoot_BTN,0);
     wait(17);
}
 
combo RT_C {
       set_val(RY, -32);             
       wait(delay)
       set_val(RX, 32);
       set_val(RY, 22);
       wait(delay)
       set_val(RY, 22);
       wait(delay)                 
       set_val(RX, -32);
       set_val(RY, 22);
       wait(delay)
}
 
combo Dead_Zone {   // Anti-Recoil
 set_val(RX,Dead_Zone_Vertical(RX,Dead_Zone_Right,Dead_Zone_Left));
 set_val(RY,Dead_Zone_Vertical(RY,Dead_Zone_Down,Dead_Zone_Up));
 set_val(LX,Dead_Zone_Vertical(LX,Dead_Zone_Right,Dead_Zone_Left));
 set_val(LY,Dead_Zone_Vertical(LY,Dead_Zone_Down,Dead_Zone_Up));
 }
 
 
combo Anti_Recoil1 { //Don't touch this combo pls
     set_val(RY,Anti_Recoil_Vertical(RY,Recoil_Down));   // Down
     wait(Recoil_Delay);
     set_val(RY,Anti_Recoil_Vertical(RY,Recoil_Up));   // Up
     wait(Recoil_Delay);
}
 
function Anti_Recoil_Vertical(f_axis,f_val) {   // Return Anti-Recoil Value Or Controller Value If Above Release   // Anti-Recoil
    Vertical = get_val(f_axis);
    if(abs(Vertical) < Recoil_Release)
     return f_val + Vertical;
     return Vertical; }
 
function Dead_Zone_Vertical(f_axis,f_pv,f_nv) {   // Return zero if between postive & negative limits   // Anti-Recoil
 if(get_val(f_axis) < f_pv && get_val(f_axis) > f_nv) 
  return 0;
  return get_val(f_axis); }
 
 
 
 
 
 
User avatar
kick238
Staff Sergeant
Staff Sergeant
 
Posts: 10
Joined: Tue Aug 21, 2018 3:57 pm

PreviousNext

Return to GPC Script Programming (Titan Two)

Who is online

Users browsing this forum: No registered users and 7 guests