Пятница, 19 Апреля 2024, 23:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с условием
Проблема с условием
SiderДата: Четверг, 16 Июля 2015, 10:44 | Сообщение # 1
был не раз
Сейчас нет на сайте
На сцене есть 2 объекта player и enemyAI с тегами Player и Enemy.
При стрельбе возникает такой косяк - при рикошете или взрыве ракеты убивает самого же стреляющего. (дело в радиусе взрыва, но не в этом суть!)
Есть 2 скрипта для Игрока и Enemy, например для Игрока вешается - PlayerDamageManager. Тут считается урон только по игроку (по крайней мере я так хочу сделать)
Не получается сделать проверку - если я стрельнул, то не считаем HP -= damage
Делаю так в скрипте Игрока

Но тогда мне вообще никто не наносит урон. Ставлю if (player), то могу только я сам себе наносить урон - тут как бы всё ок с таким условием.
Когда назначаю

То ничего не происходит.
В void Start()
сделал так

В логе выводит:

Так в чем же проблема тогда?
Вот полный код из PlayerDamageManager
Доступно только для пользователей
Помогите пожалуйста разобраться!


Сообщение отредактировал Sider - Четверг, 16 Июля 2015, 11:34
MANMANAДата: Пятница, 17 Июля 2015, 02:14 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Цитата Sider ()
if (!player)
ты проверил, что если объекта с тегом "Player" не существует на сцене, то... {}
Цитата Sider ()
if (enemy)
ты проверил, что если объект с тегом "Enemy" существует на сцене, то... {}
тебе же нужно запоминать, кем была выпущена пуля или ракета, так что ли?
смотри откуда у тебя вызывается ApplyDamage(float damage) и передавай не один, а два параметра: ApplyDamage(damage, characterTypeSource), вторым параметром выступает тип персонажа, который выпустил пулю/ракету/гранату

перепиши public override bool ApplyDamage(float damage) как public override bool ApplyDamage(float damage, int characterType)
{
if(characterType == 1)//если пуля от персонажа
{
Debug.Log("Xaxaxa! CAM CEBR");
} else
{
HP -= damage;
Debug.Log("It's not a GODMODE!");}
...}


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Пятница, 17 Июля 2015, 02:15
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Проблема с условием
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг