public static void SendRegisteredUsersToPlayer(int playerNumber) { WriteHeader(MessageType.RegisteredUsers); // Console.WriteLine("Buffer Length: " + Writer.BaseStream.Length); UserWithID[] players = DatabaseController.GetRegisteredUsers(); if (players.Length == 0) { return; } Writer.Write(players.Length); for (int i = 0; i < players.Length; i++) { Writer.Write(players[i].Username); Writer.Write(players[i].ID); Writer.Write(players[i].groupID); } Network.SendDataToPlayer(playerNumber); }
private static void ProcessTileModificationCheckRequest(ref BinaryReader reader, int playerNumber) { if (Network.Players[playerNumber].Group.HasPermission("CheckTiles")) { int x = reader.ReadInt32(); int y = reader.ReadInt32(); if (x >= 0 && y >= 0 && x < Main.maxTilesX && y < Main.maxTilesY) { int playerID = Network.TileLastChangedBy[x, y]; if (playerID >= 0) { UserWithID user = null; UserWithID[] users = DatabaseController.GetRegisteredUsers(); for (int i = 0; i < users.Length; i++) { if (users[i].ID == playerID) { user = users[i]; } } if (user != null) { Network.SendTextToPlayer(string.Format(HEROsMod.HeroText("TileLastModifiedBy"), user.Username), playerNumber); } } else { // TODO: These should all be NetworkText.FromKey so they show up in correct language on Client Network.SendTextToPlayer(HEROsMod.HeroText("TileNotModified"), playerNumber); } } } else { Network.SendTextToPlayer(HEROsMod.HeroText("YouDontHavePermissionToDoThat"), playerNumber); } }
private static void ProcessTileModificationCheckRequest(ref BinaryReader reader, int playerNumber) { if (Network.Players[playerNumber].Group.HasPermission("CheckTiles")) { int x = reader.ReadInt32(); int y = reader.ReadInt32(); if (x >= 0 && y >= 0 && x < Main.maxTilesX && y < Main.maxTilesY) { int playerID = Network.TileLastChangedBy[x, y]; if (playerID >= 0) { UserWithID user = null; UserWithID[] users = DatabaseController.GetRegisteredUsers(); for (int i = 0; i < users.Length; i++) { if (users[i].ID == playerID) { user = users[i]; } } if (user != null) { Network.SendTextToPlayer("Tile last modified by " + user.Username, playerNumber); } } else { Network.SendTextToPlayer("This tile has not been modified since last server boot up.", playerNumber); } } } else { Network.SendTextToPlayer("You don't have permission to do that.", playerNumber); } }