Exemplo n.º 1
0
        public void OnDisconnect()
        {
            if (this.Disconnected)
            {
                return;
            }

            UberEnvironment.GetLogging().WriteLine(Username + " has logged out.", Core.LogLevel.Debug);

            this.Disconnected = true;
            DateTime Now = DateTime.Now;

            using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient())
            {
                dbClient.ExecuteQuery("UPDATE users SET last_online = '" + Now.ToString() + "', online = '0' WHERE id = '" + Id + "' LIMIT 1");
            }

            if (InRoom)
            {
                UberEnvironment.GetGame().GetRoomManager().GetRoom(CurrentRoomId).RemoveUserFromRoom(GetClient(), false, false);
            }

            if (Messenger != null)
            {
                Messenger.AppearOffline = true;
                Messenger.OnStatusChanged(true);
                Messenger = null;
            }

            if (SubscriptionManager != null)
            {
                SubscriptionManager.Clear();
                SubscriptionManager = null;
            }

            // todo: drop events, kick bots, etc
        }
Exemplo n.º 2
0
        public void InitMessenger()
        {
            if (GetMessenger() != null)
            {
                return;
            }

            Messenger = new HabboMessenger(Id);

            Messenger.LoadBuddies();
            Messenger.LoadRequests();

            GetClient().SendPacket(Messenger.SerializeFriends());
            GetClient().SendPacket(Messenger.SerializeRequests());

            Messenger.OnStatusChanged(true);
        }