forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Сеть (http://forum.boolean.name/forumdisplay.php?f=169)
-   -   Отнятие хп по мультиплееру (http://forum.boolean.name/showthread.php?t=17690)

maffo 28.12.2012 23:35

Отнятие хп по мультиплееру
 
вот у меня есть скриптик:
Код:

#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);
                }
        }
}

В нем реализовано отнятие хп, но когда я попадаю по противнику, то у=отнимаетс хп у меня, как сделать чтобы отнималось у игрока, по которому попал.

pax 28.12.2012 23:59

Ответ: Отнятие хп по мультиплееру
 
убрать if(networkView.isMine)
?

maffo 29.12.2012 00:09

Ответ: Отнятие хп по мультиплееру
 
Попробую, завтра отпишусь.

pax 29.12.2012 00:14

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

По хорошему тебе надо other.other.GetComponent(Health).health -= 1;

maffo 29.12.2012 00:32

Ответ: Отнятие хп по мультиплееру
 
а какое тогда условие состыковки? Не могли бы полностью написать?

pax 29.12.2012 07:39

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

Если авторитарный сервер, то надо просто заменить
PHP код:

GameObject.FindGameObjectWithTag("Player").GetComponent(Health).health -= 1

на
PHP код:

other.other.GetComponent(Health).health -= 1


maffo 29.12.2012 11:14

Ответ: Отнятие хп по мультиплееру
 
Мастер сервер Unity3D использую

pax 29.12.2012 12:01

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

Оригинал 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

maffo 29.12.2012 14:06

Ответ: Отнятие хп по мультиплееру
 
чет у меня как-то через раз отнимается хп, то есть я стреляю и при попадаии не всегда отнимается хп
Код:

#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 + скрипт свой движения

Nikich 29.12.2012 15:23

Ответ: Отнятие хп по мультиплееру
 
Может коллизия(столкновение) не всегда срабатывает? Если пуля - это объект движущийся с огромной скоростью, она же может просто пролететь через игрока, фактически не задев его.

burovalex 12.01.2013 17:42

Ответ: Отнятие хп по мультиплееру
 
Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый

mepihin 12.01.2013 18:19

Ответ: Отнятие хп по мультиплееру
 
Цитата:

Сообщение от burovalex (Сообщение 249214)
Фактически, не может )
На блитце тема поднималась, не может, но блитц то пипец старый

это ты к чему? Я НА юниии

pax 12.01.2013 18:34

Ответ: Отнятие хп по мультиплееру
 
Для быстрых объектов надо использовать CCD

Nikich 12.01.2013 19:04

Ответ: Отнятие хп по мультиплееру
 
Может конечно. если она за один тик проходит путь, больше чем сам объект, она до него не дотронется.

seaman 12.01.2013 23:29

Ответ: Отнятие хп по мультиплееру
 
Цитата:

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


Часовой пояс GMT +4, время: 07:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot