Order by
VIEW WORK
FILES: 2
THUMBS-UP: 19
DOWNLOADS: 3856
v 7.02 - Feb 2, 2020
pablosscripts (pablogroup)

To view the full list of features, setup instructions and release notes, click on the "DOC" button on the right.

This is the product of over 4 years of prototyping, development and refinement, play tested over 3,500 hours. I have lived and breathed this script for so long now, obsessing over every little detail and thinking about it day and night. Every season I spend hours on the Technical Test Server to thoroughly analyse the new operators, gadgets and changes to make sure they will be compatible with this script. The key features are:

  • Easy Sprint: this was probably the hardest thing to get right, and even after 2 years of work I still found myself refining certain aspects of it. This is because of how complex this game is - as the Sprint button is also used for leaning and quick rappelling, it caused so many issues. I could have settled for a compromised solution but I persisted until I got this working for every conceivable scenario. My goal was to have a solution where Easy Sprint would always kick in every time you wanted it to, but never when you didn't want it to.

  • PC Style Toggle Lean: this allows you to lean left and right without having to hold the ADS button, while a regular straight lean can still be activated via a hold. This is the best of both worlds and it plays extraordinary well. I experimented with a lot of different concepts but this is by far the best. Break out of this by leaning in the same direction you were already leaning, or by tapping the ADS or Vault buttons.

  • PC Style Crouching and Proning: for keyboard users, this decouples crouching from proning (so holding down the Crouch button no longer makes you go prone). This makes crouching more reliable, as I find time-based inputs very inconsistent.

  • Rapid Fire: toggle between Primary and Secondary firing modes by double tapping and then holding the Reload button, or by pressing the Swap button. Rapid Fire is enabled in Secondary Mode. When enabled, Primary mode is denoted with a "P." on the LCD screen, and Secondary mode is denoted with an "S."

  • Anti-Recoil: thanks to Antithesis, this fully customisable via the Interactive Configurator.

  • Grenade Overcook Protection: this prevents you from cooking your grenades for too long!

  • ACOG ADS Normalisation: aim sensitivity in this game does not account for the difference in FOV between ACOG sights and the others. This means the sensitivity of ACOG sights is higher than they should be, and it can feel jarring when you swap between sights that have different levels of magnification. This feature reduces the sensitivity of your aiming when using an ACOG sight. To toggle between ACOG Normalisation sensitivity and the default, simply tap the Reload button while holding the ADS button. The LCD screen will turn purple when ADS Normalisation Sensitivity is enabled (instead of the default green).

  • Lean Protect: I found that leaning in general wasn't as reliable as I wanted it to be. To test this, without using this script, press ADS and then very quickly tap the Sprint or Melee buttons - you will notice that it just doesn't register a lot of the time. I have fixed this so leaning is now better, more reliable, and smoother than it was in the original game.

  • ADS Sensitivity Delay: this delays the ADS sensitivity from kicking in until you are fully aiming down sights. There is actually a split-second delay between when you press the ADS button and when the ADS animation completes. This script prevents the ADS sensitivity from applying too early, making it feel more consistent when you turn just before you aim.

  • Auto-Actions: this allows you to automatically place barricades, reinforce walls, and basically anything that used to require you to hold down the Reload button.

  • Double Up: for Nav / Joy-Con users, due to a lack of buttons I have had to think really hard about how to make the most of what we have. This feature dynamically remaps crouch to sprint when ADS'ing (allowing you to use the same button for Crouch and leaning left). This is very similar to how the Melee button is also used to lean right.

  • Plus dozens of other minor quality of life features...there are too many to list here!
VIEW WORK
FILES: 7
THUMBS-UP: 8
DOWNLOADS: 967
DONATE
v 1.07 - May 29, 2020
Scachi (Scachi)
Adjustable rapidfire via Interactive Configuration and in-game, LED blinks Yellow fast on low battery power of the controller
Configure: Toggle Buttons ◦ Timing Adjust Buttons ◦ normal&inverted Pressure Dependent On,Off or 2 Speeds ◦ Speed ◦ Hair-Trigger
Changes: added preset for rapid fire on low trigger pressure/normal fire on high trigger pressure
VIEW WORK
FILES: 2
THUMBS-UP: 0
DOWNLOADS: 19
v 1.00 - Jun 5, 2020
legitclouds (Verena_srh)
#pragma METAINFO("Apex3", 1, 0, "legitclouds")
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------CONFIG & SETUP SECTION-------------------------------------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
#define float fix32
//--Controls
#define VIEW BUTTON_18
#define MENU BUTTON_3
#define RB BUTTON_4
#define RT BUTTON_5
#define RS BUTTON_6
#define LB BUTTON_7
#define LT BUTTON_8
#define LS BUTTON_9
#define RX STICK_1_X
#define RY STICK_1_Y
#define LX STICK_2_X
#define LY STICK_2_Y
#define UP BUTTON_10
#define DOWN BUTTON_11
#define LEFT BUTTON_12
#define RIGHT BUTTON_13
#define Y BUTTON_14
#define B BUTTON_15
#define A BUTTON_16
#define X BUTTON_17
#define NOT_USE 0.0

//ANTI-RECOIL VALUES
bool AntiRecoil = TRUE;
float antirecoil = 33.4;
int delayA = 15;

//Autorun
int AutoRun = TRUE;

//--Dropshot - LT/L2 + A/X
bool DropShot = FALSE;
int dsdown = 20;
int dsup = 210;

//--Rapidfire - LT/L2 + Right
bool RapidFire = FALSE;

// Define the refresh rate of the combo
// Big value --> effect not perceived
// Small value --> cause aim jitter
//
int Sampling_Time = 5;
//
//#################################################################################################
//
// Add speed boost to initial joystick movement
// Big value --> you loose sticky aim bubble
//
float Aim_Boost;
//
//#################################################################################################
//
// Compensate the acceleration of the movement introduced by the boost by reducing this value
//
float Aim_Correction;
//
//#################################################################################################
//
// the algorithm saves two movements positions. the current position and the previous position.
// sampling frequency is defined by Sampling_Time.
// if the difference between the current value and the preceding value doesn't exceeds Aim_Perfection_Limit.
// the aimbot algorithm will execute
// i add this parameter to avoid floaty movement when you try to track a target
//
float Aim_Perfection_Limit = 34.2;
//
//#################################################################################################
//
//operating aim perfection interval
//
float POS_Aim_Limit = 71.4;
//
//#################################################################################################
//
//operating spiroide aim assist interval
//
float POS_Micro_MVT_Limit;
float NEG_Micro_MVT_Limit;
//
//#################################################################################################
//######################################### Script variable #######################################
//#################################################################################################
//
// Dont't change!
//
float X_Last_Value = 0.0;
float Y_Last_Value = 0.0;
float X_Current_Value = 0.0;
float Y_Current_Value = 0.0;
bool Sampling_Done = FALSE;
//
float spiroide_pulse = 0.0;
float fine_pulse = 0.0;
//
// Joystick calibration value
bool Joystick_calibration = FALSE;
float RX_Axis_Joystick_calibrate = -0.39;
float RY_Axis_Joystick_calibrate = -0.39;

//Aim Correction Aim Assist Booster
bool AIM__CORRECT = TRUE;
float IN_GAME_SENS=3.0;

//AIM CORRECTION SENSITIVITY VALUES:
float ADS_SENS, GEN_SENS=100.0, HIP_SENS=100.0, ADS_FIRE_SENS, Use_sens;

//Aim Assist - Default/Starting
bool AimAssist = TRUE;
float aav = 24.3;// AIM ASSIST VALUES
int delay = 5;

//More
float special;
float special1;

//--------------------------------------------------------------------------------------------------------MAIN SECTION----------------------------------------------------------------------------------------------------//
main {
//Aim Correction Stuff
ADS_SENS=105.0-(IN_GAME_SENS*2.0);
ADS_FIRE_SENS=100.0-(IN_GAME_SENS*2.0);

//AIM ASSIST
if (AimAssist) {
if (get_val(LT)> 98.0){ combo_run(cAimAssist);}
}
if (abs(get_val(RX)) > aav || abs(get_val(RY)) > aav){combo_stop(cAimAssist);}

//AutoRun
if(AutoRun){if(abs(get_actual(LY) <= 18.0)){
set_val(LS, 100.0);
}}

//Sweet Evil configurator
//Short Range Values
if(get_actual(LT) > 98.0){
Aim_Boost = 21.2;
Aim_Correction = 31.2;
POS_Micro_MVT_Limit = 35.0;
NEG_Micro_MVT_Limit = -35.0;
special = 28.3;
special1 = 28.3;
}
//Long Range Values
if(get_actual(LT) < 98.0) {
Aim_Boost = 12.2;
Aim_Correction = 18.2;
POS_Micro_MVT_Limit = 25.0;
NEG_Micro_MVT_Limit = -25.0;
special = 24.3;
special1 = 24.3;
}

//Aim Assist Sweet Evil
if (Joystick_calibration == FALSE)
{
RX_Axis_Joystick_calibrate = get_actual(RX);
RY_Axis_Joystick_calibrate = get_actual(RY);
Joystick_calibration = TRUE;
}

X_Last_Value = X_Current_Value;
Y_Last_Value = Y_Current_Value;
X_Current_Value = get_prev(RX)- RX_Axis_Joystick_calibrate;
Y_Current_Value = get_prev(RY)- RY_Axis_Joystick_calibrate;

//--LT pulled
if(get_actual(LT))
{
//--current & last value less than limit
if(abs(X_Current_Value) <= POS_Micro_MVT_Limit && abs(Y_Current_Value) <= POS_Micro_MVT_Limit)
{
//--both have a value
//if(X_Last_Value && X_Current_Value)
//{
//--difference between the 2 values less than 15
if(abs(X_Last_Value - X_Current_Value) < special)
{
combo_stop(Aim_Assist_Perfection);
Sampling_Done = FALSE;

//--RT pulled more than 95%
if(get_actual(RT) > 95.0)
{
combo_stop(Fine_Tune_Aim);
fine_pulse = 0.0;
combo_run(spiroide_Aim_Assit);
}
else
{
combo_stop(spiroide_Aim_Assit);
spiroide_pulse = 0.0;
combo_run(Fine_Tune_Aim);
}
}
}
//--current and last greater than limit
else if(abs(X_Current_Value) <= POS_Aim_Limit && abs(Y_Current_Value) <= POS_Aim_Limit)
{
combo_stop(Fine_Tune_Aim);
combo_stop(spiroide_Aim_Assit);
spiroide_pulse = 0.0;
fine_pulse = 0.0;
combo_run(Aim_Assist_Perfection);
}
}
else //--LT not pulled
{
combo_stop(Fine_Tune_Aim);
combo_stop(spiroide_Aim_Assit);
combo_stop(Aim_Assist_Perfection);
spiroide_pulse = 0.0;
fine_pulse = 0.0;
Sampling_Done = FALSE;
}

//Aim Correction
if(AIM__CORRECT)
{
if(get_val(RT) && get_val(LT))
{
Use_sens = ADS_FIRE_SENS;
}
if(get_val(RT) && !get_val(LT))
{
Use_sens = HIP_SENS;
}
if(!get_val(RT) && !get_val(LT))
{
Use_sens = GEN_SENS;
}
if(!get_val(RT) && get_val(LT))
{
Use_sens = ADS_SENS;
}
if (Use_sens >100.0) Use_sens=100.0;

sensitivity(RX, NOT_USE, Use_sens);
sensitivity(RY, NOT_USE, Use_sens);
}

//--Rapidfire
if(get_val(LT) && event_active(RIGHT)){
rumble_A_if_true(RapidFire);
RapidFire =! RapidFire;
}
if(RapidFire){
if(get_actual(RT)){
combo_run(Rapidfire);
}
}

//ANTI-RECOIL
if(AntiRecoil){
if(get_val(RT))
{combo_run(Antirecoil);}

if(abs(get_actual(RY)) >= antirecoil + 10.0)
{combo_stop(Antirecoil);}
}

//--Dropshot
if(get_val(LT) && event_active(A)){
rumble_A_if_true(DropShot);
DropShot =! DropShot;
}
if(DropShot){
if(get_val(LT)&&get_val(RT)){combo_run(cDropShot);}
}

}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------COMBO SECTION-----------------------------------------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
combo Antirecoil {
set_val(RY, antirecoil);
wait(delayA);
set_val(RY, antirecoil);
wait(delayA);
}
combo cAimAssist {
set_val(RX, (aav)); wait(delay);
set_val(RY, (aav)); wait(delay);
set_val(RX, aav * -1.0); wait(delay);
set_val(RY, aav * -1.0); wait(delay);
}
combo Aim_Assist_Perfection
{
// Save the first joystick position
X_Last_Value = X_Current_Value;
Y_Last_Value = Y_Current_Value;

// Sampling frequency
wait(Sampling_Time);

// Save the second joystick position
X_Current_Value = get_prev(RX)- RX_Axis_Joystick_calibrate;
Y_Current_Value = get_prev(RY)- RY_Axis_Joystick_calibrate;

if (Sampling_Done == TRUE )
{
//Applying BOOST
//Aim_Perfection(Last_Value, Current_Value, Boost, Correction, X_AXIS, Y_AXIS )
Aim_Perfection(X_Last_Value, X_Current_Value, 1.0, 0.0, 1.0, 0.0 );
Aim_Perfection(Y_Last_Value, Y_Current_Value, 1.0, 0.0, 0.0, 1.0 );
}

X_Last_Value = X_Current_Value;
Y_Last_Value = Y_Current_Value;

// Sampling frequency
wait(Sampling_Time);

// Save the second joystick position
X_Current_Value = get_prev(RX)- RX_Axis_Joystick_calibrate;
Y_Current_Value = get_prev(RY)- RX_Axis_Joystick_calibrate;

if (Sampling_Done == TRUE )
{
//Applying CORRECTION
//Aim_Perfection(Last_Value, Current_Value, Boost, Correction, X_AXIS, Y_AXIS )
Aim_Perfection(X_Last_Value, X_Current_Value, 0.0, 1.0, 1.0, 0.0 );
Aim_Perfection(Y_Last_Value, Y_Current_Value, 0.0, 1.0, 0.0, 1.0 );
}

Sampling_Done = TRUE;
wait(Sampling_Time);
}

combo Fine_Tune_Aim {

set_val(RX,(30.0 - fine_pulse));//right
set_val(LX,(-30.0 + fine_pulse));//move left
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(30.0 - fine_pulse));//right+down
set_val(RY,(20.0 - fine_pulse));
set_val(LX,(-10.0 + fine_pulse));//move left
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);


set_val(RY,(20.0 - fine_pulse));// down
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(-30.0 + fine_pulse));//left+down
set_val(RY,(20.0 - fine_pulse));
set_val(LX,(10.0 - fine_pulse));//move right
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(-30.0 + fine_pulse));// left
set_val(LX,(30.0 - fine_pulse));//move right
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(-30.0 + fine_pulse)); //left + up
set_val(RY,(-20.0 + fine_pulse));
set_val(LX,(10.0 - fine_pulse));//move right
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);

set_val(RY,(-20.0 + fine_pulse)); //up
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(30.0 - fine_pulse));//right+up
set_val(RY,(-20.0 + fine_pulse));
set_val(LX,(-10.0 + fine_pulse));//move left
wait(Sampling_Time);

wait(Sampling_Time);

fine_pulse = fine_pulse + 4.0;


if ( fine_pulse > special1)
{
fine_pulse = 0.0;
}
}

combo spiroide_Aim_Assit {

set_val(RX,(10.0 + spiroide_pulse));//right
set_val(LX,(-30.0+ spiroide_pulse));//move left
wait(Sampling_Time);

wait(Sampling_Time);


set_val(RY,(10.0 + spiroide_pulse));// down
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);
wait(Sampling_Time);

set_val(RX,(-10.0 - spiroide_pulse));//left
set_val(LX,30.0 - spiroide_pulse );//move right
wait(Sampling_Time);

wait(Sampling_Time);

set_val(RY,(10.0 + spiroide_pulse));// down
wait(Sampling_Time);

wait(Sampling_Time);
wait(Sampling_Time);
wait(Sampling_Time);


spiroide_pulse = spiroide_pulse + 4.0;


if ( spiroide_pulse > special1)
{
spiroide_pulse = 0.0;
}
}

void Aim_Perfection(float Last_Value, float Current_Value, float Boost, float Correction, float X_AXIS, float Y_AXIS )
{
if(abs(Last_Value - Current_Value) < Aim_Perfection_Limit)
{
//--moving right
if(Last_Value < Current_Value)
{
if (Boost)
{
if (X_AXIS)
set_val(RX, (Current_Value + Aim_Boost));

if (Y_AXIS)
set_val(RY, (Current_Value + Aim_Boost));
}

else if(Correction)
{
if (X_AXIS)
set_val(RX, (Current_Value - Aim_Correction));

if (Y_AXIS)
set_val(RY, (Current_Value - Aim_Correction));
}
}
else //--moving left
{

if (Boost)
{
if (X_AXIS)
set_val(RX, (Current_Value - Aim_Boost));

if (Y_AXIS)
set_val(RY, (Current_Value - Aim_Boost));
}


else if(Correction)
{
if (X_AXIS)
set_val(RX, (Current_Value + Aim_Correction));

if (Y_AXIS)
set_val(RY, (Current_Value + Aim_Correction));
}
}
}
}
combo Rapidfire {
set_val(RT, 100.0);
wait(120);
set_val(RT, 0.0);
wait(30);
}
combo VIBRATE {
wait(300);
ffb_reset();
}
void rumble_A_if_true(int var) {
if (var)ffb_set(FFB_1, 100.0, 300);
else ffb_set(FFB_2, 100.0, 300);
combo_run(VIBRATE);
}
void sensitivity(int id, float mid, float sen) {
float val = get_actual(id);

if(mid != NOT_USE) {
float val_s = (val >= 0.0) ? 1.0 : -1.0;
val *= val_s;
if(val <= mid) val = (val * 50.0) / mid;
else val = ((50.0 * (val - mid)) / (100.0 - mid)) + 50.0;
val *= val_s;
}

if(sen != NOT_USE) {
val = (val * sen) / 100.0;
}

set_val(id, clamp(val, -100.0, 100.0));
return;
}
combo cDropShot{
set_val(RS,100);
wait(dsdown);
wait(dsup);
set_val(RS,100);
}
VIEW WORK
FILES: 1
THUMBS-UP: 0
DOWNLOADS: 137
DONATE
v 3.00 - May 30, 2020
norge (norge1)
everything same
add:
slide shot
strafe shot
VIEW WORK
FILES: 2
THUMBS-UP: 0
DOWNLOADS: 22
DONATE
v 1.01 - Jun 3, 2020
DrNefario (DrNefario)
BFV anti-recoil with auto-spot
VIEW WORK
FILES: 1
THUMBS-UP: 0
DOWNLOADS: 5
v 1.00 - Jun 4, 2020
Tonton (Tonton)
Suros
VIEW WORK
FILES: 1
THUMBS-UP: 3
DOWNLOADS: 606
v 1.10 - May 26, 2020
ConsoleTuner (J2Kbr)
Keyboard and Mouse Input Translator.

Game: Battlefield V
System: Xbox One

Refer to the documentation page (DOC icon at right) for the game recommended settings, sensitivity adjustments, keyboard/mouse mapping list and other information about this Input Translator.
VIEW WORK
FILES: 2
THUMBS-UP: 7
DOWNLOADS: 151
v 1.02 - May 28, 2020
Buffy (Buffy)
Setup an input translator key/mouse config easy.

Be sure to read the interactive config for instructions
VIEW WORK
FILES: 8
THUMBS-UP: 4
DOWNLOADS: 472
DONATE
v 0.94 - May 11, 2020
scachi (Scachi)
Stance and Weapon Slot tracking.
5 slots of customizeable Anti Recoil Multi Value/Rapid Fire settings, switch by button combination or keyboard.
With optional Anti Recoil Autostop using rumble detection and speech output for On/Off/Config selection.

Changes: autoholdbreath fixed, OTS mode fix
VIEW WORK
FILES: 1
THUMBS-UP: 0
DOWNLOADS: 16
v 1.00 - May 28, 2020
Tonton (Tonton)
Teste