Gun Script Js

i am making a gun form my little fps game but i am not very good at scripting
here is my script so far

#pragma strict
var bullet : Rigidbody;
var power : float = 1500;
var damage : float = 100;
var reloadtime : float = 4;
var magcount : int = 10;
var magbulletcount : int = 21;
var bulletcount : int = 0;


function Start () {

  bulletcount = magbulletcount;  

}

function Update () {

         if (Input.GetButtonDown("Fire1")&& bulletcount > 0){
             var instance: Rigidbody = Instantiate(bullet, transform.position, transform.rotation) as Rigidbody;
             var fwd: Vector3 = transform.TransformDirection(Vector3.forward);
             instance.AddForce(fwd * power);
             bulletcount --;
                       
         
         }

}

as you can see i have it shooting the bullet and when it has shot the number of bullets in the mag it stops firing but instead of it just stopping firing i want it to wait the reload time and take away 1 from the mag count. I dont know how to do this so please help. + any tutorials?

You could wait for the reload time, then reload bulletcount and decrease magcount. This can be done in Update like this:

var bullet : Rigidbody;
var power : float = 1500;
var damage : float = 100;
var reloadtime : float = 4; // this reload time is too long!
var magcount : int = 10;
var magbulletcount : int = 21;
var bulletcount : int = 0;

private var reloadTimer: float = 0.0; // internal reload timer

function Start () {
  bulletcount = magbulletcount;  
}

function Update(){
  if (reloadTimer > 0){ // if reloadTimer active...
    reloadTimer -= Time.deltaTime; // decrement it
    if (reloadTimer <= 0){ // if reloadTime ended...
      bulletcount = magbulletcount; // load a full clip...
      magcount--; // and decrement clip count
    }
  } 
  else // only shoot when reloadTimer not active
  if (Input.GetButtonDown("Fire1")&& bulletcount > 0){
    var instance: Rigidbody = Instantiate(bullet, transform.position, transform.rotation) as Rigidbody;
    var fwd: Vector3 = transform.TransformDirection(Vector3.forward);
    instance.AddForce(fwd * power);
    bulletcount --;
    if (bulletcount <= 0 && magcount > 0){
      // if run out of ammo but still have clips...
      reloadTimer = reloadtime; // activate reloadTimer
      // you can play reload sound or animation here
    }
  }
}

Not tested …

#pragma strict

var bullet : Rigidbody;
var power : float = 1500;
var damage : float = 100;
var reloadtime : float = 4;
var magcount : int = 10;
var magbulletcount : int = 21;
var bulletcount : int = 0;

private var reloading : boolean = false;

function Start () {

  bulletcount = magbulletcount;  

}

function Update () {

if(!reload && magcount > 0){
	fireWeapon();
if(magcount == 0){
	print("Out of magazines .. go find some more");
		}
	}
}

function fireWeapon(){

if (Input.GetButtonDown("Fire1") && bulletcount > 0){
	var instance: Rigidbody = Instantiate(bullet, transform.position, transform.rotation) as Rigidbody;
	var fwd: Vector3 = transform.TransformDirection(Vector3.forward);
	instance.AddForce(fwd * power);
	bulletcount --;
if (bulletcount == 0){
	reload();
		}
	}
}

function reload(){

	reloading = true;
	magcount --;
	print("reloading weapon " + magcount + " Magazines left");
	yield WaitForSeconds(4.0); // wait for 4 seconds while the gun reloads
	reloading = false;
	bulletcount = magbulletcount;
}

i have a question im using aldo’s method so how would i display the # of clips left on screen