Quantcast
Channel: Questions in topic: "drawray"
Viewing all articles
Browse latest Browse all 92

RayCast "blueline" qoes down

$
0
0
Hallo. I want to create FPS. I was finding gun shoot script for 2 days. I found narutoisgreat1234's Raycast shoot script. Here is it with my small modifications. :`
     var Range : float = 1000;

     var Force : float = 1000;

     var Clips : int = 20;

     var BulletPerClip : int = 60;

     var RelaodTime : float = 3.3;

        var Damage : int = 10;

     var MoveSpeed: float = 1;

     var BulletsLeft : int = 0;

     var ShootTimer : float = 0;



     var ShootCooler : float = 0.5;

     public var ShootAudio : AudioClip;

     public var ReloadAudio : AudioClip;

     public var muzzleFlash : ParticleEmitter;

     public var hitParticles : ParticleEmitter;

     public var muzzleFlashTimer : float = 0;

     public var KeyCooler : float = 0.5;

        public var KeyTimer : float = 0;

     public var muzzleFlashCooler : float = 0.5;

     public var Lights1 : GameObject;

     public var Lights2 : GameObject ;

     public var Lights3 : GameObject;


    function Start(){

     BulletsLeft = BulletPerClip;


     muzzleFlash.emit = false;


     DefaultPos = transform.localPosition;

     hitParticles.emit = false;


    }




    function Update () {


    if( KeyTimer > 0){

         KeyTimer -= Time.deltaTime;

    }

    if( KeyTimer < 0){

         KeyTimer= 0;

    }


    if( muzzleFlashTimer > 0){

         muzzleFlashTimer -= Time.deltaTime;
      MuzzleFlash();
    }


    if( muzzleFlashTimer < 0){

         muzzleFlashTimer = 0;


    }

    if( ShootTimer > 0){

                 ShootTimer -= Time.deltaTime;
       }

       if(ShootTimer < 0){

                       ShootTimer = 0;

                      }

                 if( KeyTimer == 0){
     if(Input.GetMouseButton(0) && BulletsLeft ){

     if( ShootTimer  == 0){

     PlayShootAudio();


                    RayShoot();



                    ShootTimer  = ShootCooler;
                    KeyTimer = KeyCooler;

                    }

     if( muzzleFlashTimer == 0){

                      muzzleFlashTimer = muzzleFlashCooler;
                            MuzzleFlash ();
    }
    }


    }
    }

    function MuzzleFlash (){

    if( muzzleFlashTimer > 0){


            muzzleFlash.emit = false;

               Lights1.active = false;
               Lights2.active = false;
               Lights3.active = false;



    }
    if( muzzleFlashTimer == muzzleFlashCooler){

          muzzleFlash.transform.localRotation = Quaternion.AngleAxis(Random.value * 360 * 2000000, Vector3.forward);

               muzzleFlash.emit = true;

                Lights1.active = true;
               Lights2.active = true;
               Lights3.active = true;
    }
    }


    function RayShoot (){



       //GameObject.Find("m1911pistoleReloadandShooting").animation.Play("Shoot");  //(if your player has animations then remove the // infront of the GameObject.Find and then
            //(replace your objetcs name there. and then the animation name)
     var hit : RaycastHit;


     var direction : Vector3  = transform.TransformDirection( Vector3.forward);

     Debug.DrawRay(transform.position , direction * Range , Color.blue);

     if(Physics.Raycast(transform.position , direction , hit, Range)){
     var hitRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);

     if(hit.rigidbody){

     if( hitParticles){

     hitParticles.transform.position = hit.point;

     hitParticles.transform.localRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
     hitParticles.Emit();


         hit.rigidbody.AddForceAtPosition( direction * Force , hit.point);
         hit.collider.SendMessageUpwards("ApplyDamage" , Damage , SendMessageOptions.DontRequireReceiver);
     }
     }
     }





     BulletsLeft --;


     if(BulletsLeft < 0){

     BulletsLeft = 0;

     }

     if( BulletsLeft == 0 ){

     Reload();


                    }

     }



    function Reload (){

     PlayReloadAudio();
     yield WaitForSeconds(0.2);

     //GameObject.Find("m1911pistoleReloadandShooting").animation.Play("Reload"); //(if your player has animations then remove the // infront of the GameObject.Find and then
                  //(replace your objetcs name there. and then the animation name)
         yield WaitForSeconds( RelaodTime);

          if(Clips > 0){

                    BulletsLeft = BulletPerClip;

                        Clips -= 1;

    }
    }


    function PlayShootAudio(){

     audio.PlayOneShot( ShootAudio);

    }

    function PlayReloadAudio(){

      audio.PlayOneShot( ReloadAudio);


    }
` Now what's my problem. When i shoot, drawray (debug blue line) goes down and i can't interact with others things because drawray is down. Thanks in advance !

Viewing all articles
Browse latest Browse all 92

Trending Articles