- Home /
 
               Question by 
               Velketor · Mar 31, 2014 at 07:40 PM · 
                variableenemyrandomizemove speed  
              
 
              How can I randomize the speed of enemy movement?
How can I edit the following script so my enemies follow the player at a random "moveSpeed" between 5 and 10?
 var target = GameObject.Find("aggro").transform; //the enemy's target
 var moveSpeed = 10; //move speed
 var rotationSpeed = 5000; //speed of turning
 var myTransform = this.transform; //current transform data of this enemy
 
 function Update () {
  target = GameObject.FindWithTag("aggro").transform; //target the player
     myTransform = this.transform;
     //rotate to look at the player
     this.myTransform.rotation = Quaternion.Slerp(this.myTransform.rotation,
     Quaternion.LookRotation(target.position - this.myTransform.position), rotationSpeed*Time.deltaTime);
 
     //move towards the player
     this.myTransform.position += this.myTransform.forward * moveSpeed * Time.deltaTime;
 }
               Comment
              
 
               
              Answer by smirlianos · Mar 31, 2014 at 07:48 PM
add this:
 function Start() {
     moveSpeed = Random.Range(5,10); //the moving speed is chosen randomly between 5 and 10
 }
Worked perfectly. Thank you so much! Fully updated script below:
 var target = GameObject.Find("aggro").transform; //the enemy's target
 //var moveSpeed = Random.Range(0, 10); //move speed
 var moveSpeed : int = Random.Range(5,10);
 var rotationSpeed = 5000; //speed of turning
 var myTransform = this.transform; //current transform data of this enemy
 
 function Start() {
     moveSpeed = Random.Range(5,10); //the moving speed is chosen randomly between 5 and 10
 }
 
 function Update () {
  target = GameObject.FindWithTag("aggro").transform; //target the player
     myTransform = this.transform;
     //rotate to look at the player
     this.myTransform.rotation = Quaternion.Slerp(this.myTransform.rotation,
     Quaternion.LookRotation(target.position - this.myTransform.position), rotationSpeed*Time.deltaTime);
 
     //move towards the player
     this.myTransform.position += this.myTransform.forward * moveSpeed * Time.deltaTime;
 }
Answer by djfatsteve2 · Mar 31, 2014 at 07:49 PM
change var moveSpeed = 10; //move speed
 to
 
 
 var moveSpeed : int = Random.Range(5,10);
 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                