public static void HandleSearchUserCharacters(BigEndianReader reader, AuthClient client, AuthServer server) { AcquaintanceSearchMessage message = new AcquaintanceSearchMessage(); message.Unpack(reader); foreach (Account a in AccountManager.GetAccounts()) { if (a.Pseudo == message.nickname) { List <short> servers = new List <short>(); foreach (WorldServer s in server.Servers.Values) { int nbChar = AccountManager.GetNbChar(s.ServerId, a.Id); if (nbChar > 0) { servers.Add((short)s.ServerId); } } client.Send(new AcquaintanceServerListMessage(servers)); return; } } client.Send(new AcquaintanceSearchErrorMessage(2)); }
public static void HandleAcquaintanceSearchMessage(AuthClient client, AcquaintanceSearchMessage message) { var account = AccountManager.Instance.FindAccountByNickname(message.nickname); if (account == null) { SendAcquaintanceSearchErrorMessage(client, AcquaintanceErrorEnum.NO_RESULT); return; } SendAcquaintanceSearchServerListMessage(client, account.WorldCharacters.Select(wcr => (short)wcr.WorldId).Distinct()); }
public static void HandleAcquaintanceSearchMessage(AuthClient client, AcquaintanceSearchMessage message) { Account account = Singleton <AccountManager> .Instance.FindAccountByNickname(message.nickname); if (account == null) { ConnectionHandler.SendAcquaintanceSearchErrorMessage(client, AcquaintanceErrorEnum.NO_RESULT); } else { ConnectionHandler.SendAcquaintanceSearchServerListMessage(client, ( from wcr in account.WorldCharacters select(ushort) wcr.WorldId).Distinct()); } }
public static void HandleAcquaintanceSearch(AcquaintanceSearchMessage message, AuthClient client) { if (client.Account != null) { lock (Locker) { AccountData searchAccount = AccountRecord.GetAccountByNickname(message.nickname); if (searchAccount == null) { client.Send(new AcquaintanceSearchErrorMessage((sbyte)AcquaintanceErrorEnum.NO_RESULT)); } else { client.Send(new AcquaintanceServerListMessage(ServerCharacterRecord.GetAccountActiveServers(searchAccount.Id))); } } } }