- Home /
Realistic reloading system
Hello, I ask you a somewhat moderate question, I have designed a script of a gun that is spent bullets and all, The issue is that I assigned that when pressing the R to the "Clip Ammo" will be given a value by more than the TOTAL amount of bullets is 1, that is to say that ammunition is exceeded and can recharge 12 (recharge value) equally, Someone knows how to make when pressing the R, the "Total Ammo" will reduce the number of bullets that Was spent on the "ClipAmmo"? (and that the Total Ammo when reaching 0 can not be shot). Thank you!. The Script:
#pragma strict
var Bullet : Rigidbody; //Municion.
var BulletSpeed : float; //Velocidad del disparo.
var ClipAmmo : int; //Cantidad de municion en el cargador.
var TotalAmmo : int; //Cantidad de balas totales del jugador.
var ReloadAmmo : int; //Cantidad de balas que se recargan.
var CanShoot : boolean = true; //Habilidad de disparar.
var ShootTime : float;
function Start ()
{
}
function Update ()
{
if(Input.GetButtonDown("Fire1")){
{
if (ClipAmmo > 0) //Solo puedes disparar cuando tienes MAS de 0 de municion.
{
CanShoot = false;
var Bullet : Rigidbody = Instantiate(Bullet, transform.position, transform.rotation);
Bullet.velocity = transform.forward * BulletSpeed;
yield WaitForSeconds(ShootTime); //Tiempo de espera antes de cada disparo.
CanShoot = true;
TotalAmmo--;
ClipAmmo--;
}
else
{
}
}
}
}
function LateUpdate ()
{
if(CanShoot)
{
Update();
if(TotalAmmo >0){
if(Input.GetKeyDown(KeyCode.R)){
ClipAmmo = (ReloadAmmo);
CanShoot = true;
}
}
}
}
Answer by SzalonyNiemiec · Dec 13, 2018 at 12:42 AM
does this solve your problem?
if(ReloadAmmo > TotalAmmo){
ClipAmmo = TotalAmmo;
}
else{
ClipAmmo = ReloadAmmo;
}
Your answer
Follow this Question
Related Questions
separate script to reload. 0 Answers
Separate script from reload? 0 Answers
Its not playing the Audio? 2 Answers
Can someone help me fix my Javascript for Flickering Light? 6 Answers
What's Wrong? 2 Problems 1 Answer