What is wrong with this script?

Im trying to make a pause menu, when escape is pressed GUIText appears and your mouse gets unhidden. This does not work. Please help!

var levelToLoad : String;
var open : boolean = false;
var menu : GUIText;
var mainmenu : GUIText;
var exitgame : GUIText;
var gamebox : GameObject;

function Update(){

    if(Input.GetKeyUp(KeyCode.Escape)){
        
		if(!open){
		
		menu.active = true;
		mainmenu.active = true;
		exitgame.active = true;
		open = true;
		gamebox.GetComponent("HideMouse").Hide = false;
		
		}
		
		if(open){
		
		menu.active = false;
		mainmenu.active = false;
		exitgame.active = false;
		open = false;
		gamebox.GetComponent("HideMouse").Hide = true;
		
		}
    }
}

Your script checks if open is false, and if so sets it to true, then immediately afterward checks if it’s true, which of course it is since it was just set to true. Look into if/else. Also don’t use quotes in GetComponent.