Trap Door Question

My goal is that if the enemy is there, the door would not open by the player. It can only be opened when the enemy is far from the triggered collider. The main problem is that it is not working. Even if the enemy is there, the player can still open the door. Any help would be great. Here is the script. My enemies have already tags and also the player.


// Smothly open a door
var smooth = 2.0;
	var DoorOpenAngle = 90.0;
	var DoorCloseAngle = 0.0;
	var open : boolean;
	var enter : boolean;
	var trap : boolean;
//Main function
function Update (){
if(open == true){
	var target = Quaternion.Euler (0, DoorOpenAngle, 0);
	// Dampen towards the target rotation
	transform.localRotation = Quaternion.Slerp(transform.localRotation, target, Time.deltaTime * smooth);
	}
if(open == false){
	var target1 = Quaternion.Euler (0, DoorCloseAngle, 0);
	// Dampen towards the target rotation
		transform.localRotation = Quaternion.Slerp(transform.localRotation, target1, Time.deltaTime * smooth);
	}
if(enter == true){
	if(Input.GetKeyDown("f")){
		open = !open;
		}
	}
}
//Activate the Main function when player is near the door
function OnTriggerEnter (other : Collider){
Debug.Log("Trigger is on");
if (trap == false){
	if (other.gameObject.tag == "Player") {
		Debug.Log("Player is there");
		(enter) = true;
		}
	}
	if (other.gameObject.tag == "EnemyTrap") {
		Debug.Log("They are there");
		(trap) = true;
	}
}
//Deactivate the Main function when player is go away from door
function OnTriggerExit (other : Collider){
Debug.Log("Trigger is on");
if (trap == true){
	if (other.gameObject.tag == "Player") {
		Debug.Log("Player is gone");
		(enter) = false;
		}
	}
	if (other.gameObject.tag == "EnemyTrap") {
		Debug.Log("They are gone");
		(trap) = false;
	}
}

There are a lot of mistakes in your script

Use this script

var canopen:boolean = true;
var press:boolean = false;
var smooth:float = 2; //
var dooropen:float = 90;
var doorclose:float = 0;
var Player:Transform;
var Enemy:Transform;
var door:Transform;

function Update(){
if(Vector3.Distance(door.position,Enemy.position) < 2){//change the num value for `closer distance detection`
canopen = false;
press = false;
}else {canopen = true;}
if(canopen && press){
door.rotation = Quaternion.Slerp(door.rotation,Quaternion.EulerAngles(0,dooropen,0),smooth*Time.deltaTime);//localRotation if child under an obj
}
if(Vector3.Distance(door.position,Player.position)<2){
if(Input.GetKeyDown(KeyCode.F)){
press = true;
} }

if(Input.GetKeyUp(KeyCode.F)){press = false;}
if(!canopen && !press){
door.rotation = Quaternion.Slerp(door.rotation,Quaternion.EulerAngles(0,doorclose,0),smooth*Time.deltaTime);
}
}