So i’m not the most experienced coder, but i try. I recently started a zombie FPS, i’ve got all the A.I. worked out and everything, but my one issue is I can shoot while reloading. I dont know how to add delay and i was wondering if anyone could tell me how/where to put in my script. Here it is:
#pragma strict
var Range : float = 1000;
var Force : float = 1000;
var hitMark : GameObject;
var texta : GUITexture;
var four : Texture;
var three : Texture;
var two : Texture;
var one : Texture;
var zero : Texture;
var five : Texture;
var bullets : int = 5;
function Start () {
}
function Update () {
}
if(Input.GetKeyDown(KeyCode.R)){
if(bullets == 5){ texta.guiTexture.texture = five; }
else if(bullets == 0){ GameObject.Find("Gun").animation.Play("reload"); bullets = 5; }
else if(bullets == 4){ texta.guiTexture.texture = four; }
else if(bullets == 3){ texta.guiTexture.texture = three; }
else if(bullets == 2){ texta.guiTexture.texture = two; }
else if(bullets == 1){ texta.guiTexture.texture = one; }
var hit : RaycastHit;
var direction : Vector3 = transform.TransformDirection(Vector3.forward);
Debug.DrawRay(transform.position , direction * Range , Color.blue);
if(Input.GetMouseButtonDown(0)){
bullets--;
if(Physics.Raycast(transform.position , direction , hit, Range)){
var hitRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
if(hit.collider.gameObject.tag == "zombie"){
//hit.rigidbody.AddForceAtPosition( direction * 100 , hit.point);
//hit.collider.gameObject.animation.Play("die");
Instantiate(hitMark);
hit.collider.gameObject.SendMessage("ApplyDamage", 45);
}
}
}
}