示例#1
0
        /// <summary>
        /// Percorre todos os jogadores e verifica o estado atual do HexID.
        /// </summary>
        public static void VerifyPlayerHexID()
        {
            HexaID hexID;

            foreach (var pData in Player)
            {
                if (!string.IsNullOrEmpty(pData.Account))
                {
                    continue;
                }
                if (string.IsNullOrEmpty(pData.HexID))
                {
                    continue;
                }

                hexID = FindHexID(pData.HexID);

                // Se não encontrar o hexid, desconecta o usuário pelo cliente
                if (Equals(null, hexID))
                {
                    WorldPacket.Message(pData.Connection, (int)PacketList.Disconnect);
                    continue;
                }

                //Aceita o hexID e permite a conexão
                AcceptHexID(pData.Connection, hexID);

                FileLog.WriteLog($"Player Found ID: {pData.AccountID} Account: {pData.Account} {pData.HexID}", Color.Black);

                //inicia o processo de login
                PlayerLogin.Login(pData);
            }
        }
示例#2
0
        public static void Login(PlayerData pData)
        {
            //Carrega os personagens para apresentar ao cliente.
            Character_DB.PreLoad(pData);

            FileLog.WriteLog($"PreLoad ID: {pData.AccountID} Account: {pData.Account}", System.Drawing.Color.Black);

            //Envia o PreLoad
            WorldPacket.PreLoad(pData);
            //Aceita a conexão
            WorldPacket.Message(pData.Connection, (int)PacketList.AcceptedConnection);
            //Muda de janela
            //3 seleção de personagem
            WorldPacket.GameState(pData.HexID, 3);
        }