Photon Multiplayer, оба игрока создают свои собственные комнаты.

Я использую Photon с cocos2dx для создания многопользовательской игры. Когда я создаю комнату от одного игрока, она успешно создает комнату, и через 4 или 5 секунд, когда я присоединяюсь к комнате от другого игрока, оба игрока успешно присоединяются друг к другу, и игра начинается. Проблема возникает, когда я начинаю игру с обеих сторон вместе, оба игрока думают, что места нет, они оба создают свои собственные комнаты и не могут присоединиться друг к другу.

Заранее спасибо.


person Jhon Smith    schedule 14.09.2015    source источник


Ответы (1)


Вы можете использовать opJoinRoom, установив для createIfNotExists значение true. При этом первый игрок создаст комнату, а второй присоединится к ней.

person photonians    schedule 14.09.2015
comment
Большое тебе спасибо. Теперь он работает отлично. Я использовал opJoinRandomRoom, который вызывал проблему, о которой я писал ранее. Я хочу спросить еще одну вещь: как установить свойства с помощью opJoinRoom, у него нет такой опции, потому что я хочу установить фильтр, чтобы только игроки с одинаковым навыком могли присоединяться друг к другу (точно так же, как 8 бильярдный шар). Например, игрок с навыком 9 может присоединиться к игроку с навыком от 7 до 11. Как я могу этого достичь. - person Jhon Smith; 14.09.2015
comment
opJoinRandomRoom позволяет фильтровать определенные свойства, такие как навыки игрока. См. doc.photonengine.com/en/realtime/current/reference / для примеров. - person photonians; 14.09.2015
comment
Раньше я использовал то же самое, но из-за этой проблемы (оба игрока создают свои собственные комнаты) я изменил opJoinRandomRoom на opJoinRoom, установив для createIfNotExiststo значение true. Могу ли я добиться такого совпадения с opJoinRoom. Спасибо. - person Jhon Smith; 14.09.2015
comment
opJoinRoom предназначен только для присоединения к известной комнате. Для подбора игроков на основе навыков используйте opJoinRandomRoom. Если вы действительно хотите пойти по этому пути, вы можете придумать схему именования для своих комнат и найти подходящую комнату в вестибюле, а затем присоединиться к любым совпадениям по их известному на тот момент имени ... хотя это не рекомендуется. - person photonians; 14.09.2015
comment
Да, я действительно хочу использовать opJoinRandomRoom из-за сопоставления базовых навыков, но с этой проблемой та же проблема, что когда я отправляю игровой запрос от двух игроков вместе, они оба создают свои собственные комнаты и не присоединяются друг к другу. Как решить эту проблему. - person Jhon Smith; 14.09.2015
comment
В этом случае вам придется явно создать игру, которую вы ищете, когда совпадение не будет найдено с использованием opCreateRoom. Когда вы добавляете x повторных попыток и даете игрокам возможность повторить попытку через x раз или сами создаете подходящую комнату, чтобы ждать, пока другие присоединятся, это должно вас покрыть? Вы также можете рассмотреть возможность расширения набора навыков, который ищется при каждой повторной попытке. - person photonians; 14.09.2015