public static void SendPlayerPermissions(int playerNumber) { if (Network.NetworkMode == NetworkMode.Server) { WriteHeader(MessageType.SetPlayerGroup); HEROsModPlayer player = Network.Players[playerNumber]; Group group = player.Group; Writer.Write(group.Name); Writer.Write(group.ID); Writer.Write(group.IsAdmin); byte[] permissions = group.ExportPermissions(); //if(CTF.CaptureTheFlag.GameInProgress) //{ // permissions = Network.CTFGroup.ExportPermissions(); //} Writer.Write(permissions.Length); Writer.Write(permissions); Network.SendDataToPlayer(playerNumber); if (group.IsAdmin) { GeneralMessages.SendRegisteredUsersToPlayer(playerNumber); } } }
public static void ProcessRegistrationRequest(string username, string password, int playerNumber) { DatabaseController.RegistrationResult regResult = DatabaseController.Register(username, password); switch (regResult) { case DatabaseController.RegistrationResult.Sucess: Network.SendTextToPlayer("You have successfully registered. Please login.", playerNumber); for (int i = 0; i < Network.Players.Length; i++) { HEROsModPlayer player = Network.Players[i]; if (player.ServerInstance.IsActive && player.Group.IsAdmin) { GeneralMessages.SendRegisteredUsersToPlayer(i); } } break; case DatabaseController.RegistrationResult.UsernameTaken: Network.SendTextToPlayer("This username has already been taken.", playerNumber); break; case DatabaseController.RegistrationResult.Error: Network.SendTextToPlayer("An error occured when trying to register.", playerNumber); break; } }
private static void ProcessSetOfflinePlayerGroupRequest(ref BinaryReader reader, int playerNumber) { if (Network.Players[playerNumber].Group.IsAdmin) { int id = reader.ReadInt32(); int groupID = reader.ReadInt32(); //Network.Players[id].Group = Network.GetGroupByID(groupID); //SendPlayerPermissions(id); DatabaseController.SetPlayerGroup(id, groupID); for (int i = 0; i < Network.Players.Length; i++) { HEROsModPlayer player = Network.Players[i]; if (player.ServerInstance.IsActive && player.Group.IsAdmin) { GeneralMessages.SendRegisteredUsersToPlayer(i); } } //GeneralMessages.SendRegisteredUsersToPlayer(playerNumber); } }