I understand what you're saying crac, I never use the mk23 for the same reasons. I find it weak and inaccurate at relatively close range. Every gun has an aimerror variable (at least in 2.86 they did) that affects the angle at which the bullet travels producing a subtle "conefire" effect. Perhaps this is set too high for the socom.
The MP5 does shoot low and to the left a bit, it's been like that since 2.86...
As yurch stated, the projectile's trajectory is not a direct consequence of the gun's location and rotation. That is, the bullet is not actually sitting in the gun waiting to be fired out of the barrel and inheriting all the physical properties it should based on barrel length, angle, and what-not. Instead, when the gun is fired, a message is sent to the computer telling it fired, the computer then creates or spawns the projectile at a relative location with a relative rotation that have to be declared in the code. It's very tedious to tweak and adjust these values. With all that goes on with the code, one can easily forget to even check. The code always has to be recompiled after each change--quite a pain in the ass.
Fortunately, however, some variables can be edited in-game in real-time, such as these traceroffsets, using the 'editactor' console command. Saves constant retweaking in this respect, but you still have to recompile after you've made your change.
The MP5 does shoot low and to the left a bit, it's been like that since 2.86...
As yurch stated, the projectile's trajectory is not a direct consequence of the gun's location and rotation. That is, the bullet is not actually sitting in the gun waiting to be fired out of the barrel and inheriting all the physical properties it should based on barrel length, angle, and what-not. Instead, when the gun is fired, a message is sent to the computer telling it fired, the computer then creates or spawns the projectile at a relative location with a relative rotation that have to be declared in the code. It's very tedious to tweak and adjust these values. With all that goes on with the code, one can easily forget to even check. The code always has to be recompiled after each change--quite a pain in the ass.
Fortunately, however, some variables can be edited in-game in real-time, such as these traceroffsets, using the 'editactor' console command. Saves constant retweaking in this respect, but you still have to recompile after you've made your change.