Pause menu script, mouse not hiding

Ok so here is my problem, when I start the game the mouse stays locked and hidden. When I click esc to pause the mouse is shown and un locked, then when I press esc to un pause the mouse turns hidden but unlocked (that’s the problem).

Here is my code, this place needs a better code formatting, if you want to see it properly formatted. Go to this website

//*******************************************************************************

//*                                                                                                                                                                                     *
//*                                                     Written by Grady Featherstone                                                           *
//                                                                              � Copyright 2011                                                                              *
//*******************************************************************************
var mainMenuSceneName : String;
var pauseMenuFont : Font;
private var pauseEnabled = false;                      
 
function Start(){
        pauseEnabled = false;
        Time.timeScale = 1;
        AudioListener.volume = 1;
        Screen.lockCursor = true;
}
 
function Update(){
 
        //check if pause button (escape key) is pressed
        if(Input.GetKeyDown(“escape”)){
       
                //check if game is already paused              
                if(pauseEnabled == true){
                        //unpause the game
                        pauseEnabled = false;
                        Time.timeScale = 1;
                        AudioListener.volume = 1;
                        Screen.lockCursor = true;                      
                }
               
                //else if game isn’t paused, then pause it
                else if(pauseEnabled == false){
                        pauseEnabled = true;
                        AudioListener.volume = 0;
                        Time.timeScale = 0;
                        Screen.lockCursor = true;
                }
        }
}
 
private var showGraphicsDropDown = false;
 
function OnGUI(){
 
GUI.skin.box.font = pauseMenuFont;
GUI.skin.button.font = pauseMenuFont;
 
        if(pauseEnabled == true){
               
                //Make a background box
                GUI.Box(Rect(Screen.width /2 - 100,Screen.height /2 - 100,250,200), “Pause Menu”);
               
                //Make Main Menu button
                if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), “Main Menu”)){
                        Application.LoadLevel(mainMenuSceneName);
                }
               
                //Make Change Graphics Quality button
                        if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), “Change Graphics Quality”)){
                       
                        if(showGraphicsDropDown == false){
                                showGraphicsDropDown = true;
                        }
                        else{
                                showGraphicsDropDown = false;
                        }
                }
               
                //Create the Graphics settings buttons, these won’t show automatically, they will be called when
                //the user clicks on the “Change Graphics Quality” Button, and then dissapear when they click
                //on it again…
                if(showGraphicsDropDown == true){
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), “Fastest”)){
                                QualitySettings.currentLevel = QualityLevel.Fastest;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), “Fast”)){
                                QualitySettings.currentLevel = QualityLevel.Fast;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), “Simple”)){
                                QualitySettings.currentLevel = QualityLevel.Simple;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), “Good”)){
                                QualitySettings.currentLevel = QualityLevel.Good;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), “Beautiful”)){
                                QualitySettings.currentLevel = QualityLevel.Beautiful;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), “Fantastic”)){
                                QualitySettings.currentLevel = QualityLevel.Fantastic;
                        }
                       
                        if(Input.GetKeyDown(“escape”)){
                                showGraphicsDropDown = false;
                        }
                }
               
                //Make quit game button
                if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), “Quit Game”)){
                        Application.Quit();
                }
        }
}

You want the cursor locked and hidden when GUI is not showing? You have to hide the cursor as well as lock it:

//*******************************************************************************
//*                                                                                                                                                                                     *
//*           Written by Grady Featherstone                                                           *
//*                   � Copyright 2011                                                                              *
//*******************************************************************************
var mainMenuSceneName : String;
var pauseMenuFont : Font;
private var pauseEnabled = false;                       
 
function Start(){
        pauseEnabled = false;
        Time.timeScale = 1;
        AudioListener.volume = 1;
        Screen.lockCursor = true;
        Screen.showCursor = false;
}
 
function Update(){
 
        //check if pause button (escape key) is pressed
        if(Input.GetKeyDown("escape")){
        
                //check if game is already paused               
                if(pauseEnabled == true){
                        //unpause the game
                        pauseEnabled = false;
                        Time.timeScale = 1;
                        AudioListener.volume = 1;
                        Screen.lockCursor = true;
                        Screen.showCursor = false;                     
                }
                
                //else if game isn't paused, then pause it
                else if(pauseEnabled == false){
                        pauseEnabled = true;
                        AudioListener.volume = 0;
                        Time.timeScale = 0;
                        Screen.lockCursor = false;
                        Screen.showCursor = true;
                }
        }
}
 
private var showGraphicsDropDown = false;
 
function OnGUI(){
 
GUI.skin.box.font = pauseMenuFont;
GUI.skin.button.font = pauseMenuFont;
 
        if(pauseEnabled == true){
                
                //Make a background box
                GUI.Box(Rect(Screen.width /2 - 100,Screen.height /2 - 100,250,200), "Pause Menu");
                
                //Make Main Menu button
                if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), "Main Menu")){
                        Application.LoadLevel(mainMenuSceneName);
                }
                
                //Make Change Graphics Quality button
                        if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), "Change Graphics Quality")){
                        
                        if(showGraphicsDropDown == false){
                                showGraphicsDropDown = true;
                        }
                        else{
                                showGraphicsDropDown = false;
                        }
                }
                
                //Create the Graphics settings buttons, these won't show automatically, they will be called when
                //the user clicks on the "Change Graphics Quality" Button, and then dissapear when they click
                //on it again....
                if(showGraphicsDropDown == true){
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), "Fastest")){
                                QualitySettings.currentLevel = QualityLevel.Fastest;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), "Fast")){
                                QualitySettings.currentLevel = QualityLevel.Fast;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), "Simple")){
                                QualitySettings.currentLevel = QualityLevel.Simple;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), "Good")){
                                QualitySettings.currentLevel = QualityLevel.Good;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), "Beautiful")){
                                QualitySettings.currentLevel = QualityLevel.Beautiful;
                        }
                        if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), "Fantastic")){
                                QualitySettings.currentLevel = QualityLevel.Fantastic;
                        }
                        
                        if(Input.GetKeyDown("escape")){
                                showGraphicsDropDown = false;
                        }
                }
                
                //Make quit game button
                if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), "Quit Game")){
                        Application.Quit();
                }
        }
}