Help advice regarding anti recoil and delay figures?

GPC2 script programming for Titan Two. Code examples, questions, requests.

Help advice regarding anti recoil and delay figures?

Postby Beryl » Fri May 06, 2022 1:03 pm

Need advice from anyone who plays PUBG or any shooter, can someone explain to me or link me to guide explaining how anti recoil with delays work? Currently have mine set to

230 Delay
26.00 Vert force

For an Akm in PUBG it feels ok but id love to make it more laser like instead of the spread im currently getting.

Thanks in advance for any help!
User avatar
Beryl
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 198
Joined: Fri Nov 27, 2020 7:47 pm

Re: Help advice regarding anti recoil and delay figures?

Postby Rockydocky » Tue May 24, 2022 10:48 am

You using alan mcgregors script? Ive got my delay on 10 for beryl because it jumps too much at the first shots.. for m416 i seem to like 75ish delay.. and still im not happy with the results aswell but i guess its impossible to have a lazer anti recoil for pubg. At least for me ive tried different stuff for 1year
User avatar
Rockydocky
Staff Sergeant
Staff Sergeant
 
Posts: 12
Joined: Wed Mar 31, 2021 9:05 am

Re: Help advice regarding anti recoil and delay figures?

Postby Beryl » Sun Jun 05, 2022 6:54 pm

Iv got a custom script i use as i use auto lean and no script iv seen has it added even though iv always liked the ability to lean left or right with the analog. Regarding the delay i gave up and set it to 0. The way i tune it in is by setting recoil up using an AKM then i find thatl make the Beryl with a vert grip easy to handle etc

My settings if you wanna try them
Code: Select all
#define RECOIL_V  15.00  // Vertical compensation   
#define RECOIL_H  0.00   // Horizontal compensation
#define sn        10.00       // COD/BF = 13 R6 = 19 (SN + COMP = ACTUAL RECOIL VALUE)
#define delay     0 // delay before anti recoil kicks in
main {
    if(is_active(BUTTON_8)) if(check_active(BUTTON_5, delay)) {
        AntiRecoil(STICK_1_Y,STICK_1_X, RECOIL_V,RECOIL_H);
    }
}
 
void AntiRecoil (uint8 axis1,uint8 axis2,fix32 recoil_Y,fix32 recoil_X)
{
    if ((recoil_Y != 0.0) || (recoil_X != 0.0))
    {
        fix32 RY;
        fix32 RX;
 
        fix32 true_RY;
        fix32 true_RX;
 
        fix32 altrecoil_Y;
        fix32 altrecoil_X;
 
        fix32 modified_RY;
        fix32 modified_RX;
 
        fix32 final_RY;
        fix32 final_RX;
 
        fix32 true_radius;
        fix32 modi_radius;
 
        fix32 modi_recoil;
 
        RY = clamp(get_actual(axis1), -100.0, 100.0);
        RX = clamp(get_actual(axis2), -100.0, 100.0);
 
        if ( RX*RX+RY*RY <= sn*sn )
        {
            modi_recoil = sqrt(recoil_Y*recoil_Y+recoil_X*recoil_X);
            set_val(axis1,recoil_Y /modi_recoil*(modi_recoil+sn));
            set_val(axis2,recoil_X /modi_recoil*(modi_recoil+sn));
        }   
 
        if (RX*RX+RY*RY > sn*sn)
        {
 
            true_radius = clamp(sqrt(RY*RY+RX*RX),0.0,100.0);
 
            true_RY = (true_radius-sn)/true_radius*RY;
            true_RX = (true_radius-sn)/true_radius*RX;
 
            altrecoil_Y = recoil_Y - recoil_Y*0.80/(100.0-sn)*true_radius;
            altrecoil_X = recoil_X - recoil_X*0.80/(100.0-sn)*true_radius;
 
            modified_RY = true_RY + altrecoil_Y - altrecoil_Y/(100.0-sn)*abs(true_RY);
            modified_RX = true_RX + altrecoil_X - altrecoil_X/(100.0-sn)*abs(true_RX);
 
            modi_radius = sqrt(modified_RY*modified_RY + modified_RX*modified_RX);
 
            final_RY = modified_RY / modi_radius * (modi_radius+sn);
            final_RX = modified_RX / modi_radius * (modi_radius+sn);
 
            set_val(axis1,clamp(final_RY, -100f, 100f));
            set_val(axis2,clamp(final_RX, -100f, 100f));
        }
    }
}
User avatar
Beryl
Sergeant Major of the Army
Sergeant Major of the Army
 
Posts: 198
Joined: Fri Nov 27, 2020 7:47 pm


Return to GPC2 Script Programming

Who is online

Users browsing this forum: No registered users and 125 guests