AI script not using gravity

When my zombie spawns(a bit off the ground) and i am farther than the max distance than the zombie does not fall or use gravity. Does any one know how to fix this.

here is my code:

using UnityEngine;
using System.Collections;

public class Zombie : MonoBehaviour {

public Transform Player;
public GameObject _zombie;

public float Movespeed = 2;

public float MaxDistance = 30;

private float CurrentHealth;
private float MaxHealth = 100;

void Start () {
CurrentHealth = MaxHealth;
Player = GameObject.FindGameObjectWithTag("Player").transform;
_zombie = gameObject;
}

void Update () {

	
if(CurrentHealth < 1){

if(Network.isServer){
	Network.Destroy(gameObject);
}
else if(Network.isClient){
	Network.Destroy(gameObject);		
}
else{
	Destroy(gameObject);	
}
}

float dist = Vector3.Distance(Player.position, _zombie.transform.position);
PlayerController PC = Player.GetComponent();
Player PS = Player.GetComponent();

if(PS.isReloading){
	MaxDistance += 2;	
}
if(PC.walkingstate == WalkingState.Sneaking){
	MaxDistance = 15;		
}
else if(PC.CharCont.velocity.magnitude < 0.1f){
	MaxDistance = 20;	
}
else{
	MaxDistance = 30;		
}
if(dist < MaxDistance){
transform.LookAt(new Vector3(Player.transform.position.x, transform.position.y,Player.position.z));
CharacterController controller = GetComponent();
controller.SimpleMove(_zombie.transform.forward * Movespeed);
_zombie.animation.Play("ZombieWalk1");
}

}

void ApplyBulletDamage( float WeaponDamage){
	CurrentHealth -= WeaponDamage;
}

}

declare a float variable for Gravity

and try to use move instead simple move

example

moveDirection.y-=Gravity*Time.deltaTime;