Jump to content
Sign in to follow this  
Radic

How to reduce recoil

Recommended Posts

The recoil in ArmA annoys me - I'm not sure whether it's too great as such or just takes too long to "cycle" - but it's annoying - can anyone tell me what to edit to reduce it - also I'm keen to make alterations to fov values - is all this stuff in the bin.pbo like OFP??

Share this post


Link to post
Share on other sites

i want the m16 variants to recoil to where the recoil goes back into the shoulder and not up so much. and the ak74 needs less muzzle climb too.

Share this post


Link to post
Share on other sites

to add to that, all the weapons in ArmA recoil up to the right, gets kinda annoying.

Share this post


Link to post
Share on other sites

Been playing for several hours more - the recoil definitely needs to be smaller and/or sharper (quicker) - IE. LIKE IT ALREADY IS IN OFP!!!! - certainly for assault type rifles.

I've unpacked the bin.pbo and in there there's the familiar OFP style config.bin which I copied and then made a converted config.cpp - but when I repack the bin.pbo with the config.cpp used to replace the .bin version the game comes up with what look like syntax errors of all things from within the config.cpp (comments like: "" instead of = )

Share this post


Link to post
Share on other sites

Radic you don't need to rebin the main config.

Just use a modfolder and copy the whole dta folder in there.

Convert the bin to cpp and rename the bin to bin.bk.

Do your editing in the cpp only and load the modfolder. smile_o.gif

Share this post


Link to post
Share on other sites

Thanks Q - so my process is:

1. copy the dta folder to my own one - ie. @radic

2. Unpbo bin.pbo

3. Unbin config.bin to config.cpp (rename config.bin to config.bk)

4. Edit the values I'm after in config.cpp with notepad and save changes.

5. Put @radic into the main ArmA folder and add the -mod=@radic command to the game shortcut.

edit - ok, the problem seems to be that syntax errors are being generated in the process of converting the config.bin to config.cpp - what utility should I be using to do that conversion as the one I'm using is evidently flawed.

Share this post


Link to post
Share on other sites

I believe thats how you should do.

Can you please post your new codes? Or link them into here in a .txt

I really would like to try the a new and better recoil. Problem is that i don't have the right values. Nor OFP installed.

EDIT: if not

Maybe creat a folder:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">C:\Program files\Bohemia Interactive\ArmA\@radic\dta

put the config.cpp in that dta folder or in

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">C:\Program files\Bohemia Interactive\ArmA\@radic\Addons

Share this post


Link to post
Share on other sites
to add to that, all the weapons in ArmA recoil up to the right, gets kinda annoying.

The recoil is up and to the right because most rifle barrells are rifled in a right-hand twist. The up part is just physics smile_o.gif

Share this post


Link to post
Share on other sites

OK - my method right from scratch was aok - the tools I was using were at fault - I've installed Eliteness and my modified .cpp files now work in the game without chucking up syntax errors.

The file to edit is config.bin in weapons.pbo in ArmA/addons - in that config there's a very easy to find section not far from the top:

class cfgRecoils

{

pistolBase[] = {0,0,0,0.08,0.003,0.02,0.05,-0.003,-0.033,0.05,0,0};

subMachineGunBase[] = {0,0,0,0.06,0.005,0.005,0.05,0,-0.02,0.06,-0.005,0.005,0.05,0,0};

assaultRifleBase[] = {0,0,0,0.06,0.01,0.01,0.1,0,-0.02,0.1,-0.01,0.01,0.05,0,0};

machinegunBase[] = {0,0,0,0.08,0.01,0.04,0.05,-0.003,-0.01,0.2,0,0};

launcherBase[] = {0,0,0,0.2,0,0.05,0.1,0,0};

AK74Recoil[] = {0,0,0,0.06,0.01,0.012,0.1,0,-0.02,0.1,-0.01,0.01,0.05,0,0};

M240Recoil[] = {0,0,0,0.08,0.01,0.05,0.05,-0.003,-0.008,0.2,0,0};

M240RecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0};

M249Recoil[] = {0,0,0,0.07,0.002,0.01,0.035,-0.002,-0.02,0.05,0,0};

M249RecoilProne[] = {0,0,0,0.1,0.003,0.004,0.05,-0.003,-0.008,0.05,0,0};

M4Recoil[] = {0,0,0,0.06,0.01,0.01,0.1,0,-0.018,0.1,-0.01,0.01,0.05,0,0};

PKMRecoil[] = {0,0,0,0.1,0.03,0.04,0.05,-0.03,-0.08,0.05,0,0};

PKMRecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0};

};

It's going to be a long process for someone to work out by trial end error what each of those values does - I'll work on it over a period but so far all I did was put the same -0.003 perameter into the assault rifle base, AK74recoil and M4Recoil as in the machinegun configs (originally those values are -0.02, -0.02 and -0.018 respectively) plus I just arbitrarily reduced that first big value in each (4th perameter) down to 0.01 this gives a sharper, less obtrusive recoil that enables reaiming quicker - I actually need to check out exactly what that 4th value does as just the other one might be all that's needed. The other values all must relate to various things like amount of deflection in different directions and resettling (hysteresis if you like) - but as I said, figuring it all out is going to be very time consuming.

Share this post


Link to post
Share on other sites
to add to that, all the weapons in ArmA recoil up to the right, gets kinda annoying.

The recoil is up and to the right because most rifle barrells are rifled in a right-hand twist. The up part is just physics smile_o.gif

The kick up is influenced by design of muzzle brake - in some instances quite elaborate designs are used to counter rise - and also the stock design has an effect - the two things as I understand it that define an assault rifle are - self loading magazine feed and the stock design that specifically directs recoil straight back rather than upward. The point being that I'm sure the amount of default recoil for these weapons is just too much...... or as I've indicated, maybe it's not the amount, but the sharpness - my config change gives me the impression of actually more, harder recoil but it's faster and the rifle feels like it's in my shoulder now - not suspended a few inches out in space such that it jumps and then sways and wobbles etc.

Share this post


Link to post
Share on other sites
[...]

It's going to be a long process for someone to work out by trial end error what each of those values does

[...]

Not if someone already has wink_o.gif

Quote[/b] ]Recoil Configuration

by Tactician  

;; Introduction

Recoil is an important detail of creating infantry weapons in OFP.  Who wants to play with a rifle or machine gun

that fires dead-accurate in full-auto mode, or kicks up to the sky after a single shot?  This tutorial shows how

to make your own recoil setting, apply it to your weapon, and tune it to fit your weapon.

Basic knowledge of config.cpp editing is a prerequisite for this lesson.

;; Understanding the Recoil

Each recoil preset under cfgRecoils reads from left to right and specifies change in weapon position over time.  

It is somewhat similar to camera scripting; it commits the changes smoothly over a specific period of time.

In each recoil preset there can be any number of "reference points" telling the weapon where to go and how fast

to make the change.  Each point is made up of three elements:

1. time to make the change (in seconds)

2. amount the gun is kicked "back" (offset)

3. amount the gun is kicked "up" (angle)

For example, BIS's basic rifle recoil looks like this:

riffleSingle[]={0.05,0.02,0.04, 0.05,0,0};

There are two reference points in this preset.  The first one takes 0.05 seconds to kick back 0.02 and up 0.04.  

The second takes 0.05 seconds to return to zero (normal position).  The felt result is a recoil that takes the same

amount of time to go up and down, in a linear motion, like this shape:

/\

If you've played FDF Mod, you're probably familiar with their unique weapon recoils.  An FDF rifle recoil looks more

like this:

riffleSingle[]={0.05,0.02,0.05, 0.35,0,-0.006, 0.07,0,-0.006, 0.13,0,0};

It takes the same amount of time, 0.05 seconds, to go back 0.02 and up 0.05 (a little higher than BIS's rifle recoil),

then takes 0.35 seconds to return to 0 offset and slightly negative angle.  It stays at this slightly negative angle for

0.07 seconds then takes 0.13 seconds to return to 0 angle.  The felt result is a stronger kick up with far more delay in

"recentering" the weapon on the aiming point.  This makes the gun harder to fire rapidly, and requires more user

intervention in repeat firing.

There are no distinctions in recoil configs between standing, crouching, or prone recoils.  OFP reads the recoil and

automatically changes it to suit the soldier's position.

;; Making your own recoil

To make your own recoil preset in an addon config, create your own CfgRecoils section.  This section is readAndCreate,

so you can just start tossing in as many recoil presets as you like.  Here's an example of what it should look like:

class CfgRecoils

{

testRecoil[]={0.05,0.03,0.05, 0.03,0,0.03, 0.03,0,0};

testRecoil2[]={0.03,0.01,0.02, 0.04,0,0};

};

In that example, testRecoil will be a stronger recoil taking a bit more time to recenter.  testRecoil2 will be a light

recoil suitable for something more like a .22LR hunting rifle.

;; Applying the recoil to your weapon or magazine

If the weapon in question has no extra fireModes, like Single or Burst selection, just specify the recoil like so:

recoil = testRecoil;

If the weapon has more firemodes, you'll have to specify the recoil for each one.  Note that in most cases, making

separate recoils for single and full-auto is unrealistic; why should the gun, firing the same ammo as before, handle

any differently?

;; Tuning recoil to your weapon

Here are some speculative suggestions on how to custom-fit recoil presets to your weapons.  Speculative because it's

been years since I've fired a gun

1. Base it on the caliber of the bullet and size of the cartridge of the bullet.  A 7.62 rifle bullet should generally

create more recoil (especially offset) than a 5.45 bullet.

2. Base it on the weight of the weapon.  A heavier weapon might have a slower kick back, and consequently take more

time to recenter.

3. Modify it for the handling of the weapon.  If the weapon is commonly known to "handle better" than another similar

firearm, you can reduce the angle setting accordingly.

A handy technique in tuning recoils for fully-automatic weapons, especially machine guns, is to set the recoil to be

slower in recentering than the weapon fires.  For example, say your M60 has a reloadTime of 0.1 (1 shot every tenth of

a second).  If you set the recoil to kick back in 0.055 seconds and recenter in 0.065 seconds, the aim point will keep

"climbing" as its being fired, stopping at a certain (hardcoded) point.  This requires the shooter to drag the aim point

down as he fires, and generally makes shooting from optics view a better choice.  The effect is, of course, stronger

when crouching or standing, making prone still the best firing position.

However, the above technique will probably screw up AI gunners utterly   Make sure they don't fire too quickly by tweaking

the aiRateOfFire delay (and maybe by increasing the aiDispersion coeff on the y plane).

The above was applied to OFP, but in my experience the values do exactly the same thing in ArmA too.

Share this post


Link to post
Share on other sites

Jackal326 - Damn!!! smile_o.gif - huge thanx for that!!

Share this post


Link to post
Share on other sites

Radic you might wanna use the PROPER AI Test Framework v1.0

for your editing. It allows you to edit the recoil values without

repacking the bin.pbo all the time (which I forgot in the list above).

Share this post


Link to post
Share on other sites

Thanks Q - I'll try that for ongoing experimentation.

For now I've come up with this recoil config that feels nice for me ingame:

class cfgRecoils

{

pistolBase[] = {0,0,0,0.08,0.003,0.02,0.05,-0.003,-0.033,0.05,0,0};

subMachineGunBase[] = {0,0,0,0.06,0.005,0.005,0.05,0,-0.02,0.06,-0.005,0.005,0.05,0,0};

assaultRifleBase[] = {0,0,0,0.03,0.010,0.005,0.05,0,-0.002,0.05,-0.003,0.005,0.03,0,0};

machinegunBase[] = {0,0,0,0.08,0.01,0.04,0.05,-0.003,-0.01,0.2,0,0};

launcherBase[] = {0,0,0,0.2,0,0.05,0.1,0,0};

AK74Recoil[] = {0,0,0,0.03,0.01,0.007,0.07,0,-0.005,0.05,-0.003,0.05,0.05,0,0};

M240Recoil[] = {0,0,0,0.08,0.01,0.05,0.05,-0.003,-0.008,0.2,0,0};

M240RecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0};

M249Recoil[] = {0,0,0,0.07,0.002,0.01,0.035,-0.002,-0.02,0.05,0,0};

M249RecoilProne[] = {0,0,0,0.1,0.003,0.004,0.05,-0.003,-0.008,0.05,0,0};

M4Recoil[] = {0,0,0,0.03,0.01,0.005,0.05,0,-0.002,0.05,-0.003,0.005,0.03,0,0};

PKMRecoil[] = {0,0,0,0.1,0.03,0.04,0.05,-0.03,-0.08,0.05,0,0};

PKMRecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0};

};

I want to carry on with experimenting toward getting greater deflection than this but happening quicker but at the same time I'm actually more interested in playing the game than buggering with this stuff.

Share this post


Link to post
Share on other sites

im working on those numbers..

If you guys want i can post then when i get them for my taste.

EDIT: Radic i tested your numbers and i think they are too exaggerated now. Recoil is almost null even in bust. Tastes are tastes.. but im looking for a better/realistic simulation.

Share this post


Link to post
Share on other sites

Some inspiration from WGL 4.x, 5.x and WGLZ

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class CfgRecoils

{

access=3;

// PISTOL RECOILS /////////////////////////////////////////////////////////////////////////////

WGL_762x25_PistolRecoil[]= {0.03,0,0, 0.2,0.02,0.1, 0.5,0,0};

WGL_9x18_PistolRecoil[]= {0.03,0,0, 0.2,0.02,0.1, 0.5,0,0};

WGL_9x19_PistolRecoil[]= {0.03,0,0, 0.2,0.02,0.1, 0.5,0,0};

WGL_45ACP_PistolRecoil[]= {0.03,0,0, 0.2,0.02,0.1, 0.5,0,0};

// RUSSIAN RECOILS ///////////////////////////////////////////////////////////////////////////////

//time start, body back, barrel up

//WGL_545x39_RifleRecoil[]= {0.03,0.03, 0.018,0.05,0, 0};

WGL_545x39_RifleRecoil[]= {0.03,0,0, 0.045,0.02,0.0175, 0.045,0,0.008, 0.3,0,0};

WGL_545x39_Rifle_Auto_Recoil[]= {0.03,0,0, 0.035,0.02,0.025, 0.035,0,0.01, 0.25,0,0};

WGL_545x39_MG_Auto_Recoil[]= {0.03,0,0, 0.05,0.03,0.015, 0.015,0,0.011, 0.25,0,0};

WGL_545x39SD_RifleRecoil[]= {0.03,0,0, 0.04,0.01,0.015, 0.04,0,0.017, 0.25,0,0};

WGL_545x39SD_Rifle_Auto_Recoil[]= {0.03,0,0, 0.03,0.01,0.015, 0.035,0,0.017, 0.35,0,0};

WGL_545x39_SMGRifleRecoil[]= {0.03,0,0, 0.04,0.02,0.015, 0.04,0,0.023, 0.25,0,0};

WGL_545x39_SMGRifle_Auto_Recoil[]= {0.03,0,0, 0.03,0.03,0.015, 0.015,0,0.023, 0.28,0,0};

WGL_545x39SD_SMGRifleRecoil[]= {0.03,0,0, 0.03,0.02,0.015, 0.0,0,0.021, 0.27,0,0};

WGL_545x39SD_SMGRifle_Auto_Recoil[]= {0.03,0,0, 0.03,0.03,0.015, 0.1,0,0.021, 0.25,0,0};

WGL_762x39_RifleRecoil[]= {0.03,0,0, 0.025,0.05,0.04, 0.0,0,0.04, 0.25,0,0};

WGL_762x54R_RifleRecoil[]= {0.03,0,0, 0.025,0.06,0.06, 0.25,0,0};

// WEST RECOILS /////////////////////////////////////////////////////////////////////////////////

//WGL_556x45_RifleRecoil[]= {0.018,0.033,0.020,0.056,0,0};

//WGL_556x45_Rifle_Burst_Recoil[]= {0.03,0.02,0.02, 0.05,0,0};

WGL_556x45_RifleRecoil[]= {0.03,0,0, 0.045,0.02,0.0175, 0.045,0,0.008, 0.3,0,0};

WGL_556x45_Rifle_Burst_Recoil[]= {0.03,0,0, 0.03,0.01,0.01, 0.1,0,0.015, 0.5,0,0};

WGL_556x45_Rifle_Auto_Recoil[]= {0.03,0,0, 0.03,0.01,0.012, 0.1,0,0.02, 0.5,0,0};

WGL_556x45_MG_Auto_Recoil[]= {0.03,0,0, 0.005,0.01,0.015, 0.015,0,0.02, 0.25,0,0};

WGL_762x51_RifleRecoil[]= {0.03,0,0, 0.03,0.01,0.0484, 0.2355,0,0, 0.4,0,0};

WGL_127x99_RifleRecoil[]= {0.03,0,0, 0.04,0.05,0.0325, 0.5,0,0, 0.5,0,0};

//Soul Sniper Rifles Recoils:

WGL_762x51_M21_Recoil[]= {0.04,0.05,0, 0.03,0.05,0.05, 0.05,0,0.04, 0.08,0,0.048, 0.15,0,0.042, 0.35,0,0.03, 0.55,0,0.02, 0.85,0,0.01, 1.4,0,0.00};

WGL_762x51_M24_Recoil[]= {0.04,0.05,0, 0.03,0.05,0.05, 0.05,0,0.04, 0.08,0,0.048, 0.15,0,0.042, 0.35,0,0.03, 0.55,0,0.02, 0.85,0,0.01, 1.4,0,0.00};

WGL_762x51_M40Ax_Recoil[]= {0.04,0.05,0, 0.03,0.05,0.05, 0.05,0,0.04, 0.08,0,0.048, 0.15,0,0.042, 0.35,0,0.03, 0.55,0,0.02, 0.85,0,0.01, 1.4,0,0.00};

WGL_127x99_M82OSV96_Recoil[]= {0.06,0.05,0, 0.03,0.1,0.09, 0.05,0.1,0.08, 0.08,0,0.086, 0.15,0,0.074, 0.4,0,0.05, 0.6,0,0.035, 0.9,0,0.015, 1.45,0,0.00};

WGL_762x54_SVD_Recoil[]= {0.04,0.05,0, 0.03,0.05,0.05, 0.05,0,0.04, 0.08,0,0.048, 0.15,0,0.042, 0.35,0,0.03, 0.55,0,0.02, 0.85,0,0.01, 1.4,0,0.00};

//new recoilsWGL_762x51_AutoRecoil[]= {0.03,0,0, 0.03,0.015,0.015, 0.02,0,0.02, 0.25,0,0};

WGL_W556x060_MGunRecoil[]= {0.03,0,0, 0.007,0.01,0.015, 0.015,0,0.02, 0.25,0,0};

WGL_W762x064_MGunRecoil[]= {0.03,0,0, 0.03,0.015,0.015, 0.016,0,0.02, 0.25,0,0};

WGL_W762x109_MGunRecoil[]= {0.03,0,0, 0.03,0.015,0.015, 0.028,0,0.02, 0.25,0,0};

WGL_E762x092_MGunRecoil[]= {0.03,0,0, 0.03,0.015,0.015, 0.023,0,0.02, 0.25,0,0};

WGL_E545x092_MGunRecoil[]= {0.03,0,0, 0.03,0.01,0.015, 0.023,0,0.02, 0.25,0,0};

WGL_mgun[]= {0.03,0,0, 0.03,0.03, 0.02, 0.03,0,0.04, 0.25,0,0};

WGL_EmptyRecoil[]= {0,0,0};

// Q 05-10-24: added WGLZ recoil values to test them with MMGs and LMGs.

// Rifles

ZM_556x45_M16S_Recoil[]= {0.01,0.030,0.022, 0.05,0.025,0.017, 0.05,0,0};

ZM_556x45_M16B_Recoil[]= {0.01,0.035,0.007, 0.05,0.050,0.012, 0.05,0,0};

ZM_556x45_M4S_Recoil[]= {0.01,0.09,0.012, 0.05,0.05,0.008, 0.05,0,0};

ZM_556x45_SSD_Recoil[]= {0.01,0.03,0.06, 0.05,0.02,0.004, 0.05,0,0};

ZM_556x45_M4A_Recoil[]= {0.01,0.11,0.003, 0.05,0.06,0.004, 0.05,0,0};

ZM_556x45_ASD_Recoil[]= {0.01,0.06,0.003, 0.05,0.03,0.002, 0.05,0,0};

ZM_545x39_AK74S_Recoil[]= {0.01,0.030,0.022, 0.05,0.025,0.017, 0.05,0,0};

ZM_545x39_AK74A_Recoil[]= {0.01,0.009,0.008, 0.05,0.016,0.015, 0.05,0,0};

ZM_545x39_AKS74US_Recoil[]= {0.01,0.035,0.025, 0.05,0.030,0.019, 0.05,0,0};

ZM_545x39_AKS74UA_Recoil[]= {0.01,0.07,0.03, 0.05,0.04,0.01, 0.05,0,0};

ZM_762x39_AK47S_Recoil[]= {0.01,0.015,0.02, 0.05,0.0250,0.039, 0.05,0,0};

ZM_762x39_AK47A_Recoil[]= {0.01,0.06,0.005, 0.05,0.04,0.01, 0.05,0,0};

// Support

// ZM_556x45_M249_Recoil[]= {0.014,0.015,0.015, 0.014,0.025,0.02, 0.014,0.015,0.01, 0.014,0,0};

/// ZM_556x45_M249_Recoil[]= {0.018,0.03,"0.03*1.35", 0.05,0.0,0.001};

//// ZM_556x45_M249_Recoil[]= {0.02,0.015,"0.03*1.35", 0.05,0.0,0};

ZM_556x45_M249_Recoil[]= {0.02,0.015,"0.03*1.35", 0.05,0.0,0};

// ZM_762x64_M240_Recoil[]= {0.014,0.07,0.011, 0.014,0.10,0.008, 0.014,0.07,0.011, 0.014,0,0};

/// ZM_762x64_M240_Recoil[]= {0.02,0,0, 0.03,0.01,0.02, 0.04,0.008,0.018, 0.01,0,0};

//// ZM_762x64_M240_Recoil[]= {0.02,0,0, 0.02,0.01,0.02, 0.02,0.002,0.018, 0.02,0,0};

ZM_762x64_M240_Recoil[]= {0.02,0,0, 0.02,0.02,0.03, 0.02,0.002,0.025, 0.03,0,0};

// ZM_762x64_M60_Recoil[]= {0.014,0.07,0.011, 0.014,0.10,0.008, 0.014,0.07,0.011, 0.014,0,0};

/// ZM_762x64_M60_Recoil[]= {0.02,0,0, 0.03,0.01,0.02, 0.05,0.008,0.018, 0.01,0,0};

//// ZM_762x64_M60_Recoil[]= {0.03,0,0, 0.03,0.02,0.03, 0.03,0.002,0.018, 0.02,0,0};

ZM_762x64_M60_Recoil[]= {0.02,0,0, 0.04,0.01,0.03, 0.03,0.002,0.04, 0.03,0,0};

// ZM_762x39_RPK47S_Recoil[]= {0.016,0.015,0.015, 0.016,0.025,0.02, 0.016,0.015,0.01, 0.016,0,0};

/// ZM_762x39_RPK47S_Recoil[]= {0.02,0.033,"0.03*1.35", 0.05,0.0,0.001};

//// ZM_762x39_RPK47S_Recoil[]= {0.025,0.025,"0.05*1.35", 0.05,0.0,0};

ZM_762x39_RPK47S_Recoil[]= {0.04,0.025,"0.05*1.35", 0.05,0.0,0};

// ZM_762x39_RPK47A_Recoil[]= {0.016,0.015,0.015, 0.016,0.025,0.02, 0.016,0.015,0.01, 0.016,0,0};

/// ZM_762x39_RPK47A_Recoil[]= {0.02,0.033,"0.03*1.35", 0.05,0.0,0.001};

//// ZM_762x39_RPK47A_Recoil[]= {0.025,0.025,"0.05*1.35", 0.05,0.0,0};

ZM_762x39_RPK47A_Recoil[]= {0.04,0.025,"0.05*1.35", 0.05,0.0,0};

// ZM_545x39_RPK74S_Recoil[]= {0.016,0.015,0.015, 0.016,0.025,0.02, 0.016,0.015,0.01, 0.016,0,0};

/// ZM_545x39_RPK74S_Recoil[]= {0.02,0.03,"0.03*1.35", 0.05,0.0,0.001};

//// ZM_545x39_RPK74S_Recoil[]= {0.02,0.02,"0.04*1.35", 0.05,0.0,0};

ZM_545x39_RPK74S_Recoil[]= {0.04,0.02,"0.05*1.35", 0.05,0.0,0};

// ZM_545x39_RPK74A_Recoil[]= {0.016,0.015,0.015, 0.016,0.025,0.02, 0.016,0.015,0.01, 0.016,0,0};

/// ZM_545x39_RPK74A_Recoil[]= {0.02,0.03,"0.03*1.35", 0.05,0.0,0.001};

//// ZM_545x39_RPK74A_Recoil[]= {0.02,0.02,"0.04*1.35", 0.05,0.0,0};

ZM_545x39_RPK74A_Recoil[]= {0.04,0.02,"0.05*1.35", 0.05,0.0,0};

// ZM_762x54_PKM_Recoil[]= {0.016,0.05,0.011, 0.016,0.09,0.008, 0.016,0.05,0.011, 0.016,0,0};

/// ZM_762x54_PKM_Recoil[]= {0.02,0,0, 0.03,0.01,0.02, 0.05,0.008,0.018, 0.01,0,0};

//// ZM_762x54_PKM_Recoil[]= {0.03,0,0, 0.02,0.01,0.03, 0.03,0.002,0.018, 0.02,0,0};

ZM_762x54_PKM_Recoil[]= {0.03,0,0, 0.02,0.02,0.03, 0.03,0.02,0.04, 0.03,0,0};

// Sidearms

ZM_9x19_M9_Recoil[]= {0.05,0.05,0.10, 0.05,0,0.01};

ZM_762x25mm_Tokarev_Recoil[]= {0.05,0.08,0.14, 0.05,0,0.02};

// Grenades

ZM_40mm_M433_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_40mm_VOG25_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

// Rockets

ZM_LAW_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_AT4_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_CG_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_RPG7_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_RPG22_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_RPO_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

ZM_AA_Recoil[]= {0.1,0.2,0.05, 0.2,0,0};

};

Share this post


Link to post
Share on other sites

Thanks Q

ArmA Original codes:

Quote[/b] ]

class cfgRecoils {

pistolBase[] = {0,0,0,0.08,0.003,0.02,0.05,-0.003,-0.033,0.05,0,0 };

subMachineGunBase[] = {0,0,0,0.06,0.005,0.005,0.05,0,-0.02,0.06,-0.005,0.005,0.05,0,0 };

assaultRifleBase[] = {0,0,0,0.06,0.01,0.01,0.1,0,-0.02,0.1,-0.01,0.01,0.05,0,0 };

machinegunBase[] = {0,0,0,0.08,0.01,0.04,0.05,-0.003,-0.01,0.2,0,0 };

launcherBase[] = {0,0,0,0.2,0,0.05,0.1,0,0 };

AK74Recoil[] = {0,0,0,0.06,0.01,0.012,0.1,0,-0.02,0.1,-0.01,0.01,0.05,0,0 };

M240Recoil[] = {0,0,0,0.080000,0.01,0.05,0.05,-0.003,-0.008,0.2,0,0 };

M240RecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0 };

M249Recoil[] = {0,0,0,0.07,0.002,0.01,0.035,-0.002,-0.02,0.05,0,0 };

M249RecoilProne[] = {0,0,0,0.1,0.003,0.004,0.05,-0.003,-0.008,0.05,0,0 };

M4Recoil[] = {0,0,0,0.06,0.01,0.01,0.1,0,-0.018,0.1,-0.01,0.01,0.05,0,0 };

PKMRecoil[] = {0,0,0,0.100000,0.03,0.04,0.05,-0.03,-0.08,0.05,0,0 };

PKMRecoilProne[] = {0,0,0,0.1,0.003,0.005,0.05,-0.003,-0.01,0.05,0,0 };

};

Is it possible to add a line that does not exist? Would it work?

M4RecoilProne[] = {0,0,0,0.02,0.01,0.01,0.1,0,-0.008,0.1,-0.01,0.01,0.03,0,0 };

Share this post


Link to post
Share on other sites

Yeah, but you'd have to put that line into the M4 config.

Share this post


Link to post
Share on other sites
Yeah, but you'd have to put that line into the M4 config.

ok, thanks. Im going to look for it..

Share this post


Link to post
Share on other sites
im working on those numbers..

If you guys want i can post then when i get them for my taste.

EDIT: Radic i tested your numbers and i think they are too exaggerated now. Recoil is almost null even in bust. Tastes are tastes.. but im looking for a better/realistic simulation.

I agree - I actually want more like the original amount of recoil but happening in a much faster/shorter cycle - need to spend time experimenting (tried turning down what i thought were all the time interval values and eneded up with no recoil at all - so got something wrong) - and I'll watch with interest what you guys come up with.

BTW - apologies to all - I was initially using the search function incorrectly - very short list of responses should have tipped me off I had it wrong.

Share this post


Link to post
Share on other sites
Quote[/b] ]riffleSingle[] = {0.05,0.02,0.05, 0.35,0,-0.006, 0.07,0,-0.006, 0.13,0,0};

It takes the same amount of time 0.05 seconds, to go back 0.02 and up 0.05 (a little higher than BIS's rifle recoil),

then takes 0.35 seconds to return to 0 offset and slightly negative angle. It stays at this slightly negative angle for

0.07 seconds then takes 0.13 seconds to return to 0 angle. The felt result is a stronger kick up with far more delay in

"recentering" the weapon on the aiming point. This makes the gun harder to fire rapidly, and requires more user

intervention in repeat firing.

If you guys noticed in ArmA we have some more numbers then these ones mentioned and explained. I organized the numbers by 3 each so it would be easier to understand what they exactly do.

1 2 3 4 <span style='color:red'>5?</span>

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">riffleSingle[] = {0.05,0.02,0.05, 0.35,0,-0.006, 0.07,0,-0.005, 0.13,0,0};

1 - It takes the same amount of time, 0.05sec, to go back 0.02 and up 0.05 (a little higher than BIS's rifle recoil)

2 - It takes 0.35 sec to return to 0 offset and slightly negative angle -0.006.

3 - It stays 0.07 sec at this slightly negative angle -0.005

4 - It takes 0.13 sec to return to 0 angle.

The felt result is a stronger kick up with far more delay in "recentering" the weapon on the aiming point.

This makes the gun harder to fire rapidly, and requires more user intervention in repeat firing.

Now as you can see in ArmA there is a sequence with more 3 parameters, can anyone explain what the <span style='color:red'>5</span> mean?

ArmA Original code:

1 2 3 4 <span style='color:red'>5?</span>

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">M4Recoil[] = {0.00,0,0, 0.060,0.010,0.010, 0.100,0,-0.018, 0.100,-0.010,0.010, 0.050,0,0};

Another thing:

Quote[/b] ]There are no distinctions in recoil configs between standing, crouching, or prone recoils. OFP reads the recoil and

automatically changes it to suit the soldier's position.

In ArmA we can have recoil for all positions. BIS did not had time to input them as they should! (sadly) What we have in default ArmA is we have same recoil when stand up/crouch/prone. But there are options to change recoil to stand up/crouch into prone position. Its all up to us to add them to ArmA. I believe we have different recoils in those different positions. Thats why Im going to change/add. (Its not cheating! )

In config.bin we have:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class M4 : Rifle

...

class Single : Mode_SemiAuto {

sound[] = {"\ca\Weapons\Data\Sound\M4_2_SS_B",5.623413,1 };

reloadTime = 0.090000;

recoil = "M4Recoil";

recoilProne = "M4Recoil";

So what you need to do is change config.bin to config.cpp and add/change info:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class M4 : Rifle

...

class Single : Mode_SemiAuto {

sound[] = {"\ca\Weapons\Data\Sound\M4_2_SS_B",5.623413,1 };

reloadTime = 0.090000;

recoil = "M4Recoil";

recoilProne = "M4RecoilProne";

and set in config.cpp at top, near the class cfgRecoils the following:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">M4RecoilProne[] = {0.005,0,0.005, 0.005,0.002,0.0050, 0.040,0.0000,0.0010, 0.030,0.000,0.001, 0.005,0};

So far i have this: 1 2 3 4 <span style='color:red'>5?</span>

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class cfgRecoils {

pistolBase[] = {0.0000,0,0.000, 0.010,0.005,0.0100, 0.070,0.0000,-0.005, 0.100,-0.010,0.010, 0.020,0};

M4Recoil[] = {0.0080,0,0.010, 0.008,0.005,0.0090, 0.065,0.0000,0.0025, 0.060,0.001,0.002, 0.014,0};

M4RecoilProne[] = {0.0050,0,0.005, 0.005,0.002,0.0050, 0.040,0.0000,0.0010, 0.030,0.000,0.001, 0.005,0};

assaultRifleBase[] = {0.0025,0,0.002, 0.003,0.002,0.0024, 0.030,0.0000,0.0010, 0.030,0.001,0.001, 0.005,0};

assaultRifleBaseProne[] = {0.0020,0,0.001, 0.002,0.001,0.0020, 0.020,0.0000,0.0004, 0.026,0.000,0.001, 0.003,0};

By the way can anyone try these codes and give some feedback?

Share this post


Link to post
Share on other sites

This does work.

Quote[/b] ]M4RecoilProne[] = {0,0,0,0.02,0.01,0.01,0.1,0,-0.008,0.1,-0.01,0.01,0.03,0,0 };

Would this idea work aswell?

<ul>M4RecoilCrouch[] = {0,0,0,0.02,0.01,0.01,0.1,0,-0.008,0.1,-0.01,0.01,0.03,0,0 };

i already tryed with name "M4RecoilCrouch", also adding the class M4RecoilCrouch at the bottom of the config, but it did not work.

Is there a way to make this idea work when we fire in a crouch position? (maybe im not using the right name "Crouch")

Anyone know?

Share this post


Link to post
Share on other sites
Now as you can see in ArmA there is a sequence with more 3 parameters, can anyone explain what the <span style='color:red'>5</span> mean?

ArmA Original code:

1 2 3 4 <span style='color:red'>5?</span>

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">M4Recoil[] = {0.00,0,0, 0.060,0.010,0.010, 0.100,0,-0.018, 0.100,-0.010,0.010, 0.050,0,0};

The fifth column is just another set of coordinates for the recoil. I think you can use as many as you want if you want to wave around the gun.

Share this post


Link to post
Share on other sites

I agree - it looks like you can have pretty much an indefinite sequence of "events" - each defined as time/offset/deflection - I think the 5 sets is what maybe makes ArmA assault rifles a tad TOO "wobbly"? (the whole recoil lasts too long) hmmmm.....

Share this post


Link to post
Share on other sites

Another thing:

BIS said that each weapon (all weapons) had their own Recoil..

I really would like to see the config of each one of them. In the Config.bin i can only find the recoil of:

<ul>

M4

assaultRifle

AK74

M249

M240

PKM

subMachineGunBase (*)

machinegunBase (**)

launcherBase

So where are the rest of the weapons?

There are 3 different type of G36, i bet each G36 have their particular Recoil difference.

Wheres the MP5 recoil code?

M24?

M107?

SVD?

etc...

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×