Here is my gun script
var prefabBullet:Transform;
var shootForce:float;
function Update()
{
if(Input.GetButtonDown("Fire1"))
{
var instanceBullet = Instantiate(prefabBullet, transform.position, Quaternion.identity);
instanceBullet.rigidbody.AddForce(transform.forward * shootForce);
}
}
How can i edit this script so it can only shoot 8 times. Then you have to press r to make it be able to shoot again?
To make it so you can only shoot eight times add a variable like ammoCount and then when you go to fire, check if your ammoCount is greater than zero, and if you do shoot, subtract one from the ammoCount. Then when you press R, just set ammoCount equal to eight again.
var prefabBullet:Transform;
var shootForce:float;
var shots : int = 0;
var maxShots : int = 8;
var shootSound : AudioClip;
function Update()
{
if(Input.GetButtonDown(“Fire1”) && shots < maxShots)
{
var instanceBullet = Instantiate(prefabBullet, transform.position, Quaternion.identity);
instanceBullet.rigidbody.AddForce(transform.forward * shootForce);
audio.PlayOneShot(shootSound);
shots++;
}
else if (shots >= maxShots && Input.GetKeyDown(KeyCode.R))
{
shots = 0;
}
}