Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Player gameObject has to collide to do something, please help

Discussion in 'Scripting' started by Dari, Oct 4, 2013.

  1. Dari

    Dari

    Joined:
    Mar 25, 2013
    Posts:
    130
    I have script which doesn't work as it's supposed to, so please help! :)
    I want to set the player in variable so if player collides with some other object, something happens... Player object must be set in variable.

    Current script:

    Code (csharp):
    1. var bullet : Transform;
    2.     var spawn : Transform;
    3.     var speed : float = 500.0f;
    4.     var ammo : float = 1.0f;
    5.     var reloadTime : float = 0.7f;
    6.     var shootSound : AudioClip;
    7.     var player : Transform;
    8.    
    9.     function Update () {
    10.         if (networkView.isMine) {
    11.             if (Input.GetButton("Fire1")) {
    12.             if (ammo > 0) {
    13.             networkView.RPC("Shoot", RPCMode.All);
    14.                 }
    15.             }
    16.         }
    17.     }
    18.    
    19.     function Reload() {
    20.         if (ammo <= 0) {
    21.         yield WaitForSeconds(reloadTime);
    22.         ammo = 1;
    23.         }
    24.     }
    25.    
    26.     function OnCollisionEnter (other : Collision) { //how to set that only player object if collides something happens?
    27.         if (other.gameObject.tag == "MachineGun") {
    28.         reloadTime = 0.1;
    29.         Destroy(other.gameObject);
    30.         }
    31.     }
    32.    
    33.     @RPC
    34.     function Shoot()
    35.     {
    36.         ammo =- 1;
    37.         Reload();
    38.         var shoot = Instantiate(bullet, spawn.position, spawn.rotation);
    39.             shoot.rigidbody.AddForce(transform.forward * speed);
    40.             AudioSource.PlayClipAtPoint(shootSound, transform.position);
    41.             animation.Play("ShootAnim");
    42.     }
    Please help! Thanks! :D