/*
This script allows you to slide cancel and use Aim Assist Abuse.
Created for Flipped controls. If you want to default controls change all
"L1/R1" to "L2/R2".
The script has been tested and is working. However the LED indications a mess
and I don't have rumbles in my controller so no rumble scripts. Enjoy though.
Version History:
1.0: Slide Cancelling
1.1: Easy Slide Cancelling
1.2: Aim Assist Abuse Script (Not created by me).
1.3: Disables dpad buttons while holding down L1
1.4: Added DropShot/JumpShot Options.
You need to Enable "Auto Tac Sprint" for this script to work properly.
-------------------------------
AUTO SLIDE CANCEL Activation: L1+DPAD DOWN
Usage: While sliding, release Circle to slide cancel and be way faster than usual.
EASY SLIDE CANCEL Activation: L1+DPAD UP
Usage: Just tap Circle once and you will automatically slide cancel.
AIM ASSIST ABUSE Activation: L1+DPAD LEFT
Usage: It abuses the aim assist in Modern Warfare.
DROP SHOT MODE Activation: L1+SHARE
Usage: Dropshots (goes prone while shooting)
JUMP SHOT MODE Activation: L1+OPTIONS
Usage: Jumps while shooting.
-----------------------------------
All in all, this mod makes the game way more playable and enjoyable.
*/
//Don't edit the stuff below if you have no idea what you're doing.
// AUTO SLIDE CANCEL -
int AutoSlideCancel=FALSE;
int AutoSlideCancelEasy=FALSE;
// Dropshot/Jumpshot modes.
int DropShotMode=FALSE;
int JumpShotMode=FALSE;
//AIM ABUSE BETA.
int XLV = 0;
int YLV = 0;
int XCV = 0;
int YCV = 0;
int S_D = FALSE;
int S_P = 0;
int F_P = 0;
int J_C = FALSE;
int RXAJC = 0; // PS4_RX Axis Joystick Calibration.
int RYAJC = 0; // PS4_RY Axis Joystick Calibration.
int AimAssist = FALSE;
//AIM ASSIST -
int AP = 20;
int AM = -20;
int Delay = 20;
int A_RLS = 21;
// Main Section:
main {
// Auto Slide Cancel with the ability to choose the length of your slide.
if((event_press(PS4_L1) && get_val(PS4_DOWN)) || (event_press(PS4_DOWN) && get_val(PS4_L1))) {
AutoSlideCancel=!AutoSlideCancel;
} if(AutoSlideCancel) {
AutoSlideCancelEasy = FALSE; }
/******************************************************************************/
if(AutoSlideCancel) {
if(event_release (PS4_CIRCLE)){
combo_run(ASC)
}
}
// END
// DROP SHOT MODE
if((event_press(PS4_L1) && get_val(PS4_SHARE)) || (event_press(PS4_SHARE) && get_val(PS4_L1))) {
DropShotMode=!DropShotMode;
}
/******************************************************************************/
if(DropShotMode) {
if((get_val(PS4_R1)) && (get_ptime(PS4_R1)) <= 1500) {
set_val(PS4_CIRCLE, 100);
}
JumpShotMode = FALSE;
}
// DROP SHOT MODE
if((event_press(PS4_L1) && get_val(PS4_OPTIONS)) || (event_press(PS4_OPTIONS) && get_val(PS4_L1))) {
JumpShotMode=!JumpShotMode;
}
/******************************************************************************/
if(JumpShotMode) {
if((get_val(PS4_R1)) && (get_ptime(PS4_R1)) <= 1500) {
set_val(PS4_CROSS, 100);
}
DropShotMode = FALSE;
}
// Auto Slide Cancel with custom slide lenth (recommended for low skill players)
if((event_press(PS4_L1) && get_val(PS4_UP)) || (event_press(PS4_UP) && get_val(PS4_L1))) {
AutoSlideCancelEasy=!AutoSlideCancelEasy;
} if(AutoSlideCancelEasy) {
AutoSlideCancel = FALSE;
if(get_val (PS4_CIRCLE)){
combo_run(ASCE)
}
}
/******************************************************************************/
// AIM ASSIST ABUSE SCRIPT ACTIVATION.
if((event_press(PS4_L1) && get_val(PS4_LEFT)) || (event_press(PS4_LEFT) && get_val(PS4_L1))) {
AimAssist=!AimAssist;
}
if(AimAssist) {
if (J_C == FALSE){
RXAJC = get_val(PS4_RX);
RYAJC = get_val(PS4_RY);
J_C = TRUE;}
XLV = XCV;
YLV = YCV;
XCV = get_lval(PS4_RX)- RXAJC;
YCV = get_lval(PS4_RY)- RYAJC;
if(get_val(PS4_L2)){
if(abs(XCV) <= 25 && abs(YCV) <= 25){
if(abs(XLV - XCV) < 15){
combo_stop(AAPerfection);
S_D = FALSE;
if(get_val(PS4_R2) > 95){
combo_stop(FTAim);
F_P = 0;
combo_run(S_AA);}
else{
combo_stop(S_AA);
S_P = 0;
combo_run(FTAim);}}}
else if(abs(XCV) <= 70 && abs(YCV) <= 70){
combo_stop(FTAim);
combo_stop(S_AA);
S_P = 0;
F_P = 0;
combo_run(AAPerfection);}}
else {
combo_stop(FTAim);
combo_stop(S_AA);
combo_stop(AAPerfection);
S_P = 0;
F_P = 0;
S_D = FALSE;}
if(AimAssist)
if(get_val(PS4_L1)) combo_run(AS_C);
}
//led colors
set_led(LED_1, 1);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 0);
if(AutoSlideCancel) {
set_led(LED_1, 0);
set_led(LED_2, 1);
set_led(LED_3, 0);
set_led(LED_4, 0);
}
if(AutoSlideCancelEasy) {
set_led(LED_1, 0);
set_led(LED_2, 0);
set_led(LED_3, 1);
set_led(LED_4, 0);
}
if(AimAssist) {
set_led(LED_1, 0);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 1);
}
if(JumpShotMode) {
set_led(LED_1, 0);
set_led(LED_2, 0);
set_led(LED_3, 0);
set_led(LED_4, 1);
}
if(DropShotMode) {
set_led(LED_1, 0);
set_led(LED_2, 1);
set_led(LED_3, 0);
set_led(LED_4, 0);
}
// Disabled buttons while holding L2:
if(get_val(PS4_L1)){
set_val(PS4_UP,0);
set_val(PS4_DOWN,0);
set_val(PS4_LEFT,0);
set_val(PS4_RIGHT,0);
set_val(PS4_OPTIONS,0);
set_val(PS4_SHARE,0);
}
// no deletos
}
// Combo Section:
combo AAPerfection{ //Combo for the Aim Assist Script.
XLV = XCV;
YLV = YCV;
wait(10);
XCV = get_lval(PS4_RX)- RXAJC;
YCV = get_lval(PS4_RY)- RYAJC;
if (S_D == TRUE ){
Aim_Perfection(XLV, XCV, 1, 0, 1, 0 );
Aim_Perfection(YLV, YCV, 1, 0, 0, 1 );}
XLV = XCV;
YLV = YCV;
wait(10);
XCV = get_lval(PS4_RX)- RXAJC;
YCV = get_lval(PS4_RY)- RXAJC;
if (S_D == TRUE ){
Aim_Perfection(XLV, XCV, 0, 1, 1, 0 );
Aim_Perfection(YLV, YCV, 0, 1, 0, 1 );}
S_D = TRUE;
wait(10);
}
combo FTAim { //Combo for the Aim Assist Script.
set_val(PS4_RX,(15 - F_P));
set_val(PS4_LX,(-15 + F_P));
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(15 - F_P));
set_val(PS4_RY,(10 - F_P));
set_val(PS4_LX,(-5 + F_P));
wait(10);
wait(10);
wait(10);
set_val(PS4_RY,(10 - F_P));
wait(10);
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(-15 + F_P));
set_val(PS4_RY,(10 - F_P));
set_val(PS4_LX,(5 - F_P));
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(-15 + F_P));
set_val(PS4_LX,(15 - F_P));
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(-15 + F_P));
set_val(PS4_RY,(-10 + F_P));
set_val(PS4_LX,(5 - F_P));
wait(10);
wait(10);
wait(10);
set_val(PS4_RY,(-10 + F_P));
wait(10);
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(15 - F_P));
set_val(PS4_RY,(-10 + F_P));
set_val(PS4_LX,(-5 + F_P));
wait(10);
wait(10);
F_P = F_P + 2;
if ( F_P >10){
F_P = 0;}
}
combo S_AA { //Combo for the Aim Assist Script.
set_val(PS4_RX,(4 + S_P));
set_val(PS4_LX,(-15+ S_P));
wait(10);
wait(10);
set_val(PS4_RY,(5 + S_P));
wait(10);
wait(10);
wait(10);
wait(10);
set_val(PS4_RX,(-4 - S_P));
set_val(PS4_LX,15 - S_P );
wait(10);
wait(10);
set_val(PS4_RY,(5 + S_P));
wait(10);
wait(10);
wait(10);
wait(10);
S_P = S_P + 2;
if ( S_P >10){
S_P = 0;}
}
combo AS_C { //Combo for the Aim Assist Script.
set_val(PS4_RY,a_f(PS4_RY,AP));
wait(Delay);
set_val(PS4_RX,a_f(PS4_RX,AP));
wait(Delay);
set_val(PS4_RY,a_f(PS4_RY,AM));
wait(Delay);
set_val(PS4_RX,a_f(PS4_RX,AM));
wait(Delay);
}
combo ASC { // Professional Slide Cancel.
wait(12); // If this becomes an issue, change it to 12 or 15. Worked fine here.
set_val(PS4_CIRCLE, 100);
wait(12); // If this becomes and issue, change to anything between 11-20.
set_val(PS4_CIRCLE, 100);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CIRCLE, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
}
combo ASCE { // Easy Slide Cancel.
set_val(PS4_CIRCLE, 100);
wait(120);
set_val(PS4_CIRCLE, 0);
wait(60);
set_val(PS4_CIRCLE, 100);
wait(50);
set_val(PS4_CIRCLE, 100);
set_val(PS4_CROSS, 100);
wait(60);
set_val(PS4_CIRCLE, 0);
set_val(PS4_CROSS, 100);
wait(10);
set_val(PS4_CROSS, 0);
}
function Aim_Perfection(Last_Value, Current_Value, Boost, Correction, X_AXIS, Y_AXIS ) {
if(abs(Last_Value - Current_Value) < 30){
if(Last_Value < Current_Value){
if (Boost){
if (X_AXIS)
set_val(PS4_RX, (Current_Value + 7));
if (Y_AXIS)
set_val(PS4_RY, (Current_Value + 7));}
else if(Correction){
if (X_AXIS)
set_val(PS4_RX, (Current_Value - 12));
if (Y_AXIS)
set_val(PS4_RY, (Current_Value - 12));}}
else{
if (Boost){
if (X_AXIS)
set_val(PS4_RX, (Current_Value - 7));
if (Y_AXIS)
set_val(PS4_RY, (Current_Value - 7));}
else if(Correction){
if (X_AXIS)
set_val(PS4_RX, (Current_Value + 12));
if (Y_AXIS)
set_val(PS4_RY, (Current_Value + 12));}}}
}
function a_f(p,m) {
if(abs(get_val(p)) < A_RLS)
return m;
return get_val(p);
}
function LED(a,b,c,d) {
set_led(LED_1,a);
set_led(LED_2,b);
set_led(LED_3,c);
set_led(LED_4,d);
}