Как создать матчмакинг как в танках через photon cloud?

Как создать матчмакинг как в танках через photon cloud?

Сообщение jimmm 04 июл 2017, 00:28

Как можно сделать матчмекинг как в танках, когда набирается достаточное количество игроков, и только после этого запускается игра? Есть ли в фотон клауде такие настройки, или надо просто самому прописывать (что-то вроде предстартовой паузы) и на матере делать запуск только после набора определенного количества игроков?
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как создать матчмакинг как в танках через photon cloud?

Сообщение Woolf 04 июл 2017, 04:29

Ну вы же сами и ответили на свой вопрос.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7170
Зарегистрирован: 02 мар 2009, 16:59

Re: Как создать матчмакинг как в танках через photon cloud?

Сообщение jimmm 04 июл 2017, 04:55

Насколько я понял, фотон работает так, при коннекте он сначала ищит комноту со свободным местом, а потом если не находит, создает новую комнату, можно ли как-то на уровне фотона делать предстартовую паузу?
jimmm
UNIверсал
 
Сообщения: 417
Зарегистрирован: 23 янв 2013, 22:57

Re: Как создать матчмакинг как в танках через photon cloud?

Сообщение Egorik123 05 июл 2017, 11:04

Игрок нажимает на кнопку "играть", дальше идет JoinOrCreateRoom();
Игрок входит, проходит спавн игрока. Игрок заспавнился. Дальше создаешь отдельный скрипт и вешаешь его на игрока, в нем идет вот такой расчет:

void Update(){
if(photonView.isMine) (!на игроке должен висеть скрипт PhotonView (он в стандартном пакете Photon'a)!)
{
if(PhotonNetwork.PlayerList.Length != (кол-во игроков, при котором начнется игра))
{
(Отключаешь все скрипты на игроке, которые отвечают за движение, стрельбу, поворот башни. Крч чтобы игрок не двигался.)
Вот на примере скрипта MouseLook:
gameObject.GetComponent<MouseLook>().enabled = false;
}else if(PhotonNetwork.PlayerList.Length == (кол-во игроков, при котором начинается игра)){
(Теперь наоборот эти-же скрипты включаешь)
gameObject.GetComponent<MouseLook>().enabled = true;
}
}
}
Egorik123
UNец
 
Сообщения: 4
Зарегистрирован: 17 июн 2017, 10:23
Откуда: Семенов
Skype: psalom20


Вернуться в Photon

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2