2

我用这段代码加入了光子中的一个房间:

TypedLobby sqlLobby = new TypedLobby(GAME_LOBBY_NAME, LobbyType.SqlLobby); 
string sqlLobbyFilter = string.Format("L = {0}" , 8); 
PhotonNetwork.JoinRandomRoom(null, 2, MatchmakingMode.FillRoom, sqlLobby, sqlLobbyFilter);

和这个代码来创建一个房间:

RoomOptions newRoomOptions = new RoomOptions();
newRoomOptions.isOpen = true;
newRoomOptions.isVisible = true;
newRoomOptions.maxPlayers = 2;
// L is League 
newRoomOptions.customRoomPropertiesForLobby = new string[] { "L" };
newRoomOptions.customRoomProperties = new ExitGames.Client.Photon.Hashtable() { { "L", 8 } };

TypedLobby sqlLobby = new TypedLobby(GAME_LOBBY_NAME, LobbyType.SqlLobby);
PhotonNetwork.CreateRoom(null, newRoomOptions, sqlLobby);

我从 Photon 文档https://doc.photonengine.com/en/pun/current/tutorials/matchmaking-and-lobby中获得此代码, 但这会引发异常:

Operation failed: OperationResponse 225: ReturnCode: -2 (SQL logic error or missing database
no such column: L). Parameters: {} Server: MasterServer

谢谢。

4

1 回答 1

4

使用 C0..C9 属性而不是 L。

来自文档:在内部,SQL 大厅在 SQLite 表中列出房间,其中包含多达 10 个特殊的“过滤属性”。目前,它们的命名固定为:“C0”、“C1”到“C9”。

于 2016-01-17T16:44:29.113 回答