- Home /
 
 
               Question by 
               MILLIMEDIA · Nov 01, 2019 at 06:04 AM · 
                fpsgunfire  
              
 
              **[SOLVED]** Gun not firing after certain amount of shots
for some reason my gun script stops firing bullets after a certain amount of shots. This amount seems to be fixed but I don't really count becuase it is a fairly large number. Apart from that it all works fine. Here is the gun script:
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class Gun : MonoBehaviour
 {
     public Camera Cam;
     public float range = Mathf.Infinity;
     public GameObject HitParticles;
     public GameObject Flash;
     public float TotalPause;
     public float Lighttime;
     public bool shooting;
     public AudioSource Audio;
     public AudioClip Shots;
     public float Zoom;
     private float NormalFOV;
     public int Damage;
     public Animator animator;
     public bool scope;
     public GameObject Graphic;
     public float Cooldown;
     public Slider Energy;
     public int PowerUsage;
     // Start is called before the first frame update
     void OnEnable()
     {
         shooting = false;
         NormalFOV = Cam.fieldOfView;
     }
 
     // Update is called once per frame
     void Update()
     {
         Debug.Log("Update");
         if (Input.GetButton("Fire1") && !shooting && PowerUsage <= Energy.value)
         {
             Audio.clip = Shots;
             Audio.Play();
             Energy.value -= PowerUsage;
             StartCoroutine(Shoot());
         }
         if (Input.GetButtonDown("Fire2"))
         {
             StartCoroutine(ZoomIn(0.5403233f));
         }
 
 
 
 
         if(Input.GetButtonUp("Fire2"))
         {
             animator.SetBool("isZoomed", false);
             Graphic.SetActive(true);
             Cam.fieldOfView = NormalFOV;
         }
     }
     IEnumerator Shoot()
     {
         Debug.Log("Assert Dominance");
         RaycastHit hit;
         shooting = true;
         if (Physics.Raycast(Cam.transform.position, Cam.transform.forward, out hit, range))
         {
             if (hit.transform.CompareTag("Enemy"))
             {
                 hit.transform.gameObject.GetComponent<Enemy>().Kill(Damage);
             }
             Debug.Log("Shots Fired");
             Instantiate(HitParticles, hit.point, Quaternion.identity);
         }
         Flash.SetActive(true);
         yield return new WaitForSeconds(Lighttime);
         Flash.SetActive(false);
         yield return new WaitForSeconds(TotalPause - Lighttime);
         shooting = false;
         this.enabled = false;
         this.enabled = true;
 
     }
 
     IEnumerator ZoomIn(float ZoomTime)
     {
         animator.SetBool("isZoomed", true);
         yield return new WaitForSeconds(ZoomTime);
         if (scope)
         {
             Graphic.SetActive(false);
         }
 
         Cam.fieldOfView = Zoom;
     }
 
     
 }
 
              
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by MILLIMEDIA · Nov 02, 2019 at 09:43 AM
Fixed it! It was just stupid me forgetting I did something and had nothing to do with that script.
facepalm
Your answer
 
             Follow this Question
Related Questions
FPS - Looking Down The Barrel 2 Answers
Automatic gun shoot sound 2 Answers
replacing guns and knife 0 Answers
Gun Shooting bug 2 Answers
Bullet only goes in a single way 0 Answers