void ApplyNoRecoil(float Frametime, float *Punchangle, float *Viewangle){ float Punch[3], Length; VectorCopy(Punchangle, Punch); Length = VectorNormalize(Punch); Length -= (10.0 + Length * 0.5) * Frametime; Length = max(Length, 0.0); VectorScale(Punch, Length, Punch); Viewangle[0] += Punch[0] + Punch[0]; Viewangle[1] += Punch[1] + Punch[1]; }
VectorCopy(pparams->punchangle, gLocalPlayer.Punchangle);//для визуального норекойла: VectorClear(pparams->punchangle);
ApplyNoRecoil(frametime, gLocalPlayer.Punchangle, cmd->viewangles);