- Home /
Enemy AI is not working as it should be??
This is my script I use for enemy AI to move/attack. The problem here is that when I walk away from the enemy, the attack triggers and deals damage every ms it reaches 1.5. If I stand next to them, they deal no damage. I added a delay but I doubt that'll work. Can you guys help?
var Player : Transform; var MoveSpeed = 4; var MaxDist = 10; var MinDist = 1.5; var Damage = 1; var Distance = 1.5; var activated : boolean = true;
function Start () {
}
function Update () { transform.LookAt(Player);
if(Vector3.Distance(transform.position,Player.position) >= MinDist)
{
transform.position += transform.forward*MoveSpeed*Time.deltaTime;
if(Vector3.Distance(transform.position,Player.position) = MaxDist)
{
var hit : RaycastHit;
if (Physics.Raycast (transform.position, transform.TransformDirection(Vector3.forward), hit))
{
Distance = hit.distance;
if (Distance = MinDist)
{
hit.transform.SendMessage("ApplyDamage", Damage, SendMessageOptions.DontRequireReceiver);
{
if(activated)
{
activated = false ;
cour();
}
}
}
}
}
}
} function cour() { yield waitDelay(); activated = true; } function waitDelay() { yield WaitForSeconds (100); //Here it waits 5 seconds. } var hitDelay : float = 0.5; private var nextHitAllowed : float;
function OnCollisionEnter (col : Collision) { if(col.gameObject.tag == "Player"){ if(Time.time > nextHitAllowed){ SendMessage("ApplyDamage", Damage, SendMessageOptions.DontRequireReceiver); nextHitAllowed = Time.time + hitDelay; } } }
on the line "distance = hit distance; if (Distance = MinDist)" I have it "(Distance <= MinDist)" The forums thing wasn't properly formatting if I added a < sign, sorry.
Edit: Same with "if(Vector3.Distance(transform.position,Player.position) = MaxDist)" The < seems to break the coding?
Your answer
Follow this Question
Related Questions
Enemies do damage even after dying 1 Answer
One enemy triggers all the enemies 2 Answers
NavMeshAgent does not follow player 0 Answers
Attack selected Enemy Turn Based Combat 2 Answers
Damage enemy cooldown 2 Answers