I really need help with these scripts interacting with each other, please help

Bullet.js
#pragma strict

var direction: Vector2;
var target: Transform; //the enemy's target

function Start(){
    target = GameObject.FindWithTag("Wizard").transform;
    direction = target.position - GetComponent(Transform).position;

}
// Update is called once per frame
function Update () {
    
    GetComponent(Rigidbody2D).velocity = direction;  
}

public function OnTriggerEnter2D (other : Collider2D) 
{
    Debug.Log("Triggered");
    Debug.Log(other);
    if (other.name == "Wizard") 
    {
        Debug.Log("Hit Wizard");
        var levelManager: LevelManager = GetComponent(LevelManager);
        levelManager.damagePlayer();
    }
} 

EnemyAI.js
#pragma strict

private var isFollowing = true;
var prefabToSpawn : GameObject;
private var spawnLocation : Vector3;
var target : Transform; //the enemy’s target
var moveSpeed = 3; //move speed
var myTransform : Transform; //current transform data of this enemy
private var moveDirection : Vector3 = Vector3.zero;
var distance : float;
//private var attacked = false;
var allowFire = true;
var wait : float;

function Awake()
{
myTransform = transform; //cache transform data for easy access/preformance
}

function Start()
{
target = GameObject.FindWithTag(“Wizard”).transform; //target the player
spawnLocation = myTransform.position; //spawn at enemy location
InvokeRepeating(“attacking”,0.0,1.0/wait);
}

function Update ()
{
isFollowing = (target.position - myTransform.position).magnitude > distance;
if(isFollowing)
{
following();
allowFire = false;
}
else
{
spawnLocation = myTransform.position; //spawn at enemy location
if(!isFollowing)
{
//attacking();
allowFire = true;

    }

}

}
function following()
{
moveDirection = target.position - myTransform.position;
Debug.Log(myTransform.forward);
//move towards the player
myTransform.position += moveDirection * moveSpeed * Time.deltaTime;

}

function attacking()
{
if(allowFire)
{
Instantiate(prefabToSpawn, spawnLocation, Quaternion.identity);
allowFire = false;
}
//Debug.Log(wait.ToString());
//yield WaitForSeconds(wait);

}

PlayerController.js
#pragma strict
//Global Vars
var speed: float = 20.0;
private var moveDirection : Vector2 = Vector2.zero;
function Start () {

}

function Update () {
Time.timeScale = 1.0;
var move = Vector3(Input.GetAxis(“Horizontal”), Input.GetAxis(“Vertical”), 0);
transform.position += move * speed * Time.deltaTime;
}

LevelManager.js
#pragma strict
public var position: Vector3;
public var damage: int = 5;
public var health: int = 100;
public var lives: int = 3;
public var score: int = 0;
public var time: int = 0;
public var rend: Renderer;
private var player: PlayerController ;
function Start () {
player = FindObjectOfType(PlayerController);
rend = GetComponent.();
rend.enabled = true;
}

function Update () {

}

public function damagePlayer()
{
if(health > damage)
{
health -= damage;
Debug.Log(health);
}else
{
health = 0;
if (lives > 1)
{
lives --;
Debug.Log(lives);
player.enabled = false;
rend.enabled = false;
Debug.Log (“Player Respawn”);
yield WaitForSeconds (5);
transform.position = Vector3(0, 0, 0);
rend.enabled = true;
player.enabled = true;
}else
{
lives = 0;
player.enabled = true;
rend.enabled = false;
Debug.Log (“Game Over”);
}
}
}

EnemyAI.js

#pragma strict

private var isFollowing = true;

var prefabToSpawn : GameObject;

private var spawnLocation : Vector3;

var target : Transform; //the enemy’s target

var moveSpeed = 3; //move speed

var myTransform : Transform; //current transform data of this enemy

private var moveDirection : Vector3 = Vector3.zero;

var distance : float;

//private var attacked = false;

var allowFire = true;

var wait : float;

function Awake()

{

myTransform = transform; //cache transform data for easy access/preformance

}

function Start()

{

 target = GameObject.FindWithTag("Wizard").transform; //target the player

 spawnLocation = myTransform.position; //spawn at enemy location

 InvokeRepeating("attacking",0.0,1.0/wait);

}

function Update ()

{

isFollowing = (target.position - myTransform.position).magnitude > distance;

if(isFollowing)

{

    following();

    allowFire = false;

} 

else 

{

    spawnLocation = myTransform.position; //spawn at enemy location

    if(!isFollowing)

    {

        //attacking();

        allowFire = true;

    }

}

}

function following()

{

moveDirection = target.position - myTransform.position;

Debug.Log(myTransform.forward);

//move towards the player

myTransform.position += moveDirection * moveSpeed * Time.deltaTime;

}

function attacking()

{

if(allowFire)

{

    Instantiate(prefabToSpawn, spawnLocation, Quaternion.identity);

    allowFire = false;

}

//Debug.Log(wait.ToString());

//yield WaitForSeconds(wait);

}