- Home /
Question by
UnityProjec · Feb 18, 2020 at 01:48 AM ·
aidamagehealth
AI keeps attacking objects that are not player.
void Update()
{
transform.LookAt(thePlayer.transform);
if (attackTrigger == false)
{
enemySpeed = 0.01f;
theEnemy.GetComponent<Animation>().Play("walk");
transform.position = Vector3.MoveTowards(transform.position, thePlayer.transform.position, enemySpeed);
}
if (attackTrigger == true && isAttacking == false)
{
enemySpeed = 0;
theEnemy.GetComponent<Animation>().Play("attack");
StartCoroutine(InflictDamage());
}
}
void OnTriggerEnter()
{
attackTrigger = true;
}
void OnTriggerExit()
{
attackTrigger = false;
}
The AI keeps attacking objects and they will attack ramps whenever they go up them, causing the player damage. Is there a reason to solving this?
Comment
Best Answer
Answer by tormentoarmagedoom · Feb 18, 2020 at 02:35 AM
You need to check what has activated the TRrigger.
https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html
void OnTriggerEnter(Collider other)
{
if (other.gameObject==thePlayer)
{
attackTrigger = true;
}
}
So only activates it if is the player, Now is triggering in all other colliders!
Your answer
![](https://koobas.hobune.stream/wayback/20220612223530im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Why Wont My AI Deal Damage To My FPS On Collision 0 Answers
The enemy don´t lose health, but why??? 0 Answers
Ai that applies damage in collision? 1 Answer
Ai that applies damage when in range? 1 Answer
Deal damage on collision 2 Answers