#pragma METAINFO("c.gpc", 1, 0, "Buffy's GPC Converter v0.26")
#include <titanone.gph>
// GPC Online Library
// cod_modern_warfare:_the_perfect_aim_edition_(pae)_-_#1_script_for_cod!_.gpc
/*
A GPC POWER SCRIPT BY CRESCENS FOR device
___ _ _ __ ___ _
/ __\__ _| | | ___ / _| / \_ _| |_ _ _
/ / / _` | | | / _ \| |_ / /\ / | | | __| | | |
/ /__| (_| | | | | (_) | _| / /_//| |_| | |_| |_| |
\____/\__,_|_|_| \___/|_| /___,' \__,_|\__|\__, |
|___/
_ __ __ __
/\/\ ___ __| | ___ _ __ _ __ / / /\ \ \__ _ _ __ / _| __ _ _ __ ___
/ \ / _ \ / _` |/ _ \ '__| '_ \ \ \/ \/ / _` | '__| |_ / _` | '__/ _ \
/ /\/\ \ (_) | (_| | __/ | | | | | \ /\ / (_| | | | _| (_| | | | __/
\/ \/\___/ \__,_|\___|_| |_| |_| \/ \/ \__,_|_| |_| \__,_|_| \___|
___ ____ ____ ____ ____ ____ ___ ____ _ _ _
|__] |___ |__/ |___ |___ | | |__| | |\/|
| |___ | \ | |___ |___ | | | | | |
____ ___ _ ___ _ ____ _ _
|___ | \ | | | | | |\ |
|___ |__/ | | | |__| | \|
____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__
CALL OF DUTY THE PERFECT AIM EDITION IS BACK!!
STRONGER THEN EVER!
THE #1 COD SCRIPT WORLD WIDE!
____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__ ____o__
___________________________________________________________________________________________
BUTTON / STICK LAYOUT : ALL BUTTON & STICK LAYOUTS ARE SUPPORTED
BUMPERS / TRIGGERS : DEFAULT & FLIPPED ARE SUPPORTED
VERSION : 3.2 BETA
PLATFORMS : XBOX ONE, PS4 (works on both consoles)
INPUT DEVICES : ALL CONTROLLERS, ELITE CROSS OVER FOR PS4, M&K
SUPPORT / REQUESTS : TINYURL.COM/GPCSUPPORT
INSTRUCTIONS : OPEN THIS LINK IN YOUR BROWSER: tinyurl.com/scriptinstructions
RECOMMENDED FOR : ADVANCED GPC USERS
SCRIPT COMPLETION LEVEL : 99% - STILL IN BETA, BUTS WORKS LIKE A CHARM SO FAR (ITS AN AWESOME SCRIPT)
_____________________________________________________________________________________________
_ ,----------------------------------------------.
__)) | INSTRUCTIONS: tinyurl.com/scriptinstructions |
( oo) _)---------------------------------------------'
------------------------ooO--(_)--Ooo---------------------------------------------------
---------------------------/ START USER CONFIG \------------------------------------------
USER CONFIGURATION
_ ___
___| |_ ___ ___ |_ |
|_ -| _| -_| . | _| |_
|___|_| |___| _| |_____|
USER CONFIG |_|Sticks, Buttons & Recoil
Anti Recoil values: **//*
t_v, s_v, e_v // t_v = Time Value | s_v = Start Value | e_v = End Value**/// AR PROFILE B / CIRCLE
// AR PROFILE A / CROSS
// AR PROFILE X / SQUARE
/*
CHECK THE STICK & BUTTON LAYOUTS BELOW. DO NOT MIND THE CONSOLE/PLATFORM,
BUT MAKE SURE THAT THE BUTTON DISCRIPTIONS (FIRE, ADS, ETC) MATCHES WITH YOURS.
IF YOU NEED TO MAKE CHANGES, THERE IS A LIST OF IDENTIFIERS JUST BELOW.
//-- STICKS **///AIM HORIZONTAL
//AIM VERTICAL
//--BUTTONS
/*
PS4_CIRCLE XB1_B STICKS:
PS4_CROSS XB1_A
PS4_R1 XB1_RB
PS4_R2 XB1_RT PS4_LY XB1_LY
PS4_R3 XB1_RS PS4_LX XB1_LX
PS4_L1 XB1_LB PS4_RX XB1_RX
PS4_L2 XB1_LT PS4_RY XB1_RY
PS4_L3 XB1_LS Fore more indentifiers go to the manual:
tinyurl.com/scriptinstructions
_ ___
___| |_ ___ ___ |_ |
|_ -| _| -_| . | | _|
|___|_| |___| _| |___|
USER CONFIG |_| Mod Menu
& Settings
**///If you play with inverted set to -1*/
//-----fill out your in game sensitivity here (and TWO times more further down)
// [0 = OFF / 1 = ON / 2 = ON + ZOOM SENS IS ALSO ON - ZOOM SENS DOES NOT WORK WITH BUMPERS - TRIGGERS FLIPPED]
//[0 = OFF / 1 = ON] strongest aim assist for COD BO 4 multiplayer
//If your screen shakes whilst using aim assist - lower this value (try 22, 20)
//[0 = OFF / 1 = ON] cancel sprint to reload & cancel reload with fire or ads - calibrate reload times to make it work
// [0 = EASY DROP OFF / 1 = DROP ONLY When firing, 2 = DROP ALSO when aiming, 3 = SLIDE ALSO when sprinting (tap crouch to activate the slide or drop)]
//see below
//Easy sprint stick treshhold (-75 = pressed more than 75%)
/*
smart_thumb_stick:
0 = not activated (Auto Sprint = OFF)
1 = Auto Sprint activated = on your Left Thumb (just push stick more than 75% forward to run, more than 99% = super sprint)
2 = Auto Sprint activated + Easy Jump under Left Stick Click
3 = Auto Sprint activated + Easy Crouch/Slide under Left Stick Click
4 = Auto Sprint activated + Easy Melee under Left Stick Click
---------------------------/ END USER CONFIG \------------------------------------------
SHORT VERSION OF THE SCRIPT INSTRUCTIONS BELOW, FOR THE DETAILED VERSION: tinyurl.com/scriptinstructions
-----------------------/ START SHORT INSTRUCTIONS \-------------------------------------
____________________________ MENU ADS & LEDS ___________________________________________
HOLD ADS +
- TAP UP = ANTI RECOIL ON / RAPID FIRE OFF - led flashes the color of the recoil profile before turning solid green
- TAP RIGHT = RAPID FIRE ON / ANTI RECOIL OFF - led becomes solid white (to indicate Rapid Fire is on)
- TAP LEFT = RAPID FIRE SECONDARY ON / ANTI RECOIL OFF (blue led = primary weapon, white led is secondary weapon (with rapid fire)
- HOLD LEFT = RAPID FIRE SECONFARY ON + ANTI RECOIL ON (green led = primary weapon, white led is secondary weapon (with rapid fire)
- TAP DOWN = RAPID FIRE OFF / ANTI RECOIL OFF (blue led)
- HOLD VIEW/SHARE = RESET DEFAULTS (to reset aim correction value and reload time value)
- TAP MENU/OPTIONS = AUTO DEAD SILENCE ON / OFF
- TAP HOME = (ONLY WORKS IN RAPID FIRE SECONDARY ON MODE; SO HOLD ADS + TAP LEFT FIRST) SNIPER MODE ON / OFF
WHEN RAPID FIRE SECONDARY = ON
- TAP "SWITCH WEAPON" shortly TO SWITCH BETWEEN RAPID FIRE AND NORMAL FIRE (WHITE LED = RAPID FIRE)
- TAP "RELOAD" shortly TO RELOAD
- TO RESET/SYNC LED COLORS IF YOU DIED USING YOUR SECONDARY WEAPON: HOLD "RELOAD" FOR >180ms
LEDS
- GREEN = ANTI RECOIL IS ON
- WHITE = RAPID FIRE IS ON
- OFF = EDIT MODE IS ON
- BLUE = NEUTRAL (RAPID FIRE & ANTI RECOIL BOTH OFF)
____________________________ ANTI RECOIL ________________________________________________
HOLD ADS + TAP MENU/OPTIONS: AUTO DEAD SILENCE ON / OFF
HOLD D_PAD DOWN +
- TAP A / CROSS -> ANTI RECOIL PROFILE COLOR = PINK
- TAP B / CIRCLE -> ANTI RECOIL PROFILE COLOR = BLUE
- TAP X / SQUARE -> ANTI RECOIL PROFILE COLOR = RED
NOTE: YOU CAN ONLY SWITCH PROFILES WHEN ANTI RECOIL IS ON (SO WHEN THE GREEN LED IS ACTIVE)
THE SCRIPT WILL REMEMBER THE LAST RECOIL PROFILE YOU USED (PROFILE COLOR BLINKS 4X WHEN YOU SWITCH ON ANTI RECOIL)
HOW TO CHANGE ANTI RECOIL VALUES ON THE FLY:
1. START ANTI RECOIL (HOLD ADS + TAP UP)
2. ACTIVATE THE ANTI RECCOIL PROFILE YOU WANT TO MODIFY
3. ENTER THE EDIT MENU -> IN EDIT MODE THE LED WILL BE OFF
4. EDIT VALUES (SEE BELOW)
5. LEAVE EDIT MENU
TOGGLE THE EDIT MENU ON/OFF:
HOLD B / CIRCLE AND HOLD Y / TRIANGLE +
- TAP D_PAD UP
HOW TO EDIT VALUES;
START VALUE:
HOLD PS4_L2 / XB1_LT AND HOLD RELOAD BUTTON +
- TAP UP = +1 (*)
- TAP DOWN = -1 (*)
- TAP RIGHT = +10 (*)
- TAP DOWN = -10 (*)
END VALUE:
HOLD PS4_L2 / XB1_LT AND HOLD PS4_CIRCLE / XB1_B BUTTON +
- TAP UP = +1 (*)
- TAP DOWN = -1 (*)
- TAP RIGHT = +10 (*)
- TAP DOWN = -10 (*)
* = FLASHES LED WITH EACH TAP
- FLASH 1x the profile color if changed by plus or minus 1
- FLASH 2x the profile color if changed by plus or minus 10
SAVE VALUES
Values are auto saved
____________________________ RELOAD TIME CALIBRATION ________________________________________________
THIS TIME VALUE IS USED FOR:
- AUTO CANCEL RELOAD (to cancel out of a reload press fire or press ads)
- PREVENT "SPRINT CANCEL RELOAD" WHEN EASY_RUN (AUTO SPRINT) IS ON
TO CALIBRATE RELOAD TIMES:
- BEFORE RELOADING; HOLD D-PAD DOWN
- THEN PRESS RELOAD TO START RELOADING AND HOLD DOWN THE RELOAD BTN DURING RELOAD ANIMATION
- IT WILL RUMBLE ONCE AFTER 500ms TO CONFIRM THAT YOU ARE CALIBRATING
- RELEASE THE RELOAD BTN EXACTLY AT THE END OF THE RELOAD ANIMATION
- IT WILL RUMBLE TWICE TO CONFIRM SUCCESSFULL CALIBRATION
- NOW YOU CAN RELEASE ALSO THE D_PAD DOWN BTN
THE RELOAD TIME YOU JUST CALIBRATED PREVENTS "SPRINT CANCEL RELOAD" BUT IT IS
ALSO IS THE TIME IN WHICH YOU CAN CANCEL OUT OF A RELOAD BY FIRING OR AIMING YOUR WEAPON
____________________________ AIM CORRECTIONS ________________________________________________
AIM CORRECTIONS INTRODUCTION:
THE IDEA BEHIND AIM CORRECTIONS IS THAT YOU HIGHER YOUR IN-GAME SENSITIVITY WITH 2 OR 3
CLICKS. THIS WILL ALLOW YOU TO TURN AROUND FAST WITHOUT LOSING CONTROL OVER YOUR AIM:
THE SCRIPT WILL LOWER YOUR SENSITIVITY WHEN YOU AIM AND EVEN MORE WHEN YOU AIM & FIRE
SO THAT YOU CAN LOCK ON TARGET. SO FOR EXAMPLE: IF YOU PLAY NORMALLY WITH SENS 8 IN THE
GAME, SET YOUR SENSITIVITY TO 11 IN THE GAME MENU AND FOLLOW THE STEPS BELOW.
1) FILL OUT THE IN-GAME STICK SENSITIVITY YOU JUST CONFIGURED IN THE GAME MENU UNDER
"USER CONFIGURATION" IN THE SCRIPT AND TWO TIMES MORE IN THE SCRIPT (scroll down and whatch for indicators)
2) THAT`S IT! YOU`RE ALL SET AND GOOD TO GO!
AIM CORRECTIONS IS NOW AUTOMATICALLY OPTIMIZED TO YOUR IN GAME SENSITIVITY, MAKING THE
AIM ASSIST STRONGER. IT WILL TAKE A FEW ROUNDS TO ADJUST, BUT IF YOU FEEL THAT THE AIM
CORRECTIONS ARE NOT "RIGHT" FOR YOU TWEAK THE VALUES ON THE FLY:
TO TWEAK AIM CORRECTIONS ON THE FLY
- HOLD B/CIRCLE AND HOLD TRIANGLE / Y + TAP SHARE / VIEW (-1)
- HOLD B/CIRCLE AND HOLD TRIANGLE / Y + TAP MENU / OPTIONS (+1)
ZOOM SENS (DOES NOT WORK WITH FLIPPED TRIGGERS/BUMPERS) - FOR TAKING LONG SHOTS:
Whilst aiming and in the need for more accuracy to take a long shot,
TAP TACTICAL BTN TO ACTIVATE ZOOM_SENS (rumbles once to confirm it is on).
WHEN YOU RELEASE ADS _ ZOOM_SENS WILL BE OFF AGAIN.
____________________________ DYNAMIC RAPID FIRE ________________________________________________
DYNAMIC RAPID FIRE: FIRE RATE INCREASES WITH THE AMOUNT OF PRESSURE APPLIED TO THE TRIGGER
____________________________EASY DROP & EASY SLIDE ___________________________________________
Whilst firing your weapon, a simple tap/press of the crouch btn will make you drop. You have the options
to activate Easy Drop also when you are aiming and to add Easy Slide to the mix as well.
option 1 = tap crouch to go prone whilst firing
option 2 = always go prone when crouch is tapped
option 3 = when crouch is tapped: always go prone + auto slide if sprinting
-----------------------/ END SHORT INSTRUCTIONS \-------------------------------------
__________________________________________________________________________________________________________
SCRIPT STARTS HERE / MAKE NO CHANGES UNLESS INDICATED
__________________________________________________________________________________________________________
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |L|E|D|S| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |V|A|R|I|A|B|L|E|S| | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**///---aim corrections variables (script controls sens for: hip fire, general, tactical & lethal grenade, ads, ads + fire and long shots (zoom sens))
//--RF
//--EASY THUMBS
//---other variables used by the script
// AUTO DEAD SILENCE, WHEN FALSE = OFF BY DEFAULT
//-----REPLACE 12 with your in game sensitivity here (and once more further down under reset defaults)
/*
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |M|E|N|U| |A|D|S| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**///--FIRE MODS OFF
//D-pad DOWN
//--FIRE MODS OFF / anti recoil on
//D-pad UP
//--RAPID FIRE ON
//D-pad RIGHT
//--rapid_fire SECONDANRY
//D-pad LEFT
//--END
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |R|E|C|O|R|D| |T|I|M|E| | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |R|E|L|O|A|D| |T|I|M|E|R| | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |C|A|N|C|E|L| |R|E|L|O|A|D| | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |W|E|A|P|O|N| |F|I|R|E| |M|O|D|S| | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**///--RESET
//-- Rapid fire
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |A|I|M| | |C|O|R|R|E|C|T|I|O|N|S| | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ _ _
**///----------------------------start AIM CORRECTIONS
//--!Zoom
//--general sens & hip fire sens
//--!Zoom end
//--Zoom
// -- Zoom end
//----------------------------end AIM_CORRECTIONS
//-START
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |A|U|T|O| |R|U|N| |+| |E|A|S|Y| |T|H|U|M|B| | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |A|I|M| |A|S|S|I|S|T| | | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |H|O|L|D| |B|R|E|A|T|H| | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**//*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |A|N|T|I| |R|E|C|O|I|L| | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
credits Noozbar**///--calculate values for progression
//--adding or subtracting
//--iteration point for progression
//--reset counters/pointers
//--set RY to anti recoil value
// DOWN end
// ADS end
// EDIT end
// no_recoil && switch end
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |L|E|D|S| |R|U|M|B|L|E| | | | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**///--END OF MAIN
/*
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | | | | | |C|O|M|B|O| |S|E|C|T|I|O|N| | | | | | | | | | | | | | | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+**///--avoid stack overflow
//--progression complete
//--progression not complete
//--reset counter
//--adjust ar_y
//-------------------------------------------------replace 12 with your in_game_sens here for the last time
define WALK = PS4_LY;
define STRAFE = WII_LX;
define AIM_H = XB360_RX;
define AIM_V = PS3_RY;
define FIRE = XB1_RT;
define ADS = XB1_LT;
define SPRINT = XB1_LS;
define TACTICAL = PS4_L1;
define LETHAL = PS4_R1;
define PRONE = XB1_RS;
define MELEE = XB1_B;
define JUMP = XB1_A;
define invert = 1;
define aim_sens_corrections = 1;
define sticky_aim_assist = 1;
define _v = 24;
define smart_reload = 1;
define drop_and_slide_options = 3;
define smart_thumb_stick = 4;
define walk_tresh =- 75;
data(0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 3,
0, 3, 0, 0, 3, 0, 3, 0);
const int8 AR[] = {
35, 25 , 35,
35, 20 , 38,
35, 15 , 30
};
int in_game_menu_sens = 12;
int strt_v[3];
int end__v[3];
int idx;
int pin = 145;
int code;
int record;
int i_val;
int i_pnt;
int i_num;
int i_cnt;
int v, ar_y;
int edit = FALSE;
int no_recoil = FALSE;
int aa_max;
int t1_switch;
int b = 0;
int ads_grenade_sens, ads_fire_sens, Sens;
int long_shot_sens;
int Zoom = FALSE;
int ROF;
int hold_time;
int l_stick_click;
int auto_run = 0;
int SNIPE = FALSE;
int rumble;
int wpn_holster = FALSE;
int WPN_1;
int rld_time, b_reload = FALSE;
int rapid_fire = FALSE;
int first_time;
int s = FALSE;
init {
rld_time = get_pvar(PVAR_3, 0, 4000, 1200);
in_game_menu_sens = get_pvar(PVAR_15, 3, 20, 12);
first_time = get_pvar(PVAR_16, 0, 1, 1);
aa_max = _v + 1;
code = get_pvar(SPVAR_16, 140, 150, 140);
if (code == pin) {
strt_v[1] = get_pvar(SPVAR_7, - 100, 100, 0);
strt_v[2] = get_pvar(SPVAR_8, - 100, 100, 0);
strt_v[0] = get_pvar(SPVAR_9, - 100, 100, 0);
end__v[1] = get_pvar(SPVAR_12, - 100, 100, 0);
end__v[2] = get_pvar(SPVAR_13, - 100, 100, 0);
end__v[0] = get_pvar(SPVAR_14, - 100, 100, 0);
}
}
main {
if (first_time == 1) {
f_RESET_Defaults();
}
if (drop_and_slide_options > 0) {
if (get_val(FIRE) || get_val(ADS) && drop_and_slide_options >= 1 || combo_running(c_EASY_RUN) && drop_and_slide_options >= 2) {
if (event_press(PRONE)) {
combo_run(c_DROP);
}
}
}
if (get_val(ADS) && !edit) {
if (event_press(PS4_DOWN)) {
t1_switch = FALSE;
rapid_fire = FALSE;
f_rumble(rapid_fire);
wpn_holster = FALSE;
no_recoil = FALSE;
}
if (event_press(PS4_UP)) {
t1_switch = TRUE;
rapid_fire = FALSE;
f_rumble(rapid_fire);
wpn_holster = FALSE;
no_recoil = TRUE;
b = 4;
}
if (event_press(PS4_RIGHT)) {
t1_switch = FALSE;
rapid_fire = TRUE;
f_rumble(rapid_fire);
wpn_holster = FALSE;
no_recoil = FALSE;
}
if (event_press(PS4_LEFT)) {
t1_switch = TRUE;
rapid_fire = TRUE;
wpn_holster = TRUE;
f_rumble(wpn_holster);
no_recoil = FALSE;
}
if (t1_switch && event_press(0)) {
SNIPE =! SNIPE;
f_rumble(SNIPE);
}
if (get_val(PS4_LEFT) && get_ptime(PS4_LEFT) > 800) {
no_recoil = TRUE;
f_rumble(no_recoil);
b = 4;
}
if (get_val(PS4_SHARE) && get_ptime(PS4_SHARE) > 800) {
f_RESET_Defaults();
}
if (event_press(WII_PLUS)) {
s =! s;
f_rumble(s);
}
f_btn(PS4_SHARE);
f_btn(PS4_LEFT);
f_btn(PS4_RIGHT);
f_btn(PS4_UP);
f_btn(PS4_DOWN);
f_btn(WII_HOME);
f_btn(WII_PLUS);
}
if (!edit && get_val(XB1_DOWN) && get_val(XB1_X) && get_ptime(XB1_X) > 500 && !record) {
record = TRUE;
f_rumble(record);
}
if (record) {
rld_time = get_ptime(XB1_X);
if (event_release(XB1_X)) {
record = FALSE;
f_save_pvars();
f_rumble(record);
}
}
if (event_release(XB1_X)) {
b_reload = TRUE;
}
if (b_reload) {
b_reload = b_reload + get_rtime();
}
if (b_reload >= rld_time) {
b_reload = 0;
b_reload = FALSE;
}
if (smart_reload == 1) {
if (b_reload && !edit && (event_press(FIRE) || event_press(ADS))) {
combo_run(c_CANCEL_RLD);
}
}
if (event_release(XB1_Y) && get_ptime(XB1_Y) < 300 && wpn_holster) {
t1_switch =! t1_switch;
f_rumble(t1_switch);
}
if (record == FALSE && wpn_holster && get_val(XB1_X) && t1_switch == FALSE && get_ptime(XB1_X) > 180) {
t1_switch = TRUE;
f_rumble(t1_switch);
}
if (rapid_fire) {
ROF = (get_val(FIRE)) / 4;
if (ROF >= 20) ROF = 20;
if (ROF <= 2) ROF = 2;
hold_time = 500 / ROF;
if (hold_time >= 125) hold_time = 125;
if (hold_time < 25) hold_time = 25;
if (!t1_switch && wpn_holster || !t1_switch && !wpn_holster) {
if (get_val(FIRE) && rapid_fire) {
combo_run(c_RAPID_FIRE);
}
}
else if (combo_running(c_RAPID_FIRE)) {
combo_stop(c_RAPID_FIRE);
}
}
if (aim_sens_corrections > 0) {
ads_grenade_sens = 111 - (in_game_menu_sens * 2);
ads_fire_sens = 106 - (in_game_menu_sens * 2);
long_shot_sens = 90 - (in_game_menu_sens * 2);
if (get_val(ADS)) if (aim_sens_corrections == 2) {
if (get_val(LETHAL)) block(LETHAL, 150);
if (event_release(LETHAL)) {
if (get_ptime(LETHAL) < 150 && get_val(ADS)) {
Zoom = TRUE;
f_rumble(Zoom);
}
else Zoom = FALSE;
}
}
if (!Zoom) {
if (get_val(FIRE) && get_val(ADS)) {
Sens = ads_fire_sens;
}
if (!get_val(FIRE) && !get_val(ADS) || get_val(FIRE) && !get_val(ADS)) {
Sens = 100;
}
if (!get_val(FIRE) && get_val(ADS) || get_val(LETHAL) && !get_val(ADS) || get_val(TACTICAL) && !get_val(ADS)) {
Sens = ads_grenade_sens;
}
}
if (Zoom) {
if (get_val(ADS)) {
Sens = long_shot_sens;
}
else {
Sens = 100;
Zoom = FALSE;
f_rumble(Zoom);
}
}
if (Sens > 100) Sens = 100;
sensitivity(AIM_H, NOT_USE, Sens);
sensitivity(AIM_V, NOT_USE, Sens);
}
if (get_val(XB1_B) && get_val(XB1_Y)) {
if (no_recoil && t1_switch) {
if (event_press(XB1_UP)) {
edit =! edit;
f_rumble(edit);
}
}
if (event_press(XB1_VIEW)) {
in_game_menu_sens -- ;
f_save_pvars();
}
if (event_press(XB1_MENU)) {
in_game_menu_sens ++ ;
f_save_pvars();
}
f_btn(XB1_B);
f_btn(XB1_Y);
f_btn(XB1_UP);
f_btn(XB1_VIEW);
f_btn(XB1_MENU);
}
if (smart_thumb_stick > 0) auto_run = 1;
if (smart_thumb_stick == 2) l_stick_click = JUMP;
if (smart_thumb_stick == 3) l_stick_click = PRONE;
if (smart_thumb_stick == 4) l_stick_click = MELEE;
if (smart_thumb_stick > 1 && smart_thumb_stick < 5 && get_val(XB1_LS)) if (SNIPE) {
if (!get_val(ADS)) {
set_val(l_stick_click, 100);
}
}
else {
set_val(l_stick_click, 100);
}
if (auto_run == 1) if (!b_reload && !get_val(ADS) && get_val(WALK) < (walk_tresh) && get_val(WALK) >- 99) {
if (s) {
combo_run(c_silent);
}
combo_run(c_EASY_RUN);
}
else if (!b_reload && !get_val(ADS) && get_val(WALK) <- 99) {
combo_stop(c_EASY_RUN);
combo_run(c_EASY_SPRINT);
if (s) {
combo_run(c_silent);
}
}
if (sticky_aim_assist == 1) {
if (get_val(ADS)) combo_run(c_STICKY_AIM);
else combo_stop(c_STICKY_AIM);
}
if (SNIPE && t1_switch) {
if (get_val(ADS)) {
set_val(SPRINT, 100);
}
}
if (no_recoil && t1_switch) {
if ((AR[(3 * (idx)) + (1)] + strt_v[idx]) < (AR[(3 * (idx)) + (2)] + end__v[idx])) i_val = 1;
else i_val =- 1;
i_pnt = (AR[(3 * (idx)) + (0)] * 10) / (abs((AR[(3 * (idx)) + (1)] + strt_v[idx]) - (AR[(3 * (idx)) + (2)] + end__v[idx])));
if (!get_lval(FIRE)) {
ar_y = AR[(3 * (idx)) + (1)] + strt_v[idx];
i_cnt = 0;
i_num = 0;
}
if (get_val(FIRE)) {
if (!f_p_complete()) ar_y = f_p_val();
else ar_y = AR[(3 * (idx)) + (2)] + end__v[idx];
if (f_y_val() > 100) set_val(AIM_V, 100);
else set_val(AIM_V, f_y_val());
}
idx = WPN_1;
if (get_val(XB1_DOWN) && !get_val(ADS)) {
if (event_release(XB1_X) && get_ptime(XB1_X) < 500) {
WPN_1 = 2;
b = 4;
}
if (event_press(XB1_A)) {
WPN_1 = 1;
b = 4;
}
if (event_press(XB1_B)) {
WPN_1 = 0;
b = 4;
}
f_btn(XB1_Y);
f_btn(XB1_B);
f_btn(XB1_A);
}
if (edit) {
if (get_val(ADS)) {
if (get_val(XB1_X)) {
if (event_press(XB1_UP)) {
strt_v[idx] += 1;
b = 1;
}
if (event_press(XB1_DOWN)) {
strt_v[idx] -= 1;
b = 1;
}
if (event_press(XB1_RIGHT)) {
strt_v[idx] += 10;
b = 2;
}
if (event_press(XB1_LEFT)) {
strt_v[idx] -= 10;
b = 2;
}
}
if (get_val(XB1_B)) {
if (event_press(XB1_UP)) {
end__v[idx] += 1;
b = 1;
}
if (event_press(XB1_DOWN)) {
end__v[idx] -= 1;
b = 1;
}
if (event_press(XB1_RIGHT)) {
end__v[idx] += 10;
b = 2;
}
if (event_press(XB1_LEFT)) {
end__v[idx] -= 10;
b = 2;
}
}
f_btn(XB1_X);
f_btn(XB1_B);
f_btn(XB1_UP);
f_btn(XB1_DOWN);
f_btn(XB1_RIGHT);
f_btn(XB1_LEFT);
}
}
}
if (b > 0) f_blink();
if (!get_ledx()) {
if (edit == TRUE) f_f_Led(0, 0, 0, 0);
else if (wpn_holster && !t1_switch || !wpn_holster && rapid_fire && !t1_switch) f_f_Led(2, 2, 2, 2);
else if (no_recoil) f_f_Led(0, 0, 2, 0);
else f_f_Led(2, 0, 0, 0);
}
if (rumble) combo_run(c_RUMBLE);
}
combo c_STICKY_AIM {
set_val(AIM_V, f_xy_val(AIM_V, _v));
wait(20);
set_val(AIM_H, f_xy_val(AIM_H, _v));
set_val(STRAFE, f_xy_val(STRAFE, _v));
wait(20);
set_val(AIM_V, f_xy_val(AIM_V, _v *- 1));
wait(20);
set_val(AIM_H, f_xy_val(AIM_H, _v *- 1));
set_val(STRAFE, f_xy_val(STRAFE, _v *- 1));
wait(20);
}
combo c_DROP {
set_val(PRONE, 100);
wait(1200);
wait(800);
}
combo c_RAPID_FIRE {
set_val(FIRE, 100);
wait(hold_time);
set_val(FIRE, 0);
wait(hold_time);
}
combo c_CANCEL_RLD {
set_val(XB1_Y, 100);
wait(30);
wait(20);
set_val(XB1_Y, 100);
wait(30);
wait(20);
b_reload = FALSE;
}
combo c_RUMBLE {
wait(150);
set_rumble(1, 100);
wait(150);
reset_rumble();
rumble -- ;
}
combo c_EASY_RUN {
set_val(SPRINT, 100);
}
combo c_EASY_SPRINT {
set_val(SPRINT, 100);
wait(30);
wait(100);
}
combo c_silent {
set_val(TACTICAL, 100);
set_val(LETHAL, 100);
wait(30);
wait(30000);
}
function f_p_complete() {
i_cnt ++ ;
if (i_cnt > AR[(3 * (idx)) + (0)] * 10) {
i_cnt = AR[(3 * (idx)) + (0)] * 10;
return 1;
}
return 0;
}
function f_p_val() {
i_num ++ ;
if (i_num == i_pnt) {
i_num = 0;
ar_y += i_val;
}
return ar_y;
}
function f_rumble(pos) {
if (pos) rumble = 1;
else rumble = 2;
}
function f_btn(f__btn) {
if (!get_val(f__btn))
return ;
set_val(f__btn, 0);
}
function f_xy_val(f_axis, f_val) {
if (abs(get_val(f_axis)) < aa_max)
return f_val;
return get_val(f_axis);
}
function f_y_val() {
v = get_val(AIM_V);
if (abs(v) < 10) v = 0;
if (abs(v) > ar_y + 5)
return v;
return v + ar_y;
}
function f_RESET_Defaults() {
in_game_menu_sens = 12;
first_time = 0;
rld_time = 1200;
f_save_pvars();
}
function f_save_pvars() {
if (edit) {
set_pvar(SPVAR_7, strt_v[1]);
set_pvar(SPVAR_8, strt_v[2]);
set_pvar(SPVAR_9, strt_v[0]);
set_pvar(SPVAR_12, end__v[1]);
set_pvar(SPVAR_13, end__v[2]);
set_pvar(SPVAR_14, end__v[0]);
set_pvar(SPVAR_16, pin);
f_rumble(1);
}
set_pvar(PVAR_15, in_game_menu_sens);
set_pvar(PVAR_16, first_time);
set_pvar(PVAR_3, rld_time);
f_rumble(2);
}
function f_blink() {
if (WPN_1 == 0) set_ledx(LED_1, b);
if (WPN_1 == 2) set_ledx(LED_2, b);
if (WPN_1 == 1) set_ledx(LED_4, b);
if (b == 1 || b == 2) f_save_pvars();
b = 0;
}
function f_f_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);
}