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); } }
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); }