void ShootLaserFromTargetPositionL(Vector3 targetPosition, Vector3 direction, float length) { Ray ray = new Ray(targetPosition, direction); RaycastHit raycastHit; Vector3 endPosition = targetPosition + (length * direction); if (grabAction1L.GetStateDown(handTypeL)) { Sound.PlayOneShot(soundReload); if (Time.time - aowailop2 >= ti) { if (AmmoL > 0) { float seconds = (float)900 / 9000f; vibra.Execute(0, seconds, 20f / seconds, 20, handTypeL); laserLineRendererL.enabled = true; Sound.PlayOneShot(soundShoot); particleL.Emit(1); if (Physics.Raycast(ray, out raycastHit, length)) { if (raycastHit.transform.tag == "Enemy") { if (raycastHit.transform.name == "head") { EnemyShooter target = raycastHit.transform.GetComponentInChildren <EnemyShooter>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(100); print("001"); } } else { EnemyShooter target = raycastHit.transform.GetComponent <EnemyShooter>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } } if (raycastHit.transform.name == "Militarytarget") { raycastHit.rigidbody.AddForce(-raycastHit.normal * 50f); } if (raycastHit.transform.tag == "headAi") { if (raycastHit.transform.name == "head") { ScriptSitShoot target = raycastHit.transform.GetComponentInChildren <ScriptSitShoot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(100); print("001"); } } else { ScriptSitShoot target = raycastHit.transform.GetComponent <ScriptSitShoot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } } if (raycastHit.transform.tag == "Bomb") { ScriptBome target = raycastHit.transform.GetComponent <ScriptBome>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "Bossfinal") { ScriptHeadShot target = raycastHit.transform.GetComponent <ScriptHeadShot>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(10); } } if (raycastHit.transform.tag == "StartGame") { OpenDoor target = raycastHit.transform.GetComponent <OpenDoor>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "lobot") { EnemyShooter2 target = raycastHit.transform.GetComponent <EnemyShooter2>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(blood, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "newgame") { SceneManager.LoadScene(0); } if (raycastHit.transform.tag == "hp") { reHp target = raycastHit.transform.GetComponent <reHp>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Sound.PlayOneShot(soundReHp, 30f); Destroy(particleGun2, 2f); ScriptHPStam.currentHP += 100; target.TakeDamage(500); } } if (raycastHit.transform.tag == "Bullet") { EnemyBullet target = raycastHit.transform.GetComponent <EnemyBullet>(); if (target != null) { Quaternion rot = Quaternion.FromToRotation(Vector3.forward, raycastHit.normal); GameObject particleGun2 = Instantiate(particleGun, raycastHit.point, rot); Destroy(particleGun2, 2f); target.TakeDamage(ShootDamage); } } if (raycastHit.transform.tag == "StartGame") { Sound.PlayOneShot(soundReHp, 30f); StartCoroutine(stargame()); } AmmoL--; } else { print("Empty"); } endPosition = raycastHit.point; } aowailop2 = Time.time; } laserLineRendererL.SetPosition(0, targetPosition); laserLineRendererL.SetPosition(1, endPosition); } }