Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Unity > Сеть

Ответ
 
Опции темы
Старый 28.12.2012, 19:35   #1
maffo
Оператор ЭВМ
 
Аватар для maffo
 
Регистрация: 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);
		}
	}
}
В нем реализовано отнятие хп, но когда я попадаю по противнику, то у=отнимаетс хп у меня, как сделать чтобы отнималось у игрока, по которому попал.
__________________
Мои проекты: Roll the ball, Rescue Operation.
(Offline)
 
Ответить с цитированием
Старый 28.12.2012, 19:59   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Отнятие хп по мультиплееру

убрать if(networkView.isMine)
?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 28.12.2012, 20:09   #3
maffo
Оператор ЭВМ
 
Аватар для maffo
 
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Отнятие хп по мультиплееру

Попробую, завтра отпишусь.
__________________
Мои проекты: Roll the ball, Rescue Operation.
(Offline)
 
Ответить с цитированием
Старый 28.12.2012, 20:14   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Отнятие хп по мультиплееру

Вообще код странный.
Ты сначала удаляешь текущий объект, потом ищешь объект с тэгом Player, а если все игроки имеют тэг плеер?

По хорошему тебе надо other.other.GetComponent(Health).health -= 1;
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 28.12.2012, 20:32   #5
maffo
Оператор ЭВМ
 
Аватар для maffo
 
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Отнятие хп по мультиплееру

а какое тогда условие состыковки? Не могли бы полностью написать?
__________________
Мои проекты: Roll the ball, Rescue Operation.
(Offline)
 
Ответить с цитированием
Старый 29.12.2012, 03:39   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Отнятие хп по мультиплееру

Что такое "условие состыковки" и какой тип сетевой архитектуры ты используешь?

Если авторитарный сервер, то надо просто заменить
GameObject.FindGameObjectWithTag("Player").GetComponent(Health).health -= 1
на
other.other.GetComponent(Health).health -= 1
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 29.12.2012, 07:14   #7
maffo
Оператор ЭВМ
 
Аватар для maffo
 
Регистрация: 24.12.2012
Адрес: Россия - Москва
Сообщений: 21
Написано 2 полезных сообщений
(для 3 пользователей)
Ответ: Отнятие хп по мультиплееру

Мастер сервер Unity3D использую
__________________
Мои проекты: Roll the ball, Rescue Operation.
(Offline)
 
Ответить с цитированием
Старый 29.12.2012, 08:01   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Отнятие хп по мультиплееру

Раз то, про что я говорю не понятно - почитай, будет интересно:

Оригинал http://docs.unity3d.ru/Tutorials/M2H...l_Original.pdf
перевод http://docs.unity3d.ru/Tutorials/M2H..._Translate.pdf
дополнительные файлы http://docs.unity3d.ru/Tutorials/M2H...rial_Files.zip

Взято отсюда: http://unity3d.ru/distribution/viewt...hp?f=11&t=2220
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
maffo (29.12.2012)
Старый 29.12.2012, 10:06   #9
maffo
Оператор ЭВМ
 
Аватар для maffo
 
Регистрация: 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 + скрипт свой движения
__________________
Мои проекты: Roll the ball, Rescue Operation.
(Offline)
 
Ответить с цитированием
Старый 29.12.2012, 11:23   #10
Nikich
Бывалый
 
Регистрация: 21.12.2011
Сообщений: 843
Написано 149 полезных сообщений
(для 269 пользователей)
Ответ: Отнятие хп по мультиплееру

Может коллизия(столкновение) не всегда срабатывает? Если пуля - это объект движущийся с огромной скоростью, она же может просто пролететь через игрока, фактически не задев его.
(Offline)
 
Ответить с цитированием
Старый 12.01.2013, 13:42   #11
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 36 полезных сообщений
(для 59 пользователей)
Ответ: Отнятие хп по мультиплееру

Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый
__________________
(Offline)
 
Ответить с цитированием
Старый 12.01.2013, 14:19   #12
mepihin
ПроЭктировщик
 
Регистрация: 30.12.2012
Сообщений: 165
Написано 5 полезных сообщений
(для 7 пользователей)
Ответ: Отнятие хп по мультиплееру

Сообщение от burovalex Посмотреть сообщение
Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый
это ты к чему? Я НА юниии
(Offline)
 
Ответить с цитированием
Старый 12.01.2013, 14:34   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,496
Написано 2,953 полезных сообщений
(для 5,217 пользователей)
Ответ: Отнятие хп по мультиплееру

Для быстрых объектов надо использовать CCD
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 12.01.2013, 15:04   #14
Nikich
Бывалый
 
Регистрация: 21.12.2011
Сообщений: 843
Написано 149 полезных сообщений
(для 269 пользователей)
Ответ: Отнятие хп по мультиплееру

Может конечно. если она за один тик проходит путь, больше чем сам объект, она до него не дотронется.
(Offline)
 
Ответить с цитированием
Старый 12.01.2013, 19:29   #15
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Мурманск
Сообщений: 276
Написано 100 полезных сообщений
(для 174 пользователей)
Ответ: Отнятие хп по мультиплееру

Для быстрых объектов надо использовать CCD
CCD - Collision Continuous Dynamic
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 06:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com