You should build a network of path nodes in your maps that the AI can follow when they are not alerted by the player. Sort of like a patrol route, of areas you want them to go.
You can add a Line of site behavior to your zombies, and have it check for the player every few seconds.
Also, you can use A* pathfinding for the zombies to seek the player, and for them to follow the path node network you made.
There are other pathfinding plugins in the Completed Plugin forums
For the attack and patrol states, you should make a state machine.:
https://www.scirra.com/tutorials/1139/h ... e-machines