/* *
* GPC SCRIPT
*
* GPC is a scripting language with C-like syntax.
* To learn more access GPC Language Reference on Help menu.
* *********************************************************** */
define shoot = XB1_RT;
define ADS = XB1_LT;
define reload = XB1_X;
define switch = XB1_Y;
define crouch = XB1_RS;
define tactical = XB1_LB;
define leathal = XB1_RB;
define D_PAD_UP = XB1_UP;
define D_PAD_DOWN = XB1_DOWN;
define D_PAD_LEFT = XB1_LEFT;
define D_PAD_RIGHT = XB1_RIGHT;
int Snake_ONoff = FALSE;
int RapidFire_ONoff = FALSE;
int XYYjitter_ONoff = FALSE;
main {
if((event_press(ADS) && get_val(D_PAD_UP)) || (event_press(D_PAD_UP) && get_val(ADS))){ // Turns ON/OFF RapidFire
RapidFire_ONoff = !RapidFire_ONoff;
if(RapidFire_ONoff) { combo_run(RumbleNotifier);
Snake_ONoff = FALSE;
}
}
if(RapidFire_ONoff && get_val(shoot)){combo_run(RapidFire); }
if((event_press(ADS) && get_val(D_PAD_LEFT)) || (event_press(D_PAD_LEFT) && get_val(ADS))){ // Turns ON/OFF XYYjitter
XYYjitter_ONoff = !XYYjitter_ONoff;
if(XYYjitter_ONoff) { combo_run(RumbleNotifier);
RapidFire_ONoff = FALSE;
}
}
if(XYYjitter_ONoff && get_val(shoot)){combo_run(XYYjitter); }
if(XYYjitter_ONoff && get_val(ADS)){ XYYjitter = FALSE; }
if((event_press(ADS) && get_val(crouch)) || (event_press(crouch) && get_val(ADS))){ // Turns ON/OFF Snake
Snake_ONoff = !Snake_ONoff;
if(Snake_ONoff) { combo_run(RumbleNotifier);
}
}
if(Snake_ONoff && get_val(12) < -99){combo_run(Snake); }
else if(Snake_ONoff && get_val(11) <-99){combo_run(Snake); }
else if(Snake_ONoff && get_val(12) >99){combo_run(Snake); }
else if(Snake_ONoff && get_val(11) >99){combo_run(Snake); }
}
combo RapidFire{
set_val(4,15);
wait(50);
set_val(4,0);
wait(70)
}
combo XYYjitter {
set_val(4, 100);
wait (17);
set_val(4, 100);
set_val(20, 95);
wait (18);
set_val(4, 100);
set_val(20, 0)
set_val(17, 95);
wait (17);
set_val(4, 100);
set_val(17, 0);
wait (18);
set_val(4, 100);
set_val(17, 95);
wait (17);
set_val(4, 100);
set_val(17, 0);
}
combo Snake {
set_val (5, 100);
wait (150);
set_val (5, 100);
set_val (19, 100);
wait (100);
set_val (5, 100);
set_val (19, 0);
wait (100);
set_val (5, 100);
set_val (19, 100);
wait (100);
set_val (5, 0);
set_val (19, 0);
wait (100);
}
combo RumbleNotifier {
set_rumble(RUMBLE_A, 100);
wait(200);
reset_rumble();
}
//
// The main procedure is called before every report be sent to
// console, you can think in this procedure as a loop which only
// ends when the script is unloaded.
//
// TODO: handle/change values of buttons, analog stick and/or sensors
//