// GPC Online Library
// kniightmaares_simply_a_good_shooter_mod.gpc
//Kniightmaare's "Simply_A_Good_Shooter_Anti_Recoile_&_Rapid_Fire_ON_OFF_MOD"
define TOGGLE_ADS = PS3_L1; //R1 & L1 CAN BE CHANGED TO R2 AND L2 RIGHT HERE JUST CHANGE THE 1 TO A 2 AND BOOM GOOD TO GO
define SHOOT_BUTTON = PS3_R1; //R1 & L1 CAN BE CHANGED TO R2 AND L2 RIGHT HERE JUST CHANGE THE 1 TO A 2 AND BOOM GOOD TO GO
define LX_AXIS = PS3_LX;
define LY_AXIS = PS3_LY;
define SPOT_BUTTON = PS4_R2;
define INSTA_FIRE = 95; // The % at which it boosts your pressed R1 or Fireing Button. ~use a remap or swap~
define INSTA_AIM = 95; // The % at which it boosts your pressed L1 or Scope in Button. ~to change your~
define LOOKAROUND_SPEED = 15; // The % at which it boosts your "looking around" whilst Aiming". ~firebutton & aimbutton~
define RATE_OF_FIRE = 18.7; // Range: 1 to 25 RPS (Round/s)
define DISABLE_WITH_SCOPE =TRUE;
define ANTI_RECOIL = 25; //change this value to compensate to the vertical recoil
define ANTI_RECOIL_LEFT = 2; //change this value to compensate to the left
define ANTI_RECOIL_RIGHT = 2;
define ONLY_WITH_SCOPE =TRUE;
int rapidFireButton =PS3_R1;
int rapid_onoff = FALSE;
int hold_time, rest_time;
int anti_recoil;
int anti_recoil_left;
int anti_recoil_right;
init {
hold_time = 500 / RATE_OF_FIRE;
rest_time = hold_time - 20;
if(rest_time < 0) rest_time = 0;
}
main {
if(event_press(PS3_L2)) { // TURN ON Rapid Fire,
rapid_onoff = !rapid_onoff;
if(rapid_onoff) set_led(LED_4, 2);
else set_led(LED_4, 0);
}
if(get_val(PS3_R1) && rapid_onoff) {combo_run(RapidFire); }
else if(combo_running(RapidFire)) {combo_stop(RapidFire); }
if(get_val(PS3_L1)){ //gets the value of L1 when pressed.
sensitivity(PS3_L1, 10, 100 + INSTA_AIM);} //makes L1 100%pressed even if button is only lightly pressed.
if(get_val(PS3_R1)){ //gets the value of R1 when pressed.
sensitivity(PS3_R1, 10, 100 + INSTA_FIRE);} //makes R1 100%pressed even if button is only lightly pressed
if(!ONLY_WITH_SCOPE || get_val(TOGGLE_ADS)) {combo_run(AntiRecoil);}
// AUTOSPOT ON/OFF
if(get_val(TOGGLE_ADS)) combo_run(AutoSpot);
}
combo RapidFire {
set_val(PS3_R1, 100);
wait(hold_time);
set_val(PS3_R1, 0);
wait(rest_time);
set_val(PS3_R1, 0);
}
combo AutoSpot {
set_val(SPOT_BUTTON, 100);
wait(40); wait(980);
}
combo AntiRecoil {
if(get_val(PS3_R1)) {
anti_recoil = get_val(10) + ANTI_RECOIL;
if(anti_recoil > 100) anti_recoil = 100;
set_val(10, anti_recoil);
anti_recoil_left = get_val(9) -ANTI_RECOIL_LEFT;
if(anti_recoil_left > 100) anti_recoil_left = 100;
set_val(9, anti_recoil_left);
anti_recoil_right = get_val(9) +ANTI_RECOIL_RIGHT;
if(anti_recoil_right > 100) anti_recoil_right = 100;
set_val(9, anti_recoil_right);}
}