Quick adjusting rapid fire, burst fire and auto fire!

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

Quick adjusting rapid fire, burst fire and auto fire!

Postby bonefisher » Tue Dec 03, 2019 7:18 am

Code: Select all
 
#pragma METAINFO("SelfAdjustRapidBurstAutoFire", 1, 0, "bonefisher")
 
uint8 hold;
int hold_time;
uint8 release;
int release_time;
 
init
{
    pmem_load();
    pmem_read(1, &hold_time);
  printf("HOLD_TIME: <b>%d ms", hold_time);
    pmem_read(5, &release_time);
  printf("RELEASE_TIME: <b>%d ms", release_time);
}
 
main {
    if(hold == 0 && get_actual(BUTTON_8) && get_actual(BUTTON_12)){
        hold_time = 0;hold = 1;set_val(BUTTON_12, 0.0);
    }
  if(hold == 1 && get_actual (BUTTON_12)){
        hold_time += elapsed_time();set_val(BUTTON_12, 0.0);
    }
    if(hold == 1 && event_release (BUTTON_12)){
        printf("HOLD_TIME: <b>%d ms", hold_time);
        hold = 0;
        pmem_write(1,hold_time);
        pmem_save();
    }
    if(release == 0 && get_actual(BUTTON_8) && event_active(BUTTON_10)){
        release_time = 0; set_val(BUTTON_10, 0.0);
        printf("HOLD_TIME: <b>%d ms", hold_time);
        printf("RELEASE_TIME: <b>%d ms", release_time);
    }
    if(release == 0 && get_actual(BUTTON_8) && get_actual(BUTTON_13)){
        release_time = 0;release = 1; set_val(BUTTON_13, 0.0);
    }
  if(release == 1 && get_actual (BUTTON_13)){
        release_time += elapsed_time();set_val(BUTTON_13, 0.0);
    }
    if(release == 1 && event_release(BUTTON_13)){
        printf("RELEASE_TIME: <b>%d ms", release_time);
        release = 0;
        pmem_write(5,release_time);
        pmem_save();
    }
    if(hold == 0 && release == 0 && get_actual(BUTTON_8) && event_active(BUTTON_11)){
        hold_time = 40;release_time = 40; set_val(BUTTON_11, 0.0);
        printf("HOLD_TIME: <b>%d ms", hold_time);
        printf("RELEASE_TIME: <b>%d ms", release_time);
    }
  if(get_actual(BUTTON_5)){
        combo_run(RapidFire);
    }else combo_stop(RapidFire);
 
}
combo RapidFire
{
    set_val(BUTTON_5, 100);
    wait(hold_time);
    set_val(BUTTON_5, release_time ? 0.0 : 100.0);
    wait(release_time);
      set_val(BUTTON_5, release_time ? 0.0 : 100.0);
}
 
 

Quickly change into different fire methods: rapid fire, burst firing autos, quick change speed of rapid fire and regular auto- fire.
*Hold left trigger plus direction of d-pad for changes: quick default rapid fire d-pad down, return to automatic d-pad up, hold d-pad left for hold time and d-pad right for release time and release for timing to be saved for burst or rapid fire speeds. Results are shown on control panel or just feel in game when you get use to it.
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 70 guests