0 / 0 / 0
Регистрация: 19.08.2021
Сообщений: 83
1

Враг не стреляет

04.09.2022, 14:47. Показов 343. Ответов 1

Author24 — интернет-сервис помощи студентам
У меня в игре есть несколько типов врагов: с пистолетом с дробовиком и с калашниковым. Первые два стреляют исправно, но враг с калашниковым почему-то не стреляет. Скрипт АБСОЛЮТНО такой же, как и у остальных, но именно он не стреляет. Помогите пожалуйста.

Код Врага(по идеи, он стреляет(даже в консоли отображается), но пуль не вылетает)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
using UnityEngine;
using UnityEngine.AI;
public class EnemyAgentGun : MonoBehaviour
{
    public GameObject player;
    public GameObject fighter;
    public Transform bullet;
    public int BulletForce = 5000;
    public AudioClip Fire;
    public float Dist;
    public float Radius = 50;
    public int HPenemy = 250;
    public float ShootTime = 0f;
    public float WaitingSeconds;
    public GameObject BloodParticle;
    public GameObject EnemyDead;
    public GameObject head;
    public GameObject body;
    public GameObject leg1;
    public GameObject leg2;
    public GameObject hands;
    public GameObject weapon;
    NavMeshAgent nav;
    public AudioSource Shoot;
    public AudioClip[] HurtSounds;
    public AudioClip DeathSound;
    public AudioSource au;
 
    void Start()
    {
        nav = GetComponent<NavMeshAgent>();
    }
 
    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "ShotgunDamage")
        {
            HPenemy = HPenemy - 35;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
        if (other.tag == "USIDamage")
        {
            HPenemy = HPenemy - 15;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
        if (other.tag == "DesertEagleDamage")
        {
            HPenemy = HPenemy - 20;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
        if (other.tag == "AxeDamage")
        {
            HPenemy = HPenemy - 25;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
        if (other.tag == "BONKDamage")
        {
            HPenemy = HPenemy - 10;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
        if (other.tag == "HandsDamage")
        {
            int hit = Random.Range(1, HurtSounds.Length);
            au.clip = HurtSounds[hit];
            au.PlayOneShot(au.clip);
            HPenemy = HPenemy - 7;
            nav.GetComponent<Animator>().SetTrigger("IsHit");
            Instantiate(BloodParticle, transform.position, Quaternion.identity);
        }
    }
    void Update()
    {
        Dist = Vector3.Distance(player.transform.position, transform.position);
        if (Dist > Radius)
        {
            nav.enabled = false;
        }
        if (Dist < Radius && Dist > 35)
        {
            nav.enabled = true;
            nav.SetDestination(player.transform.position);
            fighter.GetComponent<Animator>().SetBool("IsEnemyRunning1", true);
        }
        if (Dist <= 35)
        {
            ShootTime += Time.deltaTime;
        }
        if (Dist <= 35 && ShootTime >= WaitingSeconds)
        {
            nav.enabled = true;
            nav.SetDestination(player.transform.position);
            EnemyDesertEagleShoot();
        }
        if (Dist > 35)
        {
            fighter.GetComponent<Animator>().SetBool("IsEnemyRunning1", true);
        }
        if (Dist >= 50)
        {
            fighter.GetComponent<Animator>().SetBool("IsEnemyRunning1", false);
        }
        if (HPenemy <= 0)
        {
            GetComponent<AudioSource>().PlayOneShot(DeathSound);
            nav.enabled = false;
            Radius = 0f;
            GetComponent<CapsuleCollider>().enabled = false;
            GetComponent<EnemyAgentGun>().enabled = false;
            EnemyDead.SetActive(true);
            head.SetActive(false);
            body.SetActive(false);
            leg1.SetActive(false);
            leg2.SetActive(false);
            hands.SetActive(false);
            weapon.SetActive(false);
        }
    }
    public void EnemyDesertEagleShoot()
    {
        //fireBoom.SetActive(true);
        fighter.GetComponent<Animator>().SetBool("Shoot", true);
        Transform BulletInstance = (Transform)Instantiate(bullet, GameObject.Find("EnemyAgentSpawnDesertEagle").transform.position, Quaternion.identity);
        BulletInstance.GetComponent<Rigidbody>().AddForce(transform.forward * BulletForce);
        GetComponent<AudioSource>().PlayOneShot(Fire);
 
        ShootTime = 0f;
    }
}
Добавлено через 9 минут
Ладно, не надо я уже решил.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2022, 14:47
Ответы с готовыми решениями:

Help! Делаю программу для того что бы враг (enemy) ходил и когда запускаю программу враг проста падает. Unity2d
using UnityEngine; using System.Collections; public class WalkingEnemy : MonoBehaviour {...

Делаю программу для того чтобы враг (enemy) ходил и когда запускаю программу враг просто падает. Unity2d
using UnityEngine; using System.Collections; public class WalkingEnemy : MonoBehaviour {...

Зарядка стреляет
Здравствуйте. Полчаса назад зарядка ноута начала издавать звуки(периодичность примерно 1 раз в...

Стрелялка не стреляет!
Добрый день! В игре есть два типа врагов: aliens и monsters. Вы стреляете в aliens, используя...

1
Сын моей мамы
206 / 140 / 66
Регистрация: 09.05.2020
Сообщений: 733
04.09.2022, 15:04 2
позиция z не та была?
0
04.09.2022, 15:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2022, 15:04
Помогаю со студенческими работами здесь

Корабль стреляет в самолёт!
Всем привет помогите пожалуйста написать программу в которой корабль стреляет в сомалёт, после чего...

Стреляющий враг
Здравствуйте,подскажите как я могу написать скрипт для того чтобы враг стрелял при определенном...

Враг недремлет!
Вчера вечером решил добавить новый сайт в РСЯ. Пихнул его на модерацию через ЦОП. Пока жду...

Милый враг, с ДР!
Сегодня ДР у Милый Враг не довелось (пока) познакомится в реале, но знаком по форумным постам (их...

Персонаж стреляет только вправо
Здравствуйте, уважаемые участники форума. Я только начинающий, поэтому не судите строго. Я делаю...

Охотник стреляет в убегающую лису
Охотник стреляет в убегающую лису с расстояния 100 метров и попадает в неё с вероятностью 1/2.В...

Умный враг в Unity
Здравствуйте. Я делаю игру 2D игру на uniti я сделал врага который ходит и мне нужно чтобы он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru