Страница 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
Всё, вы меня достали. В игнор..