|
28.12.2012, 23:35
|
#1
|
Оператор ЭВМ
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений (для 3 пользователей)
|
Отнятие хп по мультиплееру
вот у меня есть скриптик:
#pragma strict
function OnCollisionEnter(other:Collision)
{
if(networkView.isMine)
{
if(other.other.tag == "Player")
{
Network.Destroy(gameObject);
GameObject.FindGameObjectWithTag("Player").GetComponent(Health).health -= 1;
}
else
{
Network.Destroy(gameObject);
}
}
}
В нем реализовано отнятие хп, но когда я попадаю по противнику, то у=отнимаетс хп у меня, как сделать чтобы отнималось у игрока, по которому попал.
|
(Offline)
|
|
28.12.2012, 23:59
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отнятие хп по мультиплееру
убрать if(networkView.isMine)
?
|
(Offline)
|
|
29.12.2012, 00:09
|
#3
|
Оператор ЭВМ
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Попробую, завтра отпишусь.
|
(Offline)
|
|
29.12.2012, 00:14
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Вообще код странный.
Ты сначала удаляешь текущий объект, потом ищешь объект с тэгом Player, а если все игроки имеют тэг плеер?
По хорошему тебе надо other.other.GetComponent(Health).health -= 1;
|
(Offline)
|
|
29.12.2012, 00:32
|
#5
|
Оператор ЭВМ
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Отнятие хп по мультиплееру
а какое тогда условие состыковки? Не могли бы полностью написать?
|
(Offline)
|
|
29.12.2012, 07:39
|
#6
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Что такое "условие состыковки" и какой тип сетевой архитектуры ты используешь?
Если авторитарный сервер, то надо просто заменить
GameObject.FindGameObjectWithTag("Player").GetComponent(Health).health -= 1;
на
other.other.GetComponent(Health).health -= 1;
|
(Offline)
|
|
29.12.2012, 11:14
|
#7
|
Оператор ЭВМ
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Мастер сервер Unity3D использую
|
(Offline)
|
|
29.12.2012, 12:01
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отнятие хп по мультиплееру
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.12.2012, 14:06
|
#9
|
Оператор ЭВМ
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений (для 3 пользователей)
|
Ответ: Отнятие хп по мультиплееру
чет у меня как-то через раз отнимается хп, то есть я стреляю и при попадаии не всегда отнимается хп
#pragma strict
function OnCollisionEnter(other:Collision)
{
if(other.other.tag == "Player")
{
other.other.GetComponent(Health).health -= 1;
Network.Destroy(gameObject);
}
else
{
Network.Destroy(gameObject);
}
}
Скрипт висит на пули. Пожет что-то не ак настроил? Стоит Character Controller + скрипт свой движения
|
(Offline)
|
|
29.12.2012, 15:23
|
#10
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Может коллизия(столкновение) не всегда срабатывает? Если пуля - это объект движущийся с огромной скоростью, она же может просто пролететь через игрока, фактически не задев его.
|
(Offline)
|
|
12.01.2013, 17:42
|
#11
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый
__________________
|
(Offline)
|
|
12.01.2013, 18:19
|
#12
|
ПроЭктировщик
Регистрация: 31.12.2012
Сообщений: 165
Написано 5 полезных сообщений (для 7 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Сообщение от burovalex
Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый
|
это ты к чему? Я НА юниии
|
(Offline)
|
|
12.01.2013, 18:34
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Для быстрых объектов надо использовать CCD
|
(Offline)
|
|
12.01.2013, 19:04
|
#14
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Может конечно. если она за один тик проходит путь, больше чем сам объект, она до него не дотронется.
|
(Offline)
|
|
12.01.2013, 23:29
|
#15
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Отнятие хп по мультиплееру
Для быстрых объектов надо использовать CCD
|
CCD - Collision Continuous Dynamic
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:33.
|