I have currently got my character flying in the air with the following script

```
#pragma strict

var cMotor: CharacterMotor; // reference to the CharacterMotor script

function Start(){ // get the CharacterMotor script at Start:
cMotor = GetComponent(CharacterMotor);
}

function Update(){ // move player upwards while F is pressed
if (Input.GetKey("f")){
cMotor.SetVelocity(Vector3.up*10.5);}
else if (Input.GetKey("up")){
cMotor.SetVelocity(Vector3.forward*10.5);
}
else if (Input.GetKey("left")){
cMotor.SetVelocity(Vector3.left*10.5);
}
else if (Input.GetKey("down")){
cMotor.SetVelocity(Vector3.back*10.5);
}
else if (Input.GetKey("right")){
cMotor.SetVelocity(Vector3.right*10.5);
}
else if (Input.GetKey("g")){
cMotor.SetVelocity(Vector3.down*10.5);
}
}

// This do-nothing function is included just to avoid error messages
// because SetVelocity tries to call it

function OnExternalVelocity(){
}

```

however I want to be able to freeze the character in the air so they do not fall but if I set the maxFallSpeed to 0 then I cannot make the character land again. Any ideas?