Ejemplo n.º 1
0
        public List<string> GetRightsForHabbo(Habbo Habbo)
        {
            List<string> UserRights = new List<string>();

            UserRights.AddRange(GetRightsForRank(Habbo.Rank));

            foreach (string SubscriptionId in Habbo.GetSubscriptionManager().SubList)
            {
                UserRights.AddRange(GetRightsForSub(SubscriptionId));
            }

            return UserRights;
        }
Ejemplo n.º 2
0
        public void Stop()
        {
            if (GetHabbo() != null)
            {
                Habbo.OnDisconnect();
                Habbo = null;
            }

            if (GetConnection() != null)
            {
                Connection = null;
            }
        }
Ejemplo n.º 3
0
        public void Login(string AuthTicket)
        {
            try
            {
                Habbo NewHabbo = Authenticator.TryLoginHabbo(AuthTicket);

                UberEnvironment.GetGame().GetClientManager().LogClonesOut(NewHabbo.Username);

                this.Habbo = NewHabbo;
                this.Habbo.LoadData();
            }
            catch (IncorrectLoginException e)
            {
                SendNotif("Login error: " + e.Message);
                Disconnect();

                return;
            }

            try
            {
                UberEnvironment.GetGame().GetBanManager().CheckForBanConflicts(this);
            }
            catch (ModerationBanException e)
            {
                SendBanMessage(e.Message);
                Disconnect();

                return;
            }

            using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient())
            {
                dbClient.ExecuteQuery("UPDATE users SET online = '1', auth_ticket = '', ip_last = '" + GetConnection().IPAddress + "' WHERE id = '" + GetHabbo().Id + "' LIMIT 1");
                dbClient.ExecuteQuery("UPDATE user_info SET login_timestamp = '" + UberEnvironment.GetUnixTimestamp() + "' WHERE user_id = '" + GetHabbo().Id + "' LIMIT 1");
            }

            List<string> Rights = UberEnvironment.GetGame().GetRoleManager().GetRightsForHabbo(GetHabbo());

            ServerPacket _fuse = new ServerPacket(2);
            _fuse.AppendInt32(Rights.Count);

            foreach (string Right in Rights)
            {
                _fuse.AppendStringWithBreak(Right);
            }

            SendPacket(_fuse);

            if (GetHabbo().HasFuse("fuse_mod"))
            {
                SendPacket(UberEnvironment.GetGame().GetModerationTool().SerializeTool());
                UberEnvironment.GetGame().GetModerationTool().SendOpenTickets(this);
            }

            SendPacket(GetHabbo().GetAvatarEffectsInventoryComponent().Serialize());

            ServerPacket packet = new ServerPacket(290);
            packet.AppendBoolean(true);
            packet.AppendBoolean(false);
            SendPacket(packet);

            SendPacket(new ServerPacket(3));

            packet = new ServerPacket(517);
            packet.AppendBoolean(true);
            SendPacket(packet);

            if (UberEnvironment.GetGame().GetPixelManager().NeedsUpdate(this))
            {
                UberEnvironment.GetGame().GetPixelManager().GivePixels(this);
            }

            packet = new ServerPacket(455);
            packet.AppendUInt(GetHabbo().HomeRoom);
            SendPacket(packet);

            packet = new ServerPacket(458);
            packet.AppendInt32(30);
            packet.AppendInt32(GetHabbo().FavoriteRooms.Count);

            foreach (uint Id in GetHabbo().FavoriteRooms)
            {
                packet.AppendUInt(Id);
            }

            SendPacket(packet);

            WelcomeMesage("Please change your welcome Message in GameClient.cs\n\n-PowahAlert");
            UberEnvironment.GetGame().GetAchievementManager().UnlockAchievement(this, 11, 1);
        }