- Home /
How do I stop a function from executing?
I need to make it so that if the player's renderer is disabled, the Shoot() function is not excecuted anymore. how would I do this? Here is my code:
var speed : float = 2000; var player : Transform; var enemyFireball : Transform;
function Start () { InvokeRepeating("Shoot", 0.5, 0.5); }
function Update() { if(player.renderer.enabled == false) { !Shoot(); } } function Shoot () { if(Vector3.Distance(transform.position,player.position)<10) { var projectile = Instantiate(enemyFireball,GameObject.Find("enemySpawnPoint1").transform.position, Quaternion.identity); projectile.rigidbody.AddForce(transform.forward * speed); } }
Answer by aldonaletto · Sep 22, 2012 at 03:21 PM
This surely will not work:
!Shoot();
Just use the player.rendered.enabled property in an if to enable/disable Shoot:
...
function Shoot(){
if (player.rendered.enabled){ // does nothing if rendered disabled
if(Vector3.Distance(transform.position,player.position)<10){
var projectile = Instantiate(enemyFireball, GameObject.Find("enemySpawnPoint1").transform.position, Quaternion.identity);
projectile.rigidbody.AddForce(transform.forward * speed);
}
}
}
Ok, I did that and got errors. Here is my code: var speed : float = 2000; var player : Transform; var enemyFireball : Transform;
function Start () { InvokeRepeating("Shoot", 1.5, 1.5); }
function Shoot () { if(player.renderer.enabled = true) { if(Vector3.Distance(transform.position,player.position)<15) { var projectile = Instantiate(enemyFireball,GameObject.Find("enemySpawnPoint5").transform.position, Quaternion.identity); projectile.rigidbody.AddForce(transform.forward * speed); } } }
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Enemy AI Script (a little difficult) 0 Answers
Enemy AI Help? 1 Answer
Error CS1519 Help 1 Answer
error in code (Please help) 1 Answer