Пример #1
0
        public void OnAccountInfoRequest(CM_ACCOUNT_INFO_REQUEST p)
        {
            SM_ACCOUNT_INFO p1 = new SM_ACCOUNT_INFO()
            {
                SessionID = p.SessionID
            };

            Logger.Log.Info(string.Format(this + ":Player:{0} is trying to login", p.Username));
            AccountLoginResult res = AccountDB.Instance.GetAccountID(p.Username, out uint accountID);

            switch (res)
            {
            case AccountLoginResult.OK:
                p1.Result  = AccountLoginResult.OK;
                p1.Account = AccountCache.Instance[accountID];
                break;

            case AccountLoginResult.NO_SUCH_ACCOUNT:
                p1.Result = AccountLoginResult.NO_SUCH_ACCOUNT;
                break;

            case AccountLoginResult.DB_ERROR:
                p1.Result = AccountLoginResult.DB_ERROR;
                break;
            }
            Logger.Log.Info(string.Format("Login result:{0}", res));
            Network.SendPacket(p1);
        }
        internal void OnAccountInfo(SM_ACCOUNT_INFO p)
        {
            long session = p.SessionID;

            if (packetSessions.TryRemove(session, out T client))
            {
                Account.Account acc = null;
                if (p.Result == AccountLoginResult.OK)
                {
                    acc = p.Account;
                }

                OnAccountInfo(client, p.Result, acc);
            }
        }
Пример #3
0
        public void OnAccountInfoRequestId(CM_ACCOUNT_INFO_REQUEST_ID p)
        {
            SM_ACCOUNT_INFO p1 = new SM_ACCOUNT_INFO()
            {
                SessionID = p.SessionID
            };
            Account acc = AccountCache.Instance[p.AccountID];

            if (acc != null)
            {
                p1.Result  = AccountLoginResult.OK;
                p1.Account = acc;
                Logger.Log.Info(string.Format("Loading Player:{0}'s account info", acc.UserName));
            }
            else
            {
                p1.Result = AccountLoginResult.NO_SUCH_ACCOUNT;
            }

            Network.SendPacket(p1);
        }