/*******************************************************************************
* WORKS FOR PS4 and XBOX ONE CONSOLES *
* MAKE SURE TO CYCLE THE SWITCHING BEFORE STARTING!!! *
* *
* SWITCHING BETWEEN PRIMARY AND SECONDARY *
* WHEN TAPPING SWITCH_WEAPON YOU WILL GET ONE RUMBLE FOR THE PRIMARY SIDE AND *
* TWO RUMBLES FOR THE SECONDARY SIDE INCASE YOU GET ON THE WRONG SIDE FOR YOUR *
* CLASS JUST HOLD SWITCH_WEAPON BUTTON FOR 300MS OR LONGER AND RELEASE TO PUT *
* YOU INLINE WITH WEAPON CLASS. WHEN ADJUSTING FIRE MAKE SURE YOU ARE ON THE *
* CORRECT SIDE FOR ADJUSTMENTS. WHEN YOU DIE MAKE SURE YOUR BACK ON PRIMARY *
* SIDE SO SWITCH BEFORE YOU SPAWN. *
* ADJUSTING PRIMARY FIRE *
* ADJUSTING PRIMARY FIRE: HOLD FIRE AND CLICK D-PAD UP FOR INCREASING AND *
* D-PAD DOWN FOR DECREASING THE FIRE. *
* MAKE SURE YOUR ON PRIMARY SIDE! *
* JITTER MOD *
* THIS NEEDS TACTICAL EQUIPMENT FOR IT TO WORK. THIS IS ON PRIMARY SIDE. *
* ADJUSTING BURST FIRE PRIMARY *
* ADJUSTING BURST FIRE: HOLD ADS AND CLICK D-PAD UP FOR INCREASING SHOTS *
* AND D-PAD DOWN FOR DECREASING SHOTS OF FIRE. *
* ADJUSTING BURST FIRE: HOLD ADS AND CLICK D-PAD LEFT FOR DECREASING DELAY *
* AND D-PAD RIGHT FOR INCREASING DELAY OF FIRE. *
* MAKE SURE YOUR ON PRIMARY SIDE! *
* ADJUSTING SECONDARY FIRE *
* ADJUSTING SECONDARY FIRE: HOLD FIRE AND CLICK D-PAD UP FOR INCREASING AND *
* D-PAD DOWN FOR DECREASING THE FIRE. *
* MAKE SURE YOUR ON SECONDARY SIDE! *
* AKIMBO MOD *
* IT ADJUSTS WITH THE SECONDARY FIRE SETTINGS YOU CAN EITHER HAVE THIS ON FOR *
* AKIMBOS OR OFF BUT FOR THE AKIMBOS TO WORK IT DOES NEED SECONDARY FIRE ON. *
* MAKE SURE YOUR ON SECONDARY SIDE! *
* ADVANCED SNIPER MOD *
* TAP FIRE TRIGGER TO QUICKSCOPE OR HOLD FIRE TRIGGER AND RELEASE TAKING A SHOT*
* ADS TRIGGER IS THE CANCEL METHOD IF NOT WANTING TO TAKE SHOT. ADJUSTMENTS ARE*
* IN THE DEFINE SECTION FOR EACH SNIPER WEAPON UNDER SNIPERHOLD / SNIPERRELEASE*
* ADJUSTING ANTI-RECOIL ON PRIMARY OR SECONDARY SIDE *
* EACH SIDE HAS ITS OWN ADJUSTMENT. HOLD FIRE BUTTON AND CLICK LETHAL BUTTON *
* TO INCREASE DOWNWARD PULL OR CLICK TACTICAL BUTTON TO DECREASE DOWNWARD PULL *
* THIS IS A ADVANCED RECOIL COMPENSATION SO PRIMARY FIRE AND SECONDARY FIRE *
* OR BURST FIRE NEEDS TO BE ON FOR THIS TO WORK. *
* *
* STARTING OFF FIRST THING TO DO! *
* BEFORE TOGGLING MODS HOLD ADS TRIGGER AND CLICK SCOREBOARD TO ENABLE BLOCK *
* ON HOME BUTTON TO ACTIVATE/DEACTIVATE MODS WITHOUT OUTPUT OF HOME BUTTON. *
* MAKE SURE TO CYCLE THE SWITCHING BEFORE STARTING TURNING ON MODS!!!!!! *
* TOGGLING MODS ON/OFF *
* PRIMARY SIDE PRIMARY FIRE : HOLD HOME BUTTON AND CLICK D-PAD LEFT *
* PRIMARY SIDE BURST FIRE : HOLD HOME BUTTON AND CLICK D-PAD RIGHT *
* PRIMARY SIDE JITTER MOD : HOLD HOME BUTTON AND CLICK D-PAD DOWN *
* PRIMARY SIDE ADVANCED SNIPER : HOLD HOME BUTTON AND CLICK ADS BUTTON *
* SECONDARY SIDE SECONDARY FIRE : HOLD HOME BUTTON AND CLICK D-PAD LEFT *
* SECONDARY SIDE AKIMBO FIRE : HOLD HOME BUTTON AND CLICK D-PAD DOWN *
* PRIMARY SIDE PRIMARY ANTI-RECOIL: HOLD HOME BUTTON AND CLICK D-PAD UP *
* SECONDARY SIDE SECONDARY ANTI-RECOIL: HOLD HOME BUTTON AND CLICK D-PAD UP *
* BOTH SIDES LONG JUMP : HOLD HOME BUTTON AND CLICK JUMP BUTTON *
* BOTH SIDES DROP SHOT : HOLD HOME BUTTON AND CLICK CROUCH BUTTON*
* BOTH SIDES EASY SPRINT : HOLD HOME BUTTON AND CLICK SPRINT BUTTON*
* BOTH SIDES JUMP ON FIRE : HOLD HOME BUTTON AND CLICK FIRE BUTTON *
* MAKE SURE WHEN TOGGLING THAT YOUR ON CORRECT SIDE FOR IT TO TURN ON! *
*******************************************************************************/
define HOME = 0;
define SCOREBOARD = 1;
define MENU = 2;
define LETHAL = 3;
define FIRE_BUTTON = 4;
define MELEE = 5;
define TACTICAL = 6;
define ADS_BUTTON = 7;
define SPRINT_BUTTON = 8;
define RX = 9;
define RY = 10;
define LX = 11;
define LY = 12;
define D_PAD_UP = 13;
define D_PAD_DOWN = 14;
define D_PAD_LEFT = 15;
define D_PAD_RIGHT = 16;
define SWITCH_BUTTON = 17;
define CROUCH = 18;
define JUMP = 19;
define RELOAD = 20;
define SENSITIVITY = 70; // Adjust from 1~100 100 is normal aiming.
define SniperHold = 250; // P-06 needs 100 // Locus needs 250 // SVG-100 needs 300
define SniperRelease = 20; // P-06 needs 250 // Locus needs 10 // SVG-100 needs 20
int RapidRate, RapidRate2, BurstRateH, BurstRateR;
int RecoilAmountP, RecoilAmountS;
int PrimaryFire, SecondaryFire, AkimboFire, BurstFire, QuickSniper;
int HoldTime, HoldTime2, BurstHold, BurstRelease, BigButton;
int Switch, Jump, JumpTrigger, Drop, Run, prone_flag, ShotGunJitter;
int AntiRecoilP, anti_recoilP, ANTI_RECOILP;
int AntiRecoilS, anti_recoilS, ANTI_RECOILS;
init {
RapidRate = get_pvar(SPVAR_1, 25, 250, 50);
RapidRate2 = get_pvar(SPVAR_2, 25, 250, 50);
BurstRateH = get_pvar(SPVAR_3, 25, 1000, 300);
BurstRateR = get_pvar(SPVAR_4, 25, 1000, 100);
RecoilAmountP = get_pvar(SPVAR_5, 20, 100, 30);
RecoilAmountS = get_pvar(SPVAR_6, 20, 100, 30);
}
main {
// Run the GPC Virtual Machine every 5ms!
vm_tctrl(-5);
// Set hair triggers
if (get_val(FIRE_BUTTON)) {set_val(FIRE_BUTTON, 100); }
if (get_val(ADS_BUTTON)) {set_val(ADS_BUTTON, 100); }
// Slows down sensitivity while aiming and firing.
if(get_val(ADS_BUTTON) && get_val(FIRE_BUTTON)) {
sensitivity(RX, NOT_USE, SENSITIVITY);
sensitivity(RY, NOT_USE, SENSITIVITY);
}
// Cycle switching before starting!
if((event_release(SWITCH_BUTTON)) && (get_ptime(SWITCH_BUTTON) <= 300)) {
if((Switch) == 2) {
Switch = 1;
combo_run(RumbleNotifier);
reset_leds(); // Blue Led Primary
} else {
Switch = 2;
combo_run(DoubleRumbleNotifier);
set_led(LED_2, 1); // Red Led Secondary
}
}
// On/Off toggle for Home button hold ADS and click scoreboard
// This removes output for home button to use to activate mods.
if((get_val(ADS_BUTTON)) && (event_press(SCOREBOARD))) {
if((BigButton) == 0) {
BigButton = 1;
combo_run(RumbleNotifier);
} else {
BigButton = 0;
}
}
// On/Off toggle for Primary Fire hold HOME and click D-Pad Left
// Shuts off burst fire and Shot Gun Jitter if you forget to toggle off while using rapid fire.
if((get_val(HOME)) && (event_press(D_PAD_LEFT)) && Switch == 1) {
if((PrimaryFire) == 0) {
PrimaryFire = 1;
BurstFire = 0;
ShotGunJitter = 0;
QuickSniper = 0;
combo_run(RumbleNotifier);
} else {
PrimaryFire = 0;
}
}
// On/Off toggle for Burst Fire hold HOME and click D-Pad Right
// Shuts off primary fire and Shot Gun Jitter if you forget to toggle off while using burst fire.
if((get_val(HOME)) && (event_press(D_PAD_RIGHT)) && Switch == 1) {
if((BurstFire) == 0) {
BurstFire = 1;
PrimaryFire = 0;
ShotGunJitter = 0;
QuickSniper = 0;
combo_run(RumbleNotifier);
} else {
BurstFire = 0;
}
}
// On/Off toggle for Shot Gun Jitter primary side hold HOME and click D-Pad Down
// Shuts off burst fire and Rapid Fire if you forget to toggle off while using Jitter.
// Use Tactical Equipment for Jitter to work!
if((get_val(HOME)) && (event_press(D_PAD_DOWN)) && Switch == 1) {
if((ShotGunJitter) == 0) {
ShotGunJitter = 1;
PrimaryFire = 0;
BurstFire = 0;
QuickSniper = 0;
combo_run(RumbleNotifier);
} else {
ShotGunJitter = 0;
}
}
// On/Off toggle for Secondary Fire hold HOME and click D-Pad Left
if((get_val(HOME)) && (event_press(D_PAD_LEFT)) && Switch == 2) {
if((SecondaryFire) == 0) {
SecondaryFire = 1;
combo_run(RumbleNotifier);
} else {
SecondaryFire = 0;
}
}
// On/Off toggle for Akimbos secondary side hold HOME and click D-Pad Down
// Must use Secondary fire along with the akimbos to work.
// If right pistol stops firing means that the speed is to fast so turn down.
if((get_val(HOME)) && (event_press(D_PAD_DOWN)) && Switch == 2) {
if((AkimboFire) == 0) {
AkimboFire = 1;
combo_run(RumbleNotifier);
} else {
AkimboFire = 0;
}
}
// On/Off toggle for Anti-Recoil primary side hold HOME and click D-Pad UP
if((get_val(HOME)) && (event_press(D_PAD_UP)) && Switch == 1) {
if((AntiRecoilP) == 0) {
AntiRecoilP = 1;
combo_run(RumbleNotifier);
} else {
AntiRecoilP = 0;
}
}
// On/Off toggle for Anti-Recoil secondary side hold HOME and click D-Pad UP
if((get_val(HOME)) && (event_press(D_PAD_UP)) && Switch == 2) {
if((AntiRecoilS) == 0) {
AntiRecoilS = 1;
combo_run(RumbleNotifier);
} else {
AntiRecoilS = 0;
}
}
// On/Off toggle for Advanced Sniper hold HOME and click Melee button
// Shuts everything off on primary side when in use incase you forget.
if((get_val(HOME)) && (event_press(ADS_BUTTON)) && Switch == 1) {
if((QuickSniper) == 0) {
QuickSniper = 1;
BurstFire = 0;
PrimaryFire = 0;
ShotGunJitter = 0;
combo_run(RumbleNotifier);
} else {
QuickSniper = 0;
}
}
// On/Off toggle for Jump hold HOME and click Jump
if((get_val(HOME)) && (event_press(JUMP))) {
if((Jump) == 0) {
Jump = 1;
combo_run(RumbleNotifier);
} else {
Jump = 0;
}
}
// On/Off toggle for Jump hold HOME and click Fire
if((get_val(HOME)) && (event_press(FIRE_BUTTON))) {
if((JumpTrigger) == 0) {
JumpTrigger = 1;
combo_run(RumbleNotifier);
} else {
JumpTrigger = 0;
}
}
// On/Off toggle for Drop Shot hold HOME and click Crouch
if((get_val(HOME)) && (event_press(CROUCH))) {
if((Drop) == 0) {
Drop = 1;
combo_run(RumbleNotifier);
} else {
Drop = 0;
}
}
// On/Off toggle for Easy Sprint hold HOME and click Sprint
if((get_val(HOME)) && (event_press(SPRINT_BUTTON))) {
if((Run) == 0) {
Run = 1;
combo_run(RumbleNotifier);
} else {
Run = 0;
}
}
// This removes output for HOME button to use to activate mods.
if (BigButton == 1) { set_val(HOME, 0); }
// Primary
if((get_val(FIRE_BUTTON)) && PrimaryFire == 1 && Switch == 1) {
if(get_val(FIRE_BUTTON)) {
combo_run(RapidFire);
}
}
if((get_val(FIRE_BUTTON)) && BurstFire == 1 && Switch == 1) {
if(get_val(FIRE_BUTTON)) {
combo_run(Burst_Fire);
}
}
if((get_val(FIRE_BUTTON)) && ShotGunJitter == 1 && Switch == 1) {
if(get_val(FIRE_BUTTON)) {
combo_run(BonefisherJitter);
}
}
if(QuickSniper == 1 && Switch == 1) {
if(get_val(FIRE_BUTTON)) {set_val(FIRE_BUTTON,0); set_val(ADS_BUTTON,100);
combo_run(HoldBreath);}
else if(event_release(FIRE_BUTTON) && get_ptime(FIRE_BUTTON) <= SniperHold) {
combo_run(QuickScope);}
else if(event_release(FIRE_BUTTON) && get_ptime(FIRE_BUTTON) >= SniperHold) {
combo_stop(QuickScope);combo_run(QSH_fire);}
if(get_val(ADS_BUTTON)) {combo_stop(QuickScope);
combo_stop(QSH_fire);}
}
// Secondary
if((get_val(FIRE_BUTTON)) && SecondaryFire == 1 && Switch == 2) {
if(get_val(FIRE_BUTTON)) {
combo_run(RapidFire2);
}
}
// Long Jump works if hold jump button down
if(get_val(JUMP) && Jump == 1) { combo_run(LongJump); }
// Drop Shot responds only if fire before ADS or release of ADS.
if(Drop == 1) {
if((!get_val(ADS_BUTTON) && event_press(FIRE_BUTTON)) ||
(event_release(ADS_BUTTON) && get_val(FIRE_BUTTON))) {
combo_run(Prone);
combo_stop(EasySprint);
} else if(event_release(FIRE_BUTTON)) {
if(prone_flag) combo_run(Stand);
combo_stop(EasySprint);
}
}
// Long Jump on fire trigger reponds only if fire before ADS or release of ADS.
if(JumpTrigger == 1) {
if((!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON)) ||
(event_release(ADS_BUTTON) && get_val(FIRE_BUTTON))) {
combo_run(LongJump);
}
}
if (get_val(LY) < -95 && Run == 1) { combo_run(EasySprint); }
// To Adjust Primary Rapid Fire hold Fire trigger and click D-Pad Up
// for increasing speed and D-Pad Down decreasing speed.
// Don't hold ADS while adjusting or will not adjust.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON) && PrimaryFire == 1 && Switch == 1) {
if (event_press(D_PAD_UP)) {RapidRate = RapidRate - 5; }
if (event_press(D_PAD_DOWN)) {RapidRate = RapidRate + 5; }
if (RapidRate > 250) { RapidRate = 250; }
if (RapidRate < 25) { RapidRate = 25; }
set_pvar(SPVAR_1, RapidRate);
HoldTime = RapidRate;
// When adjusting this keeps it from showing up pressed.
set_val(D_PAD_UP, 0); set_val(D_PAD_DOWN, 0);
}
// To Adjust Secondary Rapid Fire hold Fire trigger and click D-Pad Up
// for increasing speed and D-Pad Down decreasing speed.
// Don't hold ADS while adjusting or will not adjust.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON)&& Switch == 2) {
if (event_press(D_PAD_UP)) {RapidRate2 = RapidRate2 - 5; }
if (event_press(D_PAD_DOWN)) {RapidRate2 = RapidRate2 + 5; }
if (RapidRate2 > 250) { RapidRate2 = 250; }
if (RapidRate2 < 25) { RapidRate2 = 25; }
set_pvar(SPVAR_2, RapidRate2);
HoldTime2 = RapidRate2;
// When adjusting this keeps it from showing up pressed.
set_val(D_PAD_UP, 0); set_val(D_PAD_DOWN, 0);
}
// To Adjust Burst Fire hold Fire trigger and click D-Pad Up
// for increasing shots burst and D-Pad Down decreasing shots burst.
// Don't hold ADS while adjusting or will not adjust.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON) && BurstFire == 1 && Switch == 1) {
if (event_press(D_PAD_DOWN)) {BurstRateH = BurstRateH - 5; }
if (event_press(D_PAD_UP)) {BurstRateH = BurstRateH + 5; }
if (BurstRateH > 1000) { BurstRateH = 1000; }
if (BurstRateH < 25) { BurstRateH = 25; }
set_pvar(SPVAR_3, BurstRateH);
BurstHold = BurstRateH;
// When adjusting this keeps it from showing up pressed.
set_val(D_PAD_UP, 0); set_val(D_PAD_DOWN, 0);
}
// To Adjust Burst Fire hold Fire trigger and click D-Pad Right
// for increasing delay and D-Pad Left decreasing delay.
// Don't hold ADS while adjusting or will not adjust.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON) && BurstFire == 1 && Switch == 1) {
if (event_press(D_PAD_LEFT)) {BurstRateR = BurstRateR - 5; }
if (event_press(D_PAD_RIGHT)) {BurstRateR = BurstRateR + 5; }
if (BurstRateR > 1000) { BurstRateR = 1000; }
if (BurstRateR < 25) { BurstRateR = 25; }
set_pvar(SPVAR_4, BurstRateR);
BurstRelease = BurstRateR;
// When adjusting this keeps it from showing up pressed.
set_val(D_PAD_RIGHT, 0); set_val(D_PAD_LEFT, 0);
}
// To Adjust Recoil Amount hold Fire trigger and click Tactical button
// for decreasing down pull and Lethal button increasing down pull.
// Don't hold ADS button while adjusting this or will not adjust.
// Rapid Fire or Burst Fire must be on while using anti-recoil.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON) && Switch == 1 && AntiRecoilP == 1) {
if (event_press(TACTICAL)) {RecoilAmountP = RecoilAmountP - 1; }
if (event_press(LETHAL)) {RecoilAmountP = RecoilAmountP + 1; }
if (RecoilAmountP > 100) { RecoilAmountP = 100; }
if (RecoilAmountP < 20) { RecoilAmountP = 20; }
set_pvar(SPVAR_5, RecoilAmountP);
ANTI_RECOILP = RecoilAmountP;
// When adjusting this keeps it from showing up pressed.
set_val(TACTICAL, 0); set_val(LETHAL, 0);
}
// To Adjust Recoil Amount hold Fire trigger and click Tactical button
// for decreasing down pull and Lethal button increasing down pull.
// Don't hold ADS button while adjusting this or will not adjust.
// Rapid Fire must be on while using anti-recoil.
if (!get_val(ADS_BUTTON) && get_val(FIRE_BUTTON) && Switch == 2 && AntiRecoilS == 1) {
if (event_press(TACTICAL)) {RecoilAmountS = RecoilAmountS - 1; }
if (event_press(LETHAL)) {RecoilAmountS = RecoilAmountS + 1; }
if (RecoilAmountS > 100) { RecoilAmountS = 100; }
if (RecoilAmountS < 20) { RecoilAmountS = 20; }
set_pvar(SPVAR_6, RecoilAmountS);
ANTI_RECOILS = RecoilAmountS;
// When adjusting this keeps it from showing up pressed.
set_val(TACTICAL, 0); set_val(LETHAL, 0);
}
}
combo RumbleNotifier {
set_rumble (RUMBLE_A, 100);
wait (300);
reset_rumble();
}
combo DoubleRumbleNotifier {
set_rumble (RUMBLE_A, 100);
wait (300);
set_rumble (RUMBLE_A, 0);
wait (300);
set_rumble (RUMBLE_A, 100);
wait (400);
reset_rumble();
}
combo RapidFire {
set_val (FIRE_BUTTON, 100);
wait (HoldTime);
if (get_val (FIRE_BUTTON)
&& AntiRecoilP == 1) {
anti_recoilP =
get_val(10) + ANTI_RECOILP;
if(anti_recoilP > 100) {
anti_recoilP = 100;
} set_val(10, anti_recoilP); }
set_val (FIRE_BUTTON, 0);
wait (HoldTime);
set_val (FIRE_BUTTON, 0);
}
combo Burst_Fire {
set_val (FIRE_BUTTON, 100);
wait (BurstHold);
if (get_val (FIRE_BUTTON)
&& AntiRecoilP == 1) {
anti_recoilP =
get_val(10) + ANTI_RECOILP;
if(anti_recoilP > 100) {
anti_recoilP = 100;
} set_val(10, anti_recoilP); }
set_val (FIRE_BUTTON, 0);
wait (BurstRelease);
set_val (FIRE_BUTTON, 0);
}
combo RapidFire2 {
set_val (FIRE_BUTTON, 100);
wait (HoldTime2);
if (get_val (FIRE_BUTTON) &&
AkimboFire == 1) {
set_val (ADS_BUTTON, 100);}
if (get_val (FIRE_BUTTON)
&& AntiRecoilS == 1) {
anti_recoilS =
get_val(10) + ANTI_RECOILS;
if(anti_recoilS > 100) {
anti_recoilS = 100;
} set_val(10, anti_recoilS); }
set_val (FIRE_BUTTON, 0);
wait (HoldTime2);
set_val (FIRE_BUTTON, 0);
}
combo BonefisherJitter {
set_val (FIRE_BUTTON, 100);
wait (10);
set_val (FIRE_BUTTON, 100);
set_val (TACTICAL, 100);
wait (82);
set_val (FIRE_BUTTON, 100);
set_val (TACTICAL, 100);
set_val (LETHAL, 100);
wait (20);
set_val (FIRE_BUTTON, 100);
set_val (TACTICAL, 0);
set_val (LETHAL, 0);
}
combo EasySprint {
set_val(SPRINT_BUTTON, 100);
wait(40); wait(40);
}
combo LongJump {
set_val (JUMP, 100);
wait (160);
set_val (JUMP, 0);
wait (60);
}
combo Prone {
set_val (LX, 0);
set_val (LY, 0);
wait (50);
set_val (LX, 0);
set_val (LY, 0);
set_val (CROUCH, 100);
wait (380);
prone_flag = TRUE;
}
combo Stand {
set_val (CROUCH, 100);
wait (380);
prone_flag = FALSE;
}
combo QuickScope {
set_val (ADS_BUTTON,100);
wait (SniperHold);
set_val (ADS_BUTTON,100);
set_val (FIRE_BUTTON,100);
wait (50);
set_val (ADS_BUTTON,100);
wait (SniperRelease);
}
combo QSH_fire {
set_val (ADS_BUTTON,100);
set_val (FIRE_BUTTON,100);
wait (50);
set_val (ADS_BUTTON,100);
wait (SniperRelease);
}
combo HoldBreath {
set_val(SPRINT_BUTTON, 100);
wait (10);
set_val(SPRINT_BUTTON, 100);
}