/// <summary> /// Verifica o número de tentativas e envia mensagens de erro. /// </summary> /// <param name="pData"></param> public static void TryingToAccess(PlayerData pData) { // se realizar 3 tentativas de login, desconecta o usuário que já está logado e permite que o novo se conecte if (pData.LoginAttempt >= Settings.MAX_ATTEMPT) { //Desconecta o usuario em todos os servidores WorldPacket.PlayerDisconnect(pData); // ##################### MUDAR PARA WORLD SERVER ##################### //Desconecta o usuario no servidor de login (se houver) pelo cliente var hexid = Authentication.FindByAccount(pData.Username)?.HexID; if (!string.IsNullOrEmpty(hexid)) { LoginPacket.Message(hexid, (int)PacketList.Disconnect); } //###################################################################### //se conectado ao login server, limpa os dados do usuario conectado da lista para o novo login if (Authentication.IsConnected(pData.Username)) { Authentication.FindByAccount(pData.Username)?.Clear(); } //reseta o contador pData.LoginAttempt = 0; // envia msg LoginPacket.Message(pData.HexID, (int)PacketList.LoginServer_Client_AlreadyLoggedIn); } else { // Envia mensagem que o usuário já está conectado LoginPacket.Message(pData.HexID, (int)PacketList.LoginServer_Client_AlreadyLoggedIn); } }