Photon network won't join random room with a custom property
I am creating a multiplayer chess game. The user can play online matches by placing a bet of a certain amount (suppose 500,1000,1500 etc). The user will be placed only against a place who is searching for same bet amount match. I am creating a room with custom properties set as
so now, Player 1 is in the room. Now, For player 2 to join the room,
I am really not sure what's wrong here. I checked the documentation and everything! this is how they have done it too. Can someone please help me out here?
PS: I have run debugs and the bet amounts are right and being set properly. They just won't connect to the same room.
Debug from the phone:- Joined Room4068 with Bet of (System.String)Bet=(System.Int32)1500, (System.String)curScn=(System.String)RoomWaitingRoom
Debug from the Unity editor:- Joined Room9945 with Bet of (System.String)Bet=(System.Int32)1500
I am running one instance from the phone and second instance on the Unity editor and playing one instance on phone and second is not a problem I think because they connect successfully if I just put JoinRandomRoom();
private void CreateRoom() { Debug.Log("Creating Room Now"); int randomRoomNumber = Random.Range(0, 10000); int bet = MenuHandler.instance.betAmount; if (bet < 500) bet = 500; RoomOptions roomOps = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = (byte)roomSize, CustomRoomProperties = new ExitGames.Client.Photon.Hashtable() { { "Bet", bet } } }; PhotonNetwork.CreateRoom("Room" + randomRoomNumber, roomOps); Debug.Log(randomRoomNumber); }obviously it will create a room if no similar room exists and join the player 1.
so now, Player 1 is in the room. Now, For player 2 to join the room,
int bet = MenuHandler.instance.betAmount; if (bet < 500) bet = 500; Hashtable expectedCustomRoomProperties = new Hashtable() { { "Bet", bet } }; PhotonNetwork.JoinRandomRoom(expectedCustomRoomProperties, (byte)roomSize);But, it won't connect player 2 to the room of player 1 at all. It creates its own room (as OnJoinRoomFailed creates the room if it doesn't exist).
I am really not sure what's wrong here. I checked the documentation and everything! this is how they have done it too. Can someone please help me out here?
PS: I have run debugs and the bet amounts are right and being set properly. They just won't connect to the same room.
Debug from the phone:- Joined Room4068 with Bet of (System.String)Bet=(System.Int32)1500, (System.String)curScn=(System.String)RoomWaitingRoom
Debug from the Unity editor:- Joined Room9945 with Bet of (System.String)Bet=(System.Int32)1500
I am running one instance from the phone and second instance on the Unity editor and playing one instance on phone and second is not a problem I think because they connect successfully if I just put JoinRandomRoom();
0
Comments
-
Hi im not 100% sure about this but i think in RoomOptions you also have to set which Room Properties are visible to the Lobby.
LikeRoomOptions roomOps = new RoomOptions() { IsVisible = true, IsOpen = true, MaxPlayers = (byte)roomSize, CustomRoomProperties = new ExitGames.Client.Photon.Hashtable() { { "Bet", bet } }, CustomRoomPropertiesForLobby = new[] {"Bet"} };
With this line the property Bet is know visible in a lobby.CustomRoomPropertiesForLobby = new[] {"Bet"}
1