switching scripts on and off

here's what i need it for: you walk around the level, and when you hit a helicopter in the game, i have it where it turns off the script used to move a player so that when you're in the helicopter, you can't control movement of the main player.

that works and all, but i want to be able to actually turn on the MoveAround script after the helicopter hits it's end trigger. right now, it's not re-enabling that script...

here are my scripts to control this:

this script is titled: "PlayerHeliPlayer"

var Cam1 : Camera;//player camera
var Cam2 : Camera;//heli camera main
var Cam3 : Camera;//heli camera move-able
static var fly = false;//am i flying yet?

function OnTriggerEnter(hit : Collider)
{
 if(hit.gameObject.tag == "endFlight")//to stop flying
 {
  Cam1.enabled = true;
  Cam2.enabled = false;
  Cam3.enabled = false;
 }
}

function Update () {
if(fly)//if i am (supposed to be) flying...
{
 Fly();
}
}

function Fly()
{//make me fly!
 transform.Translate(Vector3.forward * Time.smoothDeltaTime * 100);
}

and that obviously makes the heli move. this script goes on the player and turns off the MoveAround script it's titled: "PlayerCall"

static var Walk = true;
static var WALK = false;
var camera1 : Camera;
var camera2 : Camera;
var camera3 : Camera;

function Start()
{
 camera1.enabled = true;
 camera2.enabled = false;
 Walk = true;
 WALK = false;
}

function OnTriggerEnter(hit : Collider)
{
 if(hit.gameObject.tag == "Heli")
 {
  PlayerHeliPlayer.fly = true;
  camera1.enabled = false;
  camera2.enabled = true;
  camera3.enabled = true;
  Walk = false;
  WALK = false;
 }
}

function Update() 
{
 MA = GetComponent(MoveAround);
 if(Input.GetKeyUp("escape"))
 {
  Application.LoadLevel("Main Menu");
 }
 if(Walk && gameObject.tag == "Player")
 {
  MA.enabled = true;
 }
 else
   {MA.enabled = false;}
}

those script work fine together to turn off the MoveAround script... but apparantly i don't know the correct way to turn a script back on... so could you please help me?

in case you need my MoveAround script (you shouldn't but), here it is:

//shooting
 static var UseBetterBullet = false; 

 //dying
 static var dead = false;
 static var Dead = false;
 private var Respawn = true;
 static var money = 0;
 static var SCORE = 0;

 static var Player1 = true;
 var bullitPrefab : Transform;
 var respawn1 : Vector3;
 var respawn2 : Vector3;

 static var DSN = false;

 //geting hit
 static var gotHit = false;
 static var IsPlayer = true;

function Start()
{
 particleEmitter.emit = false;
}

 //respawn
  function LateUpdate()
{
 if(DSN)
 {  
  // activates the game object.
  gameObject.active = true;
 }
 if(Dead && !Respawn)
 {
  transform.position = respawn2;
  Dead = false;
  print("i respawned yet again!");
 }
 if(dead && Respawn)
 {//where the player respawns
  transform.position = respawn1;
  dead = false;
  print("i respawned!"); 
 }
}

function OnTriggerEnter( hit : Collider )
{ 
 if(hit.gameObject.tag == "SuddenDeath1")
 {
  enemyFollow.MOVE1 = false;
  enemyFollow.MOVE2 = false;
  enemyFollow.MOVE3 = true;
 }

 if(hit.gameObject.tag == "TurretSlaught2")
 {
  enemyFollow.MOVE1 = false;
  enemyFollow.MOVE2 = true;
  enemyFollow.MOVE3 = false;
 }

 if(hit.gameObject.tag == "MoneyMaker")
 {
  money += 50;
  Destroy(hit.gameObject);
  print("I have " +money+ " Dollars!");
 }

 if(hit.gameObject.tag == "fallout3" && !Respawn)
 {
  Dead = true;
  HealthControl.LIVES -= 1;
 }
 if(hit.gameObject.tag == "fallout2")
 {
  Respawn = false;
 }
 //when the player falls off (this doesnt really work too good. )
 if(hit.gameObject.tag == "fallout")
 {
   dead = true;
   //subtract life here
   HealthControl.LIVES -= 1;
   print("i fell off...");
 }

 //getting hit (this works)
  if(hit.gameObject.tag == "enemyProjectile")
  {
   gotHit = true;
   HealthControl.HITS += 1;
   Destroy(hit.gameObject);
   print("i got hit!");
  }
  //manipulating weather
  if(hit.gameObject.tag == "weather")
  {
   ParticleEmitToggle.WCONTROL = true;
   print("Now i can control weather.");
  }
  //level select button controls
  if(hit.gameObject.tag == "Level2")
 {
  GUIshader.Level2 = true;
  print("hit level two");
 }

 if(hit.gameObject.tag == "Level3")
 { 
  GUIshader.Level3 = true;
  print("hit level three");
 }

 if(hit.gameObject.tag == "Level4")
 {
  GUIshader.Level4 = true;
  print("hit level four");
 }

 if(hit.gameObject.tag == "Level5")
 {
  GUIshader.Level5 = true;
  print("hit level five");
 }

 if(hit.gameObject.tag == "WORK")
 {
  MovingPlatform4.work = true;
 }
}

/// This script moves the character controller forward 
/// and sideways based on the arrow keys.
/// It also jumps when pressing space.
/// Make sure to attach a character controller to the same game object.
/// It is recommended that you make only one call to Move or SimpleMove per frame. 

var speed : float = 6.0;
var jumpSpeed : float = 8.0;
var gravity : float = 20.0;

private var moveDirection : Vector3 = Vector3.zero;

function Update() 
{

var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded) {
// We are grounded, so recalculate
// move direction directly from axes
moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;

//jumping
if (Input.GetButton ("Jump")) {
moveDirection.y = jumpSpeed;
print("I'm jumping!");
}
}

// Apply gravity
moveDirection.y -= gravity * Time.deltaTime;

// Move the controller
controller.Move(moveDirection * Time.deltaTime);

//main menu button
if(Input.GetKeyDown("escape"))
{
 Application.LoadLevel("Main Menu");
 print("Main Menu Loading...");
}

//shooting
if(Input.GetKeyDown("f") && !UseBetterBullet && !Player1)
   {//makes a fireball prefab
    var bullit2 = Instantiate(bullitPrefab, gameObject.Find("SPawnPoint").transform.position, 
    Quaternion.identity);

    bullit2.tag = "wormProjectile";
    //shoots it forward
    bullit2.rigidbody.AddForce(transform.forward * 4000);
    //makes it go completely straight
    useGravity = false;
    print("I shot a fireball!");
    }

if(Input.GetKeyDown("f") && !UseBetterBullet && Player1)
   {//makes a fireball prefab
    var bullit = Instantiate(bullitPrefab, gameObject.Find("spawnPoint").transform.position, 
    Quaternion.identity);

    bullit.tag = "wormProjectile";
    //shoots it forward
    bullit.rigidbody.AddForce(transform.forward * 4000);
    //makes it go completely straight
    useGravity = false;
    print("I shot a fireball!");
    }
if(Input.GetKey("f") && UseBetterBullet)
 {
  particleEmitter.emit = true;
  Invoke("DestroyEmitter",1);
 }

    //prints your score
 print("Score: "+SCORE);
 //changes your score
 switch(SCORE)
 {
  case 10:
  Application.LoadLevel("Main Menu");
  break;
 }

}
function DestroyEmitter()
{
 if(Time.time*1.5 > 7.5)
 particleEmitter.emit = false;
}

    @script RequireComponent(CharacterController)

Thank You in advance!!!

Well, i fixed it. Yay! here's what i did:

at the bottom of my "PlayerCall" script, i added this piece of code:

@script RequireComponent(MoveAround)

and because that probably isn't what fixed it, here's what i think fixed it:

In the "PlayerHeliPlayer" script, i added this in the "if(hit.gameObject.tag == "endFlight")" code:

  PlayerCall.Walk = true;