using Sandbox.Citizen; public sealed partial class Dedugan { private float anotherPivot; private Vector3 pivotOffset; private void RotateCamera() { if ( Input.Keyboard.Pressed( "Q" ) ) { anotherPivot = 40f; } if ( Input.Keyboard.Pressed( "E" ) ) { anotherPivot = 0; } if (RagdollController.Enabled) { var off = RagdollController.WorldRotation.Up * 20f - Camera.WorldRotation.Forward * 200f; Camera.WorldPosition = Vector3.Lerp(Camera.WorldPosition, RagdollController.WorldPosition + off, Time.Delta * 5f); Camera.LocalRotation = Rotation.Lerp(Camera.LocalRotation, EyeAngles.ToRotation(), Time.Delta * 2f); } else { // Camera.LocalRotation = EyeAngles.ToRotation(); // var offset = CameraPivot.LocalPosition + CameraPivot.LocalRotation.Backward * CamOffsetX; // Camera.LocalPosition = offset * Camera.LocalRotation; Camera.LocalRotation = EyeAngles.ToRotation(); var localPitchOffset = Camera.LocalRotation.Down * MathF.Max( 0f, EyeAngles.pitch ) * 0.32f + Camera.LocalRotation.Backward * MathF.Max( 0f, EyeAngles.pitch ) * 0.7f + Camera.LocalRotation.Up * MathF.Min( 0f, EyeAngles.pitch ) * 0.5f + Camera.LocalRotation.Backward * MathF.Min( 0f, EyeAngles.pitch ) * 0.8f + Camera.LocalRotation.Right * -anotherPivot; if ( InAds ) { pivotOffset = CameraPivot.LocalRotation.Backward * CamOffsetX * 0.5f + CameraPivot.LocalRotation.Up * 8f; } else { pivotOffset = CameraPivot.LocalRotation.Backward * CamOffsetX; } var offset = (CameraPivot.LocalPosition + pivotOffset ) * EyeAngles.ToRotation() + localPitchOffset; Camera.LocalPosition = offset; } } }