x


delay question ??

i am using FPS sentry Gun & rocket Luncher script my question is how can i put delay between 2 bullets

like fire 1 bullet & stop 3sec & then fire 2 bullet my rocket launcher script

var projectile : Rigidbody; var initialSpeed = 20.0; var reloadTime = 0.5; var ammoCount = 20; private var lastShot = -10.0; private var nextFireTime : float; var fireDelay : float;

 function Fire() {
      if(Time.time > nextFireTime){
         // create a new projectile, use the same position and rotation as the Launcher.
         var instantiatedProjectile : Rigidbody = Instantiate (projectile, transform.position, transform.rotation);

         // Give it an initial forward velocity. The direction is along the z-axis of the missile launcher's transform.
         instantiatedProjectile.velocity = transform.TransformDirection(Vector3 (0, 0, initialSpeed));

         // Ignore collisions between the missile and the character controller
         Physics.IgnoreCollision(instantiatedProjectile.collider, transform.root.collider);

         lastShot = Time.time;
         //ammoCount--;
          nextFireTime = Time.time + fireDelay;
      }
 }

thanks

more ▼

asked Apr 01, 2010 at 07:07 PM

Apexuni gravatar image

Apexuni
72 38 32 38

(comments are locked)
10|3000 characters needed characters left

2 answers: sort voted first

What you can do is every time you fire define the "nextFireTime" as the current time + your desired delay, and then only fire after that time.

private var nextFireTime : float; var fireDelay : float;

Function Fire() { if(Time.time > nextFireTime){ //fire the bullet here //now set the nextFireTime nextFireTime = Time.time + fireDelay; } }

This would make the bullet.rocket only able to fire after the delay. You could also do this, which would call the fire function automatically with the delay:

Function Update() {
     if(Time.time > nextFireTime){
     Fire();
     //now set the nextFireTime
     nextFireTime = Time.time + fireDelay;
     }
}
more ▼

answered Apr 01, 2010 at 08:38 PM

Jason_DB gravatar image

Jason_DB
2.1k 7 17 45

i try tp put this script but its not working i upload my rocket launcher script in my question check my Que. thanks for helping me

Apr 02, 2010 at 07:10 AM Apexuni

i don't know i'm right or wrong

Apr 02, 2010 at 07:22 AM Apexuni
(comments are locked)
10|3000 characters needed characters left

i got it in a Sentry Gun script just add this

private var nextFireTime : float;
var fireDelay : float;

& update section

Function Update() {
     // your old script
     if(Time.time > nextFireTime){
    SendMessage ("Fire");
    nextFireTime = Time.time + fireDelay;
     }
}

more ▼

answered Apr 02, 2010 at 08:41 AM

Apexuni gravatar image

Apexuni
72 38 32 38

@ DastardlyBanana thaks buddy

Apr 02, 2010 at 08:42 AM Apexuni
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x9241
x289
x99

asked: Apr 01, 2010 at 07:07 PM

Seen: 2112 times

Last Updated: Apr 02, 2010 at 08:13 AM