- Home /
problem on switching gun (a var don't turn true)
The second script Allows you to change 3 different weapons, the first allows the operation of one of the three weapons (the shotgun). My Problem Is That if the var shot (sorry, I use Italian names for var because I'm Italian), do not become true before I change my weapon, then when I get back on the weapon "Shotgun", I can not shoot because the variable is false. My question is: How do I return the var true all the time I select the weapon "Shotgun"? Thanks
// prefab that i want to shot
var prototipoProiettile : Transform;
// energy that iI want to apllicate to the prefab that i create
var energia : int;
//if the "bullet" is or isen't ready for shoot
var colpo : boolean = true;
//recharg sound
var otherclip : AudioClip;
//shoot sound
var audio1 : AudioClip;
//The Shotgun Ammo
var munizioni : int = 16;
var munizioniMax : int = 16;
// Ammo Display
var ammodisplay : GUIText;
function Update () {
ammodisplay.text = "Ammo= "+ munizioni;
//If i clic the mouse, the "bullet" is "ready for shoot" and I got enaugh ammo
if(Input.GetMouseButton(0)){
if(colpo == true && munizioni > 0){
spara();
}
}
}
function spara (){
var istanza : Transform;
//create the "bullet" using the prefab
istanza = Instantiate(prototipoProiettile, transform.position, transform.rotation);
//Add the "speed" to the "bullet"
istanza.rigidbody.AddForce(istanza.transform.forward * energia);
//Play the "shoot" sound
audio.Play();
//The "bullet" now isen't ready for shoot(so i can't shoot)
colpo = false;
munizioni--;
yield WaitForSeconds(1.4);
audio.clip = otherclip;
//Play the reloding sound
audio.Play();
yield WaitForSeconds(audio.clip.length);
//Now the bullet is ready for shoot(so i can shoot)
colpo = true;
audio.clip = audio1;
}
//This is for "pick up" the ammo on the ground
function OnTriggerEnter(other : Collider) {
if (other.CompareTag("ammoshotgun")) {
munizioni = munizioniMax;
Destroy(other.gameObject);
}
}
the wepons switch script:
public var pistola : GameObject;
public var shotgun : GameObject;
public var mitra : GameObject;
function Update () {
//Select Pistols
if(Input.GetKeyDown("1")) {
pistola.SetActive(true);
shotgun.SetActive(false);
mitra.SetActive(false);
}
//select shotgun
if(Input.GetKeyDown("2")) {
pistola.SetActive(false);
shotgun.SetActive(true);
mitra.SetActive(false);
}
//Select Uzi
if(Input.GetKeyDown("3")) {
pistola.SetActive(false);
shotgun.SetActive(false);
mitra.SetActive(true);
}
}
Thanks! (and sorry if my english isen't very good :/, because i'm italian)
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613104228im_/https://answers.unity.com/themes/thub/images/avi.jpg)