Страница 1 из 2
Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 14:11
jimmm
Задачас делать таймер для игровой сессии по мультиплееру используя Photon Cloud (а не photon network). Как это реализованно в танках например.
То есть нужно заставить всех игроков как минимум покинуть комнату одновременно, кто может помоч???
Прошлую тему почему-то удалили, непонятно почему, примеры приведенные там не работали, я предпологаю, что из-за того, что используется именно фотон КЛАУД (а не просто фонон нетворк), так как там после выхода мастера, мастером комнаты становиться следующий игрок, и поэтому скорей всего не срабатывал RPC, посланный предидущим мастером о выходе из комнаты.
Так вот как всех повыкидывать из созданной на фотон КЛАУДЕ (именно КЛАУДЕ) комнаты?
Все еще ищу решение.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 14:18
IDoNotExist
Сделать свойство комнаты с флагом аля Game Over, если пришел данный флаг, клиент выкидывает сам себя из комнаты, так же к комнате нельзя больше присоединиться если есть этот флаг.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 14:42
Woolf
Человек, видимо, не читает, что ему пишут.. Ему уже 10 раз повторили, что мастер не должен выходить из комнаты, пока не разошлет всем остальным RPC, а он все равно ноет, что у него ничего не работает, продолжая, с упертостью истинного украинца, долбиться головой в стену.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 15:11
jimmm
Woolf писал(а): истинного украинца
))) нет извините мы из россии, а вы ни одного примера скрипта не дали, как лучше это реализовать, для лучшего понимания -это ваша проблема 1
Проблема два, это то что в фотон КЛАУДЕ, все юниты и мастер и остальные, клоны и команда должна быть для всех одна. Во вторых пример photoneView.rpc ("exit", photonTargets.all), не проходит как команда!! А проходит как информирование!! Если у вас работает, покажите Пожалуйста ваш скрипт и покажите Пожалуйста видео демонстрацию как это работает (чтоб нуб как я лучше вкурил), в остальном у вас только слова (которые начинающему нубу-мне не помогают)..
IDoNotExist писал(а):Сделать свойство комнаты с флагом аля Game Over, если пришел данный флаг, клиент выкидывает сам себя из комнаты, так же к комнате нельзя больше присоединиться если есть этот флаг.
Думал про такой триггер, но как его включить у всех игроков одновременно без инстата??
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 15:31
IDoNotExist
jimmm писал(а):IDoNotExist писал(а):Сделать свойство комнаты с флагом аля Game Over, если пришел данный флаг, клиент выкидывает сам себя из комнаты, так же к комнате нельзя больше присоединиться если есть этот флаг.
Думал про такой триггер, но как его включить у всех игроков одновременно без инстата??
При чем тут триггер вообще, курите PhotonNetwork.room.SetCustomProperties() и OnPhotonCustomRoomPropertiesChanged(), если не умеете пользоваться RPC и PhotonView, то тут они даже не требуются, главное быть в комнате.
Используется csharp
public static void SetGameStatus(GameStatus gameStatus)
{
if (PhotonNetwork.room == null) return;
Hashtable props = PhotonNetwork.room.customProperties;
props[RoomProps.GameStatus.ToString()] = (byte)gameStatus;
PhotonNetwork.room.SetCustomProperties(props);
PhotonNetwork.SendOutgoingCommands();
}
void OnPhotonCustomRoomPropertiesChanged()
{
Debug.Log("Room Properties Changed");
Hashtable customProperties = PhotonNetwork.room.customProperties;
if (customProperties.ContainsKey(RoomProps.GameStatus.ToString()))
{
Debug.Log("Game Status = " + (GameStatus)customProperties[RoomProps.GameStatus.ToString()]);
}
}
public enum GameStatus : byte
{
Preparing = 0,
Running = 1,
Ended = 2,
}
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 17:14
jimmm
IDoNotExist писал(а):jimmm писал(а):IDoNotExist писал(а):Сделать свойство комнаты с флагом аля Game Over, если пришел данный флаг, клиент выкидывает сам себя из комнаты, так же к комнате нельзя больше присоединиться если есть этот флаг.
Думал про такой триггер, но как его включить у всех игроков одновременно без инстата??
При чем тут триггер вообще, курите PhotonNetwork.room.SetCustomProperties() и OnPhotonCustomRoomPropertiesChanged(), если не умеете пользоваться RPC и PhotonView, то тут они даже не требуются, главное быть в комнате.
Используется csharp
public static void SetGameStatus(GameStatus gameStatus)
{
if (PhotonNetwork.room == null) return;
Hashtable props = PhotonNetwork.room.customProperties;
props[RoomProps.GameStatus.ToString()] = (byte)gameStatus;
PhotonNetwork.room.SetCustomProperties(props);
PhotonNetwork.SendOutgoingCommands();
}
void OnPhotonCustomRoomPropertiesChanged()
{
Debug.Log("Room Properties Changed");
Hashtable customProperties = PhotonNetwork.room.customProperties;
if (customProperties.ContainsKey(RoomProps.GameStatus.ToString()))
{
Debug.Log("Game Status = " + (GameStatus)customProperties[RoomProps.GameStatus.ToString()]);
}
}
public enum GameStatus : byte
{
Preparing = 0,
Running = 1,
Ended = 2,
}
Спасибо вам за скрипт конечно, пока не совсем понял как его внедрить (мне как нубу нужно дольше вникать), но это уже что-то, и на этом спасибо.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 18:18
Woolf
не проходит как команда!! А проходит как информирование!!
В чем разница? Клиенты получают информацию об RPC ?
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
27 окт 2014, 20:03
cibersant
Так это же легко,при каком то событии рассылаем RPC и вызываем у всех дисконект.Вы бл* хоть справку по фотону читали?Так же есть мастерклиент,типа самый главный,на нём запускаеь таймер.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
28 окт 2014, 03:07
gnoblin
кто разбанил тролля
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
28 окт 2014, 03:08
gnoblin
через фотончат можно гонять игроков между комнатами
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
28 окт 2014, 10:04
jimmm
gnoblin писал(а):через фотончат можно гонять игроков между комнатами
А пример или ссылку на то как это можно сделать?
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
05 ноя 2014, 23:17
jimmm
Все приходится доперать самому,прям сложно было разживать для начинающего, ну хоть на какую-то наводку спасибо получил, куда допирать.
PhotonTargets.AllViaServer отлично срабатывает для всех игроков одновременно.
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
05 ноя 2014, 23:25
Woolf
PhotonTargets.AllViaServer
Этот параметр выкинет из боёв ВСЕХ игроков на сервере...
Вы что, специально издеваетесь? Вам уже сколько раз сказали, что нужно PhotonTargets.All ?
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
06 ноя 2014, 02:20
jimmm
Woolf писал(а):PhotonTargets.AllViaServer
Этот параметр выкинет из боёв ВСЕХ игроков на сервере...
Вы что, специально издеваетесь? Вам уже сколько раз сказали, что нужно PhotonTargets.All ?
Всмысле всех на сервере? Из все созданных соседних комнат одновременно? Или только в той комнате где отправлена эта команда?
Мне какраз и нужно было чтобы выкидывало всех игроков из созданной комнаты, то есть например подключились вместе и играют 8 человек, и по истечении времени, какраз и нужно чтобы все 8 человек вышли из игры (из комнаты).
Re: Как сделать игровую сессию в Photon Cloud?
Добавлено:
06 ноя 2014, 02:37
Woolf
Всё, вы меня достали. В игнор..