Black Ops 4 GPC Script to use on APEX

Forum to discuss the scripts, configs and connection of XIM with the Titan devices.

Moderator: antithesis

Black Ops 4 GPC Script to use on APEX

Postby hansolo82 » Tue Nov 27, 2018 6:51 pm

Hi all,

Can anyone provide a good recommended script for Black Ops 4 for Titan 2 with xim Apex?
I like to have it as a GPC file and not a gamepack as I like to edit my scripts. Thanks a bunch!
User avatar
hansolo82
Sergeant
Sergeant
 
Posts: 7
Joined: Tue Feb 20, 2018 3:12 pm

Re: Black Ops 4 GPC Script to use on APEX

Postby bonefisher » Wed Nov 28, 2018 1:00 am

Code: Select all
 
#pragma METAINFO("BFV Custom", 1, 0, "bonefisher")
/*******************************************************************************
Using touch click/view and options/menu as toggles to apply mods on/off or
adjusting needs to be hold pass 300 milliseconds then click what mod or
adjustment your wanting applied. For regular use tap and release within 300
milliseconds for button press.
----------------------- -HOLD-TOUCH CLICK/VIEW----------------------------------
Rapid Fire: press d-pad left to activate(display(1)) / deactivate(display(0)).
Anti-Recoil: press d-pad down to activate (display(1)) / deactivate (display(0)).
Sprint: press left stick click to activate(display(1)) / deactivate(display(0)).
QuickScope onLT:press d-pad right to activate(display(1))/deactivate(display(0)).
Turbo Melee: click right stick to activate (display(1))/ deactivate(display(0)).
---------------------------HOLD-OPTIONS/MENU------------------------------------
Rapid Fire Adjusting: default setting is 6 sps to adjust hold options/menu and
click triangle/Y button for adding + 1 to setting and click square/X button for
- 1 setting to the range of 1 ~ 20 shot per second. Blinks goes with sps settings!
 
Tap Burst Adjusting: default setting is 3 shots per tap burst to adjust hold
options/menu and click circle/B button for adding + 1 to setting and click
cross/A button for - 1 setting to the range of 0 ~ 20 tap burst shots.
 
Anti-Recoil Adjusting: default setting is 20.0 vertical and 0.0 horizontal to
adjust hold options/menu then press d-pad for direction you need to pull.
 
If hooked up to computer you can watch output panel for settings or just adjust
by feel in game. Enjoy!
*******************************************************************************/

 
#include <display.gph>
 
int    sps;
int    burst;
int    QuickScopeAdjustment;
int    i;
bool   recoil;
bool   fire;
bool   sprint;
bool   run_flag;
bool   turbo_melee;
bool   fast_melee;
uint8  scope;
fix32  anti_precoil_V;
fix32  anti_precoil_H;
uint32 tap_fire;
 
uint32    IND[] = {
    _0_,                  // 0
    _1_,                  // 1
    _2_,                  // 2
    _3_,                  // 3
    _4_,                  // 4
    _5_                   // 5
};
 
init
{
    sps = 6;                       // default sps setting for rapid fire.
    i = 6;                         // sets blinks with sps setting.
    burst = 3;                     // default shot setting for tap burst.
    tap_fire = burst * 1000/sps; // don't change.
 
    anti_precoil_V = 20.0;
    anti_precoil_H = 0.0;
 
    QuickScopeAdjustment = 340;    //change quick scope setting.
}
main
{
    set_val(BUTTON_2, 0.0);
    if(event_release(BUTTON_2) && time_active(BUTTON_2) < 300) {
        combo_run(touch_view);
    }
    set_val(BUTTON_3, 0.0);
    if(event_release(BUTTON_3) && time_active(BUTTON_3) < 300) {
        combo_run(options_menu);
    }
    // toggle rapid fire on/off.
    if(get_actual(BUTTON_2) && time_active(BUTTON_2) > 300) {
        set_val(BUTTON_12, 0.0);
    if(event_active(BUTTON_12)) {
    if(fire == 0) {
        fire = 1;
        display (1);
    }else if(fire == 1) {
        fire = 0;
        display (0);
    }
    }
    }
    // toggle recoil on/off.
    if(get_actual(BUTTON_2) && time_active(BUTTON_2) > 300) {
        set_val(BUTTON_11, 0.0);
    if(event_active(BUTTON_11)) {
    if(recoil == 0) {
        recoil = 1;
        display (1);
    }else if(recoil == 1) {
        recoil = 0;
        display (0);
    }
    }
    }
    // toggle sprint on/off.
    if(get_actual(BUTTON_2) && time_active(BUTTON_2) > 300) {
        set_val(BUTTON_9, 0.0);
    if(event_active(BUTTON_9)) {
    if(sprint == 0) {
        sprint = 1;
        display (1);
    }else if(sprint == 1) {
        sprint = 0;
        display (0);
    }
    }
    }
    // toggle quick scope on/off.
    if(get_actual(BUTTON_2) && time_active(BUTTON_2) > 300) {
        set_val(BUTTON_13, 0.0);
    if(event_active(BUTTON_13)) {
    if(scope == 0) {
        scope = 1;
        display (1);
    }else if(scope == 1) {
        scope = 0;
        display (0);
    }
    }
    }
    // toggle turbo melee on/off.
    if(get_actual(BUTTON_2) && time_active(BUTTON_2) > 300) {
        set_val(BUTTON_6, 0.0);
    if(event_active(BUTTON_6)) {
    if(turbo_melee == 0) {
        turbo_melee = 1;
        display (1);
    }else if(turbo_melee == 1) {
        turbo_melee = 0;
        display (0);
    }
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
    if(event_release(BUTTON_10) || event_release(BUTTON_11)
    || event_release(BUTTON_12) || event_release(BUTTON_13)
    || event_release(BUTTON_14) || event_release(BUTTON_15)
    || event_release(BUTTON_2) || event_release(BUTTON_3)
    || event_release(BUTTON_16) || event_release(BUTTON_17)) {
        printf("shot_per_second: %d", sps);
        printf("shot_per_tap: %d", burst);
        printf("anti_precoil_V: %f", anti_precoil_V);
        printf("anti_precoil_H: %f", anti_precoil_H);
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
         set_val(BUTTON_14, 0.0);
    if(event_active(BUTTON_14)){
        sps = sps + 1;
        i = i + 1;
    if(sps > 20) sps = 20;
    if(i > 20) i = 20;
        pmem_write(1, sps);
        pmem_write(18, i);
        pmem_save();
        Blink(i);
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
         set_val(BUTTON_17, 0.0);
    if(event_active(BUTTON_17)){
        sps = sps - 1;
        i = i - 1;
    if(sps < 1) sps = 1;
    if(i < 1) i = 1;
        pmem_write(1, sps);
        pmem_write(18, i);
        pmem_save();
        Blink(i);
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_15, 0.0);
    if(event_active(BUTTON_15)){
        burst = burst + 1;
    if(burst > 20) burst = 20;
        pmem_write(5, burst);
        pmem_save();
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_16, 0.0);
    if(event_active(BUTTON_16)){
        burst = burst - 1;
    if(burst < 0) burst = 0;
        pmem_write(5, burst);
        pmem_save();
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_11, 0.0);
    if(event_active(BUTTON_11)){
        anti_precoil_V = anti_precoil_V + 1.0;
    if(anti_precoil_V > 100.0) anti_precoil_V = 100.0;
        pmem_write(10, anti_precoil_V);
        pmem_save();
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_10, 0.0);
    if(event_active(BUTTON_10)){
        anti_precoil_V = anti_precoil_V - 1.0;
    if(anti_precoil_V < -100.0) anti_precoil_V = -100.0;
        pmem_write(10, anti_precoil_V);
        pmem_save();
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_13, 0.0);
    if(event_active(BUTTON_13)){
        anti_precoil_H = anti_precoil_H + 1.0;
    if(anti_precoil_H > 100.0) anti_precoil_H = 100.0;
        pmem_write(14, anti_precoil_H);
        pmem_save();
    }
    }
    if(get_actual(BUTTON_3) && time_active(BUTTON_3) > 300) {
        set_val(BUTTON_12, 0.0);
    if(event_active(BUTTON_12)){
        anti_precoil_H = anti_precoil_H - 1.0;
    if(anti_precoil_H < -100.0) anti_precoil_H = -100.0;
        pmem_write(14, anti_precoil_H);
        pmem_save();
    }
    }
    if(fire == 0) {
    if(get_actual(BUTTON_5)) {
        set_val(BUTTON_5, 100.0);
    }else if(is_release(BUTTON_5) &&
     time_active(BUTTON_5) <= tap_fire) {
        tap_fire = burst * 1000/sps;
        combo_run(anti_recoil);
        set_val(BUTTON_5, 100.0);
    }
    }
    if(fire == 1) {
    if(get_actual(BUTTON_5)) {
        turbo(BUTTON_5);
    }else if(is_release(BUTTON_5) &&
     time_active(BUTTON_5) <= tap_fire) {
        combo_run(anti_recoil);
        turbo(BUTTON_5);
    }
    }
 
    if(recoil == 1) {
    if(get_actual(BUTTON_5)){combo_run(anti_recoil);}
    if(is_active(STICK_1_Y)){combo_stop(anti_recoil);}
    if(is_active(STICK_1_X)){combo_stop(anti_recoil);}
    }
    if(sprint == 1) {
    if(run_flag) {
      if(get_val(STICK_2_Y) != -80.0 && get_val(STICK_2_Y) <= -80.0) {
            combo_run(EasySprint);
      }else {
            run_flag = 0;
      }
      }else if(get_val(STICK_2_Y) != -80.0 && get_val(STICK_2_Y) <= -80.0 && time_active(STICK_2_Y) < 110) {
            run_flag = 1;
      }
      if(get_actual(BUTTON_5) || get_actual(BUTTON_8)) combo_stop(EasySprint);
      if(get_actual(BUTTON_17)) run_flag = 0;
    }
    if(scope == 1) {
    if(event_release(BUTTON_8) && time_active(BUTTON_8) < 300) {
            combo_run(QuickScope);
    }else if(get_val(BUTTON_8) && time_active(BUTTON_8) > 300) {
            combo_run(sniper_breath);
    } else {
        combo_stop(sniper_breath);
    }
    if(get_val(BUTTON_8) > 5.0 && get_val(BUTTON_8) < 99.0) {
        set_val(BUTTON_8, 99.0);
        combo_stop(sniper_breath);
    }else if(get_val(BUTTON_8) > 99.0) {
        set_val(BUTTON_8, 100.0);
        combo_run(sniper_breath);
    }
    }
    if(turbo_melee == 1) {
          if(get_actual(BUTTON_6)) {
        combo_run(melee);
    }else if(event_release(BUTTON_6)) {
        combo_stop(melee);
    }
    if(event_active(BUTTON_6) && time_release(BUTTON_6) < 140) {
        fast_melee = !fast_melee;
    }else if(event_release(BUTTON_6) && time_active(BUTTON_6) <= 140) {
        fast_melee = !fast_melee;
    }
    if(fast_melee) {
    if(get_actual(BUTTON_6)) {
        combo_stop(melee);
        set_val(BUTTON_6, 100.0);
    }else if(event_release(BUTTON_6)) {
        fast_melee = FALSE;
    }
    }
    }
}
 
combo touch_view
{
    set_val(BUTTON_2, 100.0);
    wait(200);
}
 
combo options_menu
{
    set_val(BUTTON_3, 100.0);
    wait(200);
}
 
combo EasySprint
{
    set_val(BUTTON_9, 100.0);
    wait(60);
    set_val(BUTTON_9, 0.0);
    wait(60);
    set_val(BUTTON_9, 0.0);
}
 
combo QuickScope
{
    set_val(BUTTON_5, 0.0);
    set_val(BUTTON_8, 100.0);
    wait(QuickScopeAdjustment);
    set_val(BUTTON_5, 100.0);
    set_val(BUTTON_8, 100.0);
    wait(40);
}
 
combo sniper_breath
{
    set_val(BUTTON_9, 100.0);
    wait(10);
    set_val(BUTTON_9, 100.0);
}
 
combo melee
{
    set_val(BUTTON_6, 100.0);
    wait(40);
    set_val(BUTTON_6, 0.0);
    wait(40);
    set_val(BUTTON_6, 0.0);
}
 
combo anti_recoil
{
    set_val(STICK_1_Y, anti_precoil_V);
    set_val(STICK_1_X, anti_precoil_H);
}
 
void turbo(uint8 button)
{
    uint32 rate = 1000 / sps;
    uint32 hold = rate / 2;
 
    uint32 ta = time_active(button);
    set_val(button, 0.0);
 
   while(ta > rate) {
        ta -= rate;
    }
    tap_fire = burst * 1000/sps;
 
    if(ta > hold) {
        set_val(button, 100.0);
    }
}
 // Display Numbers
void display (uint8 indc)
{
    uint8 VIE;
    VIE = IND[indc];
    display_overlay(VIE, 2000 );
}
 
bool blinking;
void Blink(uint8 no) {
    led_reset();
    if(no) led_vmset(LED_1, 150, 500, i+1);
    blinking = 1;
}
 
main {
    if(blinking && !led_vmget(LED_1)) {
    led_reset();
    blinking = 0;
    }
}
 
 
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Black Ops 4 GPC Script to use on APEX

Postby hansolo82 » Wed Nov 28, 2018 5:01 pm

BoneFisher, thank you so much!
You sir are the man!
User avatar
hansolo82
Sergeant
Sergeant
 
Posts: 7
Joined: Tue Feb 20, 2018 3:12 pm

Re: Black Ops 4 GPC Script to use on APEX

Postby bonefisher » Wed Nov 28, 2018 8:35 pm

:smile0517:
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Black Ops 4 GPC Script to use on APEX

Postby kiet510 » Wed Dec 19, 2018 8:44 pm

bonefisher wrote::smile0517:


Hey Bonefisher, can you convert this script to titan one please? I cant use gamepack because of programming issue with t1/apex/xbox one x.. thanks!
User avatar
kiet510
Command Sergeant Major
Command Sergeant Major
 
Posts: 175
Joined: Sat Jan 03, 2015 5:17 am

Re: Black Ops 4 GPC Script to use on APEX

Postby bonefisher » Wed Dec 19, 2018 9:04 pm

kiet510 wrote:
bonefisher wrote::smile0517:


Hey Bonefisher, can you convert this script to titan one please? I cant use gamepack because of programming issue with t1/apex/xbox one x.. thanks!

Doesn't work on T1!
bonefisher
Lieutenant General
Lieutenant General
 
Posts: 5413
Joined: Thu Jan 29, 2015 10:49 am

Re: Black Ops 4 GPC Script to use on APEX

Postby kiet510 » Thu Dec 20, 2018 3:20 am

Can you recommend any other script that is pretty similar for t1? thanks bo4
User avatar
kiet510
Command Sergeant Major
Command Sergeant Major
 
Posts: 175
Joined: Sat Jan 03, 2015 5:17 am


Return to XIM Apex, XIM4, XIM Edge with Titan devices

Who is online

Users browsing this forum: No registered users and 28 guests