Страница 1 из 1

Создание комнаты->загрузка уровня[РЕШЕНО]

СообщениеДобавлено: 08 июн 2015, 13:34
ZakkArn
Доброго времени суток, форумчане). Суть проблемы: есть сцена с меню, там же есть кнопка создания комнаты. Необходимо, чтобы при создании комнаты загружалась уже игровая сцена с последующим окном выбора команды. В моем случае все хорошо, до момента нажатия в игровой сцене на кнопку спавна игрока, в этом случае выскакивает ошибка "Cannot send messages when not connected. Either connect to Photon OR use offline mode!". Как я понял, при загрузке сцены теряется соединение с сервером, хотя для загрузки использоуется PhotonNetwork.LoadLevel который вроде-как должен сохранять соединение. Как исправить проблему?

кнопка создания комнаты в сцене с меню
Синтаксис:
Используется csharp
        public void Create_Room()
        {
                gui.SetActive (false);
               
                RoomOptions ro = new RoomOptions (){isVisible=true, maxPlayers=11};
                PhotonNetwork.CreateRoom (RoomNameCreate.text, ro, TypedLobby.Default);
                PhotonNetwork.LoadLevel (1);
               
        }

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 08 июн 2015, 21:22
ZakkArn
Ни кто не знает?

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 08 июн 2015, 21:29
Woolf
Я знаю, но мне лень копаться по исходникам и докам. В общем, смысл в том, чтобы на время загрузки уровня временно отменить поддержку соединения фотона. Как команда называется, не помню, придет гноб - расскажет.

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 08 июн 2015, 21:55
ZakkArn
Woolf писал(а):Я знаю, но мне лень копаться по исходникам и докам. В общем, смысл в том, чтобы на время загрузки уровня временно отменить поддержку соединения фотона. Как команда называется, не помню, придет гноб - расскажет.

Ясно, спасибо. А команду в фотон документации искать или в юнити?

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 08 июн 2015, 21:56
ZakkArn
ZakkArn писал(а):
Woolf писал(а):Я знаю, но мне лень копаться по исходникам и докам. В общем, смысл в том, чтобы на время загрузки уровня временно отменить поддержку соединения фотона. Как команда называется, не помню, придет гноб - расскажет.

Ясно, спасибо. А команду в фотон документации искать или в юнити?

UPD не внимательно прочитал, искать в фотоновской документации).

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 11:21
ZakkArn
Все таки не нашел нужного. Помогите, кто знает, как решить проблему

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 11:39
waruiyume
PhotonNetwork.isMessageQueueRunning = true/false;
ХЗ оно или нет.

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 13:08
Woolf
waruiyume писал(а):PhotonNetwork.isMessageQueueRunning = true/false;
ХЗ оно или нет.


Во, точно оно..

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 13:53
ZakkArn
Есть ощущение, что я не очень понимаю, как использовать эту команду. Если у кого был опыт, покажите пожалуйста пример реализации загрузки сцены.
Что делаю я: в сцене с меню подлючаюсь к фотону, создаю комнату, выключаю соединение фотона загружаю игровую сцену и там опять включаю фотон. Все так или тут проблемы с игровой логикой?

это на кнопке в меню
Синтаксис:
Используется csharp
        public void Create_Room()
        {
       
RoomOptions ro = new RoomOptions (){isVisible=true, maxPlayers=11};
PhotonNetwork.CreateRoom (RoomNameCreate.text, ro, TypedLobby.Default);
PhotonNetwork.isMessageQueueRunning = false;
                PhotonNetwork.LoadLevel (1);

        }


это скрипт уже в игровой сцене.

Синтаксис:
Используется csharp
        void Awake () {

                if (!PhotonNetwork.isMessageQueueRunning)
                        PhotonNetwork.isMessageQueueRunning = true;

        }


Сейчас все так же пишет, что якобы комната не создана при попытке спавна игрока, в сцене с игровым уровнем.

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 19:08
ZakkArn
up

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 09 июн 2015, 23:01
ZakkArn
Кстати, если посмотреть исходники фотона, то там видно, что isMessageQueueRunning автоматом вызывается, при использовании PhotonNetwork.LoadLevel(), вообще не понятно, почему возникает ошибка...
Изображение

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 10 июн 2015, 00:04
gnoblin
ну потому что наверно надо грузить уровень в колбеке onJoinedRoom(), см примеры. Может комната не успела создаться ты уже рпц шлешь

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 10 июн 2015, 00:06
ZakkArn
gnoblin писал(а):ну потому что наверно надо грузить уровень в колбеке onJoinedRoom(), см примеры. Может комната не успела создаться ты уже рпц шлешь

да, я так тоже пробовал, результат такой же.

Синтаксис:
Используется csharp
        void OnJoinedRoom()
        {

                PhotonNetwork.isMessageQueueRunning = false;
                PhotonNetwork.LoadLevel(1);

       
               
        }

Re: Создание комнаты->загрузка уровня

СообщениеДобавлено: 10 июн 2015, 19:54
ZakkArn
В итоге мой косяк был, забыл один компонент со скриптом убрать, сейчас все гуд).