Hello this script is very amazing you guys can use it freely, but I want to add tag in it. So when it spawns as a prefab with would know what to find and follow. Because if I spawn the enemy then the target will not obviously magically appear there. And the function OnCollisionEnter
is supposed to be like that.
So How do I add tag functionality in the script.
Heres the script
var distance;
var health : int = 10;
var target : Transform;
var lookAtDistance = 15.0;
var attackRange = 10.0;
var moveSpeed = 5.0;
var damping = 6.0;
private var isItAttacking = false;
function Update ()
{
distance = Vector3.Distance(target.position, transform.position);
if(distance < lookAtDistance)
{
isItAttacking = false;
renderer.material.color = Color.black;
lookAt ();
}
if(distance > lookAtDistance)
{
renderer.material.color = Color.black;
}
if(distance < attackRange)
{
attack ();
}
if(isItAttacking)
{
renderer.material.color = Color.black;
}
}
function lookAt ()
{
var rotation = Quaternion.LookRotation(target.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
}
function attack ()
{
isItAttacking = true;
renderer.material.color = Color.black;
transform.Translate(Vector3.forward * moveSpeed *Time.deltaTime);
}
function OnCollisionEnter(col : Collision) {
if(col.gameObject.name == "Player"){
gameObject.Find("Player").SendMessage("DecreaseHealth");
}
}
function TakeDamage(Damage : int)
{
health -= Damage;
if (health <= 0)
{
Destroy(gameObject);
}
}
- Felipe