Sniper Zoom Problem

Hey everyone. I’m working on a script where the mouse sensitivity lowers when I zoom in. Despite what I set the variable to, the sensitivity always instantly goes to 0.004 or something, and I can’t move in unless I zoom out. Does anyone know what the problem is? Here is the script:

var zoomedinx = 4.0;
var zoomediny = 4.0;
var zoomedoutx = 10.0;
var zoomedouty = 10.0;
    
    function Update () {
        if (Input.GetKey ("e")){
        GetComponent("MouseLook").sensitivityX = Mathf.Max(GetComponent("MouseLook").sensitivityX-zoomedinx, 1*Time.deltaTime);
        GetComponent("MouseLook").sensitivityY = Mathf.Max(GetComponent("MouseLook").sensitivityY-zoomediny, 1*Time.deltaTime);
        audio.Play();
        animation.Play();
    }
        if (Input.GetKey ("q")){
            GetComponent("MouseLook").sensitivityX = Mathf.Lerp(GetComponent("MouseLook").sensitivityX, zoomedoutx, 1*Time.deltaTime);
            GetComponent("MouseLook").sensitivityY = Mathf.Lerp(GetComponent("MouseLook").sensitivityY, zoomedouty, 1*Time.deltaTime);
            audio.Play();
        animation.Play();
    }
    }

1 Answer

1

I think you meant to do this:

MouseLook mouseLook;

function Awake()
{
    mouseLook = GetComponent("MouseLook");
}

function Update ()
{
    if (Input.GetKey ("e")
    {
        mouseLook.sensitivityX -= zoomedinx * Time.deltaTime;
        mouseLook.sensitivityY -= zoomediny * Time.deltaTime;
        audio.Play();
        animation.Play();
    }

    if (Input.GetKey ("q"))
    {
        mouseLook.sensitivityX += zoomedoutx * Time.deltaTime;
        mouseLook.sensitivityY += zoomedouty * Time.deltaTime;
        audio.Play();
        animation.Play();
    }
}