Hello all, this is my ammo script attached to the gun:
var Bullet : Rigidbody; //The bullet prefab is a Rigid body
var Spawn : Transform; //Where the bullet shoots from
var BulletSpeed : float = 1000; //How fast the bullet goes
var ReloadTime : float = 2; //How long it takes to reload
var AmmoInMag : float = 30; //How much ammo the gun carries
var IsFullAuto = true;
static var AmmoLeft : float;
private var CanFire = true;
var FireRate = 0.1;
function Start () {
AmmoLeft = AmmoInMag;
}
function Update () {
if(IsFullAuto == false){
if(Input.GetButtonDown("Fire1")){
if(AmmoLeft > 0){
Fire();
}
}
}
else{
if(Input.GetButton("Fire1")){
if(AmmoLeft > 0){
Fire();
}
}
}
if(AmmoLeft == 0)
{
Reload();
}
if(AmmoLeft < 0){
AmmoLeft = 0;
}
}
function Fire(){
if(CanFire == true){
var bullet1 : Rigidbody = Instantiate(Bullet,Spawn.position,Spawn.rotation);
bullet1.AddForce(bullet1.transform.right *BulletSpeed);
CanFire = false;
yield WaitForSeconds(FireRate);
CanFire = true;
AmmoLeft -= 1;
audio.Play();
}
}
function Reload(){
CanFire = false;
yield WaitForSeconds(ReloadTime);
CanFire = true;
}
I can't figure out why, but all works until it has to reload - the gun will fire but when the AmmoInMag runs out, it doesn't seem to reload.. how can I fix this?
Help is appreciated + thanks in advance.
↧