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