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
}
}
}