how to combine 2 conflicing scripts

i currently have 2 unity scripts acting on my gun in an FPS that i am working on, one of the scripts makes the gun wobble when you move the camera around and the other is a zoom where it makes the gun’s sight line up with the camera, when i have both active the gun does not properly line up with the camera.

 var gun : Transform;
 var nextPos = 0.021;
 var nextField = 40.0;
 var nextPos2 = -0.09;
 var dampVelocity = 0.6;
 var dampVelocity2 = 0.6;
 var dampVelocity3 = 0.6;

 function Update () {
    var newPos = Mathf.SmoothDamp(gun.transform.localPosition.x, nextPos,
 dampVelocity, .3);
    var newField = Mathf.SmoothDamp(Camera.main.fieldOfView, nextField, 
 dampVelocity2, .3);
    var newPos2 = Mathf.SmoothDamp(gun.transform.localPosition.y, nextPos2,
 dampVelocity3, .3);

    gun.transform.localPosition.x = newPos;
    gun.transform.localPosition.y = newPos2;
    Camera.main.fieldOfView = newField;

    if (Input.GetButton("Fire2")) {
        //adjust viewpoint and gun position
        nextField = 15.0;
        nextPos = -0.0001;
        nextPos2 = 0.0464;
   
        //attempt at making the camera turn slower
        Camera.main.GetComponent(MouseLook).sensitivityX = 1;
        Camera.main.GetComponent(MouseLook).sensitivityY = 1;
   
    } else {
        //adjust viewpoint and gun position
        nextField = 60.0;
        nextPos = 0.25;
        nextPos2 = -0.07;
   
        Camera.main.GetComponent(MouseLook).sensitivityX = 6;
        Camera.main.GetComponent(MouseLook).sensitivityY = 6;
    }
 }

and

		public var MoveAmount : float = 1;		
			public var MoveSpeed : float = 2;				
					public  var GUN: GameObject;						
						public var MoveOnX : float;							
						  public var MoveOnY: float;							  
						  		public var DefaultPos : Vector3;							  		
						  		public var NewGunPos : Vector3;							  		
						  		public var ONOff : boolean = false;
	public var smoveDirection  = Vector3.zero;					  									  				
function Awake(){
  DefaultPos = transform.localPosition;
  ONOff = true;
}
function LateUpdate () {
   if(ONOff == true){
		MoveOnX = Input.GetAxis( "Mouse X") * Time.deltaTime * MoveAmount;
		MoveOnY = Input.GetAxis( "Mouse Y") * Time.deltaTime * MoveAmount;
		NewGunPos = new Vector3 ( DefaultPos.x+ MoveOnX, DefaultPos.y + MoveOnY, DefaultPos.z);		
		GUN.transform.localPosition = 
Vector3.Lerp(GUN.transform.localPosition , NewGunPos, MoveSpeed * Time.deltaTime);
}
else{
   ONOff = false;   
 GUN.transform.localPosition = Vector3.Lerp(GUN.transform.localPosition, DefaultPos , 
MoveSpeed *Time.deltaTime);
}
}

sorry to the long post but i am really new to coding

Nevermind, i eventually discovered that i could displace the movement script with the zoom scrip’s second variables for the zoom, i made it over shoot so much that it foced the sight into the correct position