Parachute with fps walker

ok guys

i have the first person controller prefab

and there is the fps walker script attached to it

now my character is in the air with low gravity so its gliding down to the ground with a parachute

my problem is that the character is not moving in the air because of the grounded clause i want that its moving around in the air but only horizontal axes because a parachute isn't moving up so its gliding slowly down no if the parachute hits the ground (Grounded) the normal fps walker should be working

here is the script im happy if you can help me

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

private var moveDirection = Vector3.zero;
private var grounded : boolean = false;

function FixedUpdate() {
    if (grounded) {
        // We are grounded, so recalculate movedirection directly from axes
        moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
        if (moveDirection==Vector3.zero) {
            SendMessage("PlayAnimation", "idle");
        }
        else {
            SendMessage("PlayAnimation", "walk");
        }       

        moveDirection = transform.TransformDirection(moveDirection);
        moveDirection *= speed;

        if (Input.GetButton ("Jump")) {
            SendMessage("PlayAnimation", "jump");
            moveDirection.y = jumpSpeed;
        }

    }

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

    // Move the controller
    var controller : CharacterController = GetComponent(CharacterController);
    var flags = controller.Move(moveDirection * Time.deltaTime);
    grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}

@script RequireComponent(CharacterController)

Add an 'else' after the grounded statement for movement in the air, divide the input.getaxis by 2 or how ever slow you want to go. Copy the rest of the movement code except the walking animation as I don't think you want that.

if (grounded) {
    // ground code

} else { // do air movement
   moveDirection = new Vector3(Input.GetAxis("Horizontal")/2, 0, Input.GetAxis("Vertical")/2);
   moveDirection = transform.TransformDirection(moveDirection);
   moveDirection *= speed;
}

I'm pretty sure the lerps 3D tutorial has controlled decent code already in it.