Ejemplo n.º 1
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int num = Event.PopWiredInt32();

            if (num > 0 && (Session != null && Session.GetHabbo() != null))
            {
                Session.GetHabbo().int_0 = 0;
                if (Session.GetHabbo().InRoom)
                {
                    Room          class14_ = Session.GetHabbo().CurrentRoom;
                    RoomUser      @class   = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
                    ServerMessage Message  = new ServerMessage(28u);
                    Message.AppendInt32(1);
                    @class.method_14(Message);
                    class14_.SendMessage(Message, null);
                }
                using (DatabaseClient class2 = HabboIM.GetDatabase().GetClient())
                {
                    class2.ExecuteQuery("UPDATE user_stats SET groupid = 0 WHERE Id = " + Session.GetHabbo().Id + " LIMIT 1;");
                }
                DataTable dataTable_ = Session.GetHabbo().dataTable_0;
                if (dataTable_ != null)
                {
                    ServerMessage Message2 = new ServerMessage(915u);
                    Message2.AppendInt32(dataTable_.Rows.Count);
                    foreach (DataRow dataRow in dataTable_.Rows)
                    {
                        GroupsManager class3 = Groups.smethod_2((int)dataRow["groupid"]);
                        Message2.AppendInt32(class3.int_0);
                        Message2.AppendStringWithBreak(class3.string_0);
                        Message2.AppendStringWithBreak(class3.string_2);
                        if (Session.GetHabbo().int_0 == class3.int_0)
                        {
                            Message2.AppendBoolean(true);
                        }
                        else
                        {
                            Message2.AppendBoolean(false);
                        }
                    }
                    Session.SendMessage(Message2);
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int           guildId = Event.PopWiredInt32();
            GroupsManager guild   = Groups.GetGroupById(guildId);

            if (guild != null && guild.UserWithRanks.Contains((int)Session.GetHabbo().Id))
            {
                int userId = Event.PopWiredInt32();
                guild.JoinGroup(userId);
                guild.Petitions.Remove(userId);
                using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                {
                    dbClient.ExecuteQuery("DELETE FROM group_requests WHERE userid=" + userId + " AND groupid=" + guildId);
                    dbClient.ExecuteQuery("UPDATE user_stats SET groupid=" + guildId + " WHERE id=" + userId);
                    dbClient.ExecuteQuery("INSERT INTO group_memberships (`groupid`,`userid`) VALUES (" + guildId + "," + userId + ")");
                }
                GameClient gc    = Essential.GetGame().GetClientManager().GetClientById((uint)userId);
                Habbo      habbo = null;
                if (gc != null)
                {
                    habbo = gc.GetHabbo();
                }
                if (habbo != null)
                {
                    Room room = Essential.GetGame().GetRoomManager().GetRoom((uint)guild.RoomId);
                    if (habbo.FavouriteGroup == 0)
                    {
                        habbo.FavouriteGroup = guild.Id;
                        habbo.RefreshGuilds();
                        if (habbo.CurrentRoomId > 0)
                        {
                            if (room == null)
                            {
                                return;
                            }
                            ServerMessage message = new ServerMessage(Outgoing.SendGroup); //Rootkit
                            message.AppendInt32(1);
                            message.AppendInt32(guild.Id);
                            message.AppendString(guild.Badge);
                            gc.SendMessage(message);
                            ServerMessage message2 = new ServerMessage(Outgoing.SetRoomUser); //Rootkit
                            message2.AppendInt32(1);
                            RoomUser ru = gc.GetHabbo().CurrentRoom.GetRoomUserByHabbo(habbo.Id);
                            if (ru != null)
                            {
                                ru.method_14(message2);
                            }
                            gc.GetHabbo().CurrentRoom.SendMessage(message2, null);
                        }
                    }
                    ServerMessage message3 = new ServerMessage(Outgoing.AddNewMember); //Rootkit
                    message3.AppendInt32(guildId);
                    message3.AppendInt32(guild.getRank(userId));
                    message3.AppendInt32(habbo.Id);
                    message3.AppendString(habbo.Username);
                    message3.AppendString(habbo.Figure);
                    message3.AppendString(string.Concat(new object[] { DateTime.Now.Month, " ", DateTime.Now.Day, ", ", DateTime.Now.Year }));
                    Session.SendMessage(message3);

                    ServerMessage message4 = new ServerMessage(Outgoing.UpdatePetitionsGuild); //Rootkit
                    message4.AppendInt32(1);
                    message4.AppendInt32(guild.Id);
                    message4.AppendInt32(3);
                    message4.AppendString(guild.Name);
                    Session.SendMessage(message4);
                    gc.SendMessage(message4);
                    ServerMessage message5 = new ServerMessage(Outgoing.SetRoomUser); //Rootkit
                    message5.AppendInt32(1);
                    RoomUser ru2 = gc.GetHabbo().CurrentRoom.GetRoomUserByHabbo(habbo.Id);
                    if (ru2 != null)
                    {
                        ru2.method_14(message5);
                    }
                    gc.GetHabbo().CurrentRoom.SendMessage(message5, null);
                }
                ServerMessage message6 = new ServerMessage(Outgoing.SendHtmlColors);
                message6.AppendInt32(Session.GetHabbo().dataTable_0.Rows.Count);
                foreach (DataRow num4 in Session.GetHabbo().dataTable_0.Rows)
                {
                    GroupsManager guild2 = Groups.GetGroupById((int)num4["groupid"]);
                    message6.AppendInt32(guild2.Id);
                    message6.AppendString(guild2.Name);
                    message6.AppendString(guild2.Badge);
                    message6.AppendString(guild2.ColorOne);
                    message6.AppendString(guild2.ColorTwo);
                    message6.AppendBoolean(guild2.Id == Session.GetHabbo().FavouriteGroup);
                }
                Session.SendMessage(message6);
                Session.GetClientMessageHandler().LoadMembersPetitions(2, guildId, 0, "", Session);
                RoomData data = Essential.GetGame().GetRoomManager().method_11((uint)guild.RoomId);
                if (gc != null)
                {
                    ServerMessage message7 = new ServerMessage(Outgoing.SendAdvGroupInit);
                    message7.AppendInt32(guild.Id);
                    message7.AppendBoolean(true);
                    message7.AppendInt32(guild.Type);
                    message7.AppendString(guild.Name);
                    message7.AppendString(guild.Description);
                    message7.AppendString(guild.Badge);
                    message7.AppendInt32(data.Id);
                    message7.AppendString(data.Name);
                    if (guild.Petitions.Contains((int)habbo.Id))
                    {
                        message7.AppendInt32(2);
                    }
                    else if (!habbo.InGuild(guild.Id))
                    {
                        message7.AppendInt32(0);
                    }
                    else if (habbo.InGuild(guild.Id))
                    {
                        message7.AppendInt32(1);
                    }
                    message7.AppendInt32(guild.Members.Count);
                    message7.AppendBoolean(false);
                    message7.AppendString(guild.Created);

                    message7.AppendBoolean(guild.UserWithRanks.Contains((int)Session.GetHabbo().Id));    //habbo.Id == guild.OwnerId);

                    if (habbo.InGuild(guild.Id))
                    {
                        if (guild.UserWithRanks.Contains((int)habbo.Id))
                        {
                            message7.AppendBoolean(true);
                        }
                        else
                        {
                            message7.AppendBoolean(false);
                        }
                    }
                    else
                    {
                        message7.AppendBoolean(false);
                    }
                    message7.AppendString(guild.OwnerName);
                    message7.AppendBoolean(true);
                    message7.AppendBoolean(true);
                    message7.AppendInt32(guild.Members.Contains((int)habbo.Id) ? guild.Petitions.Count : 0);
                    gc.SendMessage(message7);
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            string text = Essential.DoFilter(Event.PopFixedString(), false, true);

            if (text.Length < 3)
            {
                ServerMessage Message = new ServerMessage(Outgoing.ChangeUsernameError); // Updated
                Message.AppendInt32(2);
                Message.AppendString(text);
                Message.AppendInt32(0);
                Session.SendMessage(Message);
            }
            else
            {
                if (text.Length > 15)
                {
                    ServerMessage Message = new ServerMessage(Outgoing.ChangeUsernameError); // Updated
                    Message.AppendInt32(3);
                    Message.AppendString(text);
                    Message.AppendInt32(0);
                    Session.SendMessage(Message);
                }
                else
                {
                    if (text.Contains(" ") || !Session.GetClientMessageHandler().method_8(text) || text != ChatCommandHandler.ApplyFilter(text))
                    {
                        ServerMessage Message = new ServerMessage(Outgoing.ChangeUsernameError); // Updated
                        Message.AppendInt32(5);
                        Message.AppendString(text);
                        Message.AppendInt32(0);
                        Session.SendMessage(Message);
                    }
                    else
                    {
                        if (Event.Id == 3511)
                        {
                            ServerMessage Message = new ServerMessage(Outgoing.ChangeUsernameError); // Updated
                            Message.AppendInt32(0);
                            Message.AppendString(text);
                            Message.AppendInt32(0);
                            Session.SendMessage(Message);
                        }
                        else
                        {
                            if (Event.Id == 1457)
                            {
                                ServerMessage Message3 = new ServerMessage(Outgoing.ChangeUsername1); // Updated
                                Message3.AppendUInt(Session.GetHabbo().Id);
                                Message3.AppendUInt(Session.GetHabbo().CurrentRoomId);
                                Message3.AppendString(text);
                                Session.SendMessage(Message3);
                                if (Session.GetHabbo().CurrentRoomId > 0u)
                                {
                                    Room          @class   = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
                                    RoomUser      class2   = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                                    ServerMessage Message4 = new ServerMessage(Outgoing.SetRoomUser); // P
                                    Message4.AppendInt32(1);
                                    class2.method_14(Message4);
                                    @class.SendMessage(Message4, null);
                                }
                                Dictionary <Room, int> dictionary = Essential.GetGame().GetRoomManager().method_22();
                                IEnumerable <Room>     arg_204_0  = dictionary.Keys;
                                if (ChangeUserNameMessageEvent.func_0 == null)
                                {
                                    ChangeUserNameMessageEvent.func_0 = new Func <Room, int>(ChangeUserNameMessageEvent.smethod_0);
                                }
                                IOrderedEnumerable <Room> orderedEnumerable = arg_204_0.OrderByDescending(ChangeUserNameMessageEvent.func_0);
                                foreach (Room current in orderedEnumerable)
                                {
                                    if (current.Owner == Session.GetHabbo().Username)
                                    {
                                        current.Owner = text;
                                        Essential.GetGame().GetRoomManager().method_16(Essential.GetGame().GetRoomManager().GetRoom(current.Id));
                                    }
                                }
                                using (DatabaseClient class3 = Essential.GetDatabase().GetClient())
                                {
                                    class3.AddParamWithValue("newuname", text);
                                    class3.AddParamWithValue("olduname", Session.GetHabbo().Username);
                                    class3.ExecuteQuery(string.Concat(new string[]
                                    {
                                        "UPDATE rooms SET owner = @newuname WHERE owner = @olduname"
                                    }));
                                    class3.AddParamWithValue("newuname", text);

                                    class3.ExecuteQuery(string.Concat(new object[]
                                    {
                                        "UPDATE users SET username = @newuname WHERE Id = '",
                                        Session.GetHabbo().Id,
                                        "' LIMIT 1"
                                    }));
                                    Essential.GetGame().GetClientManager().StoreCommand(Session, "flagme", "OldName: " + Session.GetHabbo().Username + " NewName: " + text);
                                    Session.GetHabbo().Username = text;
                                    Session.GetHabbo().method_1(class3);
                                    foreach (RoomData current2 in Session.GetHabbo().OwnedRooms)
                                    {
                                        current2.Owner = text;
                                    }
                                }
                                Session.GetHabbo().ChangeNamaAchievementsCompleted();
                            }
                        }
                    }
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            if (Session.GetHabbo().uint_2 > 0u && Session.GetHabbo().bool_5)
            {
                RoomData @class = HabboIM.GetGame().GetRoomManager().method_12(Session.GetHabbo().uint_2);
                if (@class != null)
                {
                    Session.GetHabbo().collector       = false;
                    Session.GetHabbo().knastarbeit     = false;
                    Session.GetHabbo().last_gearbeitet = 0.0;

                    if (Session.GetHabbo().jail == 1 && Session.GetHabbo().jailtime < 1)
                    {
                        Session.GetHabbo().jail     = 0;
                        Session.GetHabbo().jailtime = 0.0;
                        Session.GetHabbo().UpdateJail(true);
                        Session.GetHabbo().UpdateJailTime(true);
                    }

                    if (Session.GetHabbo().jail == 1)
                    {
                        if (Session.GetHabbo().jailtime > 1)
                        {
                            HabboIM.GetWebSocketManager().getWebSocketByName(Session.GetHabbo().Username).Send("myh_arrest");
                        }
                    }



                    if (HabboIM.GetGame().GetClientManager().wartung == true && @class.Id != 0u && @class.Id != 1732u && @class.Id != 1732 && @class.Id != 901 && @class.Id != 901u && Session.GetHabbo().Rank < 6)
                    {
                        if (Session.GetHabbo().jail == 1)
                        {
                            uint          num2     = Convert.ToUInt32(1732);
                            Room          class3   = HabboIM.GetGame().GetRoomManager().method_15(num2);
                            ServerMessage Message2 = new ServerMessage(286u);
                            Message2.AppendBoolean(class3.IsPublic);
                            Message2.AppendUInt(1732);
                            Session.SendMessage(Message2);
                        }
                        else
                        {
                            uint          num2     = Convert.ToUInt32(901);
                            Room          class3   = HabboIM.GetGame().GetRoomManager().method_15(num2);
                            ServerMessage Message2 = new ServerMessage(286u);
                            Message2.AppendBoolean(class3.IsPublic);
                            Message2.AppendUInt(901);
                            Session.SendMessage(Message2);
                            Session.SendNotification("Zugang verweigert!\r\rDas Hotel befindet sich momentan im Wartungszustand.");
                        }
                    }
                    else
                    {
                        if (Session.GetHabbo().jail == 1 && Session.GetHabbo().jailtime > 0 && @class.Id != 1732 && @class.Id != 0u && @class.Id != 1732u)
                        {
                            uint          num2     = Convert.ToUInt32(1732);
                            Room          class3   = HabboIM.GetGame().GetRoomManager().method_15(num2);
                            ServerMessage Message2 = new ServerMessage(286u);
                            Message2.AppendBoolean(class3.IsPublic);
                            Message2.AppendUInt(1732);
                            Session.SendMessage(Message2);



                            if (Session.GetHabbo().jailtime != 0.0 && Session.GetHabbo().jailtime > 0)
                            {
                                double  seconds   = (Session.GetHabbo().jailtime) / 60;
                                decimal newtimexx = Convert.ToDecimal(seconds);
                                decimal rundesecs = Math.Round(newtimexx);
                                Session.SendNotification("Versuche nicht, aus dem MyHuBBa Gefängnis auszubrechen...!\r\rDu hast noch eine Haftzeit in höhe von " + rundesecs + " Minuten.\r\rHalte dich das nächste mal an die Regeln des Hotels!");
                            }
                        }
                        else
                        {
                            if (@class.Id == 1732 && Session.GetHabbo().jail == 0 && @class.Id != 0u && Session.GetHabbo().Rank < 3)
                            {
                                Room @classx = HabboIM.GetGame().GetRoomManager().GetRoom(@class.Id);
                                @classx.method_47(Session, true, false);

                                Session.SendNotification("Du kannst das MyHuBBa Gefängnis nicht betreten da du keine Haftstrafe absitzen musst.");
                            }
                            else
                            {
                                if (@class.Model == null)
                                {
                                    Session.SendNotification("Error loading room, please try again soon! (Error Code: MdlData)");
                                    Session.SendMessage(new ServerMessage(18u));
                                    Session.GetClientMessageHandler().method_7();
                                }
                                else
                                {
                                    Session.SendMessage(@class.Model.method_1());
                                    Session.SendMessage(@class.Model.method_2());
                                    Room class2 = HabboIM.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().uint_2);
                                    if (class2 != null)
                                    {
                                        Session.GetClientMessageHandler().method_7();
                                        ServerMessage Message = new ServerMessage(30u);
                                        if (class2.RoomModel.string_2 != "")
                                        {
                                            Message.AppendStringWithBreak(class2.RoomModel.string_2);
                                        }
                                        else
                                        {
                                            Message.AppendInt32(0);
                                        }
                                        Session.SendMessage(Message);
                                        if (class2.Type == "private")
                                        {
                                            Hashtable     hashtable_  = class2.Hashtable_0;
                                            Hashtable     hashtable_2 = class2.Hashtable_1;
                                            ServerMessage Message2    = new ServerMessage(32u);
                                            Message2.AppendInt32(hashtable_.Count);
                                            foreach (RoomItem class3 in hashtable_.Values)
                                            {
                                                class3.method_6(Message2);
                                            }
                                            Session.SendMessage(Message2);
                                            ServerMessage Message3 = new ServerMessage(45u);
                                            Message3.AppendInt32(hashtable_2.Count);
                                            foreach (RoomItem class3 in hashtable_2.Values)
                                            {
                                                class3.method_6(Message3);
                                            }
                                            Session.SendMessage(Message3);
                                        }
                                        class2.method_46(Session, Session.GetHabbo().bool_8);
                                        List <RoomUser> list = new List <RoomUser>();
                                        for (int i = 0; i < class2.RoomUsers.Length; i++)
                                        {
                                            RoomUser class4 = class2.RoomUsers[i];
                                            if (class4 != null && (!class4.bool_11 && class4.bool_12))
                                            {
                                                list.Add(class4);
                                            }
                                        }
                                        ServerMessage Message4 = new ServerMessage(28u);
                                        Message4.AppendInt32(list.Count);
                                        foreach (RoomUser class4 in list)
                                        {
                                            class4.method_14(Message4);
                                        }
                                        Session.SendMessage(Message4);
                                        ServerMessage Message5 = new ServerMessage(472u);
                                        Message5.AppendBoolean(class2.Hidewall);
                                        Message5.AppendInt32(class2.Wallthick);
                                        Message5.AppendInt32(class2.Floorthick);
                                        Session.SendMessage(Message5);
                                        if (class2.Type == "public")
                                        {
                                            ServerMessage Message6 = new ServerMessage(471u);
                                            Message6.AppendBoolean(false);
                                            Message6.AppendStringWithBreak(class2.ModelName);
                                            Message6.AppendBoolean(false);
                                            Session.SendMessage(Message6);
                                        }
                                        else
                                        {
                                            if (class2.Type == "private")
                                            {
                                                ServerMessage Message6 = new ServerMessage(471u);
                                                Message6.AppendBoolean(true);
                                                Message6.AppendUInt(class2.Id);
                                                if (class2.CheckRights(Session, true))
                                                {
                                                    Message6.AppendBoolean(true);
                                                }
                                                else
                                                {
                                                    Message6.AppendBoolean(false);
                                                }
                                                Session.SendMessage(Message6);
                                                ServerMessage Message7 = new ServerMessage(454u);
                                                Message7.AppendBoolean(false);
                                                @class.method_3(Message7, false, false);
                                                Session.SendMessage(Message7);
                                            }
                                        }
                                        ServerMessage Message8 = class2.method_67(true);
                                        if (Message8 != null)
                                        {
                                            Session.SendMessage(Message8);
                                        }
                                        for (int i = 0; i < class2.RoomUsers.Length; i++)
                                        {
                                            RoomUser class4 = class2.RoomUsers[i];
                                            if (class4 != null && !class4.bool_11)
                                            {
                                                if (class4.IsDancing)
                                                {
                                                    ServerMessage Message9 = new ServerMessage(480u);
                                                    Message9.AppendInt32(class4.VirtualId);
                                                    Message9.AppendInt32(class4.DanceId);
                                                    Session.SendMessage(Message9);
                                                }
                                                if (class4.bool_8)
                                                {
                                                    ServerMessage Message10 = new ServerMessage(486u);
                                                    Message10.AppendInt32(class4.VirtualId);
                                                    Message10.AppendBoolean(true);
                                                    Session.SendMessage(Message10);
                                                }
                                                if (class4.CarryItemID > 0 && class4.int_6 > 0)
                                                {
                                                    ServerMessage Message11 = new ServerMessage(482u);
                                                    Message11.AppendInt32(class4.VirtualId);
                                                    Message11.AppendInt32(class4.CarryItemID);
                                                    Session.SendMessage(Message11);
                                                }
                                                if (!class4.IsBot)
                                                {
                                                    try
                                                    {
                                                        if (class4.GetClient().GetHabbo() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0 >= 1)
                                                        {
                                                            ServerMessage Message12 = new ServerMessage(485u);
                                                            Message12.AppendInt32(class4.VirtualId);
                                                            Message12.AppendInt32(class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0);
                                                            Session.SendMessage(Message12);
                                                        }
                                                        goto IL_5C5;
                                                    }
                                                    catch
                                                    {
                                                        goto IL_5C5;
                                                    }
                                                }
                                                if (!class4.IsPet && class4.RoomBot.EffectId != 0)
                                                {
                                                    ServerMessage Message12 = new ServerMessage(485u);
                                                    Message12.AppendInt32(class4.VirtualId);
                                                    Message12.AppendInt32(class4.RoomBot.EffectId);
                                                    Session.SendMessage(Message12);
                                                }
                                            }
                                            IL_5C5 :;
                                        }
                                        if (class2 != null && Session != null && Session.GetHabbo().CurrentRoom != null)
                                        {
                                            Session.GetHabbo().GetEffectsInventoryComponent().method_2(0, true);
                                            class2.method_8(Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id));
                                        }
                                        if (class2.Achievement > 0u)
                                        {
                                            HabboIM.GetGame().GetAchievementManager().addAchievement(Session, class2.Achievement, 1);
                                        }
                                        if (Session.GetHabbo().IsMuted&& Session.GetHabbo().int_4 > 0)
                                        {
                                            ServerMessage Message13 = new ServerMessage(27u);
                                            Message13.AppendInt32(Session.GetHabbo().int_4);
                                            Session.SendMessage(Message13);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int num = Event.PopWiredInt32();

            if (num > 0 && (Session != null && Session.GetHabbo() != null))
            {
                Session.GetHabbo().int_0 = num;
                using (DatabaseClient @class = HabboIM.GetDatabase().GetClient())
                {
                    @class.ExecuteQuery(string.Concat(new object[]
                    {
                        "UPDATE user_stats SET groupid = ",
                        num,
                        " WHERE Id = ",
                        Session.GetHabbo().Id,
                        " LIMIT 1;"
                    }));
                }
                DataTable dataTable_ = Session.GetHabbo().dataTable_0;
                if (dataTable_ != null)
                {
                    ServerMessage Message = new ServerMessage(915u);
                    Message.AppendInt32(dataTable_.Rows.Count);
                    foreach (DataRow dataRow in dataTable_.Rows)
                    {
                        GroupsManager class2 = Groups.smethod_2((int)dataRow["groupid"]);
                        Message.AppendInt32(class2.int_0);
                        Message.AppendStringWithBreak(class2.string_0);
                        Message.AppendStringWithBreak(class2.string_2);
                        if (Session.GetHabbo().int_0 == class2.int_0)
                        {
                            Message.AppendBoolean(true);
                        }
                        else
                        {
                            Message.AppendBoolean(false);
                        }
                    }
                    Session.SendMessage(Message);
                    if (Session.GetHabbo().InRoom)
                    {
                        Room          class14_ = Session.GetHabbo().CurrentRoom;
                        RoomUser      class3   = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
                        ServerMessage Message2 = new ServerMessage(28u);
                        Message2.AppendInt32(1);
                        class3.method_14(Message2);
                        class14_.SendMessage(Message2, null);
                        GroupsManager class4 = Groups.smethod_2(Session.GetHabbo().int_0);
                        if (!class14_.list_17.Contains(class4))
                        {
                            class14_.list_17.Add(class4);
                            ServerMessage Message3 = new ServerMessage(309u);
                            Message3.AppendInt32(class14_.list_17.Count);
                            foreach (GroupsManager class2 in class14_.list_17)
                            {
                                Message3.AppendInt32(class2.int_0);
                                Message3.AppendStringWithBreak(class2.string_2);
                            }
                            class14_.SendMessage(Message3, null);
                        }
                        else
                        {
                            foreach (GroupsManager current in class14_.list_17)
                            {
                                if (current == class4 && current.string_2 != class4.string_2)
                                {
                                    ServerMessage Message3 = new ServerMessage(309u);
                                    Message3.AppendInt32(class14_.list_17.Count);
                                    foreach (GroupsManager class2 in class14_.list_17)
                                    {
                                        Message3.AppendInt32(class2.int_0);
                                        Message3.AppendStringWithBreak(class2.string_2);
                                    }
                                    class14_.SendMessage(Message3, null);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public RoomUser method_4(RoomBot Bot, Pet PetData, uint x = 0)
        {
            int num;
            if (x == 0)
                num = this.method_5();
            else
                num = (int)x;
            RoomUser user = new RoomUser(Convert.ToUInt32(num + 1000), this.Id, this.int_7++, true, x);

            user.int_20 = num;

            this.RoomUsers[num] = user;
            if (Bot.x > 0 && Bot.y > 0 && Bot.x < this.RoomModel.int_4 && Bot.y < this.RoomModel.int_5)
            {
                user.method_7(Bot.x, Bot.y, Bot.z);
                user.method_9(Bot.Rotation);
            }
            else
            {
                Bot.x = this.RoomModel.DoorX;
                Bot.y = this.RoomModel.DoorY;
                user.method_7(this.RoomModel.DoorX, this.RoomModel.DoorY, this.RoomModel.double_0);
                user.method_9(this.RoomModel.int_2);
            }

            user.RoomBot = Bot;
            user.BotAI = Bot.GetBotAI(user.VirtualId);

            if (user.IsPet)
            {
                user.BotAI.Init((int)Bot.Id, user.VirtualId, this.Id);
                user.PetData = PetData;
                user.PetData.VirtualId = user.VirtualId;
            }
            else
            {
                user.BotAI.Init(-1, user.VirtualId, this.Id);
            }
            this.method_87(user, true, true);
            user.UpdateNeeded = true;
            ServerMessage Message = new ServerMessage(Outgoing.SetRoomUser); // P
            Message.AppendInt32(1);
            user.method_14(Message);
            this.SendMessage(Message, null);
            user.BotAI.OnSelfEnterRoom();
            return user;
        }
Ejemplo n.º 7
0
        public RoomUser AddBotToRoom(RoomBot Bot, UserBot UBot)
        {
            int num = (int)UBot.BotId;
            if(num > 500)
            {
                int i = 500;
                while(i > 0)
                {
                    i--;
                    RoomUser ru = RoomUsers[i];
                    if (ru == null)
                    { num = i; break; }
                }
            }
            RoomUser user = new RoomUser(Convert.ToUInt32(UBot.BotId + 1000), this.Id, this.int_7++, true);
            user.int_20 = num;
            this.RoomUsers[num] = user;
            if (Bot.x > 0 && Bot.y > 0 && Bot.x < this.RoomModel.int_4 && Bot.y < this.RoomModel.int_5)
            {
                user.method_7(Bot.x, Bot.y, Bot.z);
                user.method_9(Bot.Rotation);
            }
            else
            {
                Bot.x = this.RoomModel.DoorX;
                Bot.y = this.RoomModel.DoorY;
                user.method_7(this.RoomModel.DoorX, this.RoomModel.DoorY, this.RoomModel.double_0);
                user.method_9(this.RoomModel.int_2);
            }

            user.RoomBot = Bot;
            user.BotAI = Bot.GetBotAI(user.VirtualId);

            user.BotAI.Init((int)Bot.Id, user.VirtualId, this.Id);

            this.method_87(user, true, true);
            user.UpdateNeeded = true;
            ServerMessage Message = new ServerMessage(Outgoing.PlaceBot); // P
            Message.AppendInt32(1);
            user.method_14(Message);
            this.SendMessage(Message, null);
            user.BotAI.OnSelfEnterRoom();
            return user;
        }
Ejemplo n.º 8
0
        public void method_46(GameClient Session, bool bool_13)
        {

            RoomUser @class = new RoomUser(Session.GetHabbo().Id, this.Id, this.int_7++, Session.GetHabbo().IsVisible);
            if (@class != null && @class.GetClient() != null && @class.GetClient().GetHabbo() != null)
            {
                if (bool_13 || [email protected]_12)
                {
                    @class.bool_11 = true;
                }
                else
                {
                    @class.method_7(this.RoomModel.DoorX, this.RoomModel.DoorY, this.RoomModel.double_0);
                    @class.method_9(this.RoomModel.int_2);
                    if (this.CheckRights(Session, true))
                    {
                        @class.AddStatus("flatctrl", "useradmin");
                    }
                    else
                    {
                        if (this.method_26(Session))
                        {
                            @class.AddStatus("flatctrl", "");
                        }
                    }
                    if ([email protected] && @class.GetClient().GetHabbo().bool_7)
                    {
                        RoomItem class2 = this.method_28(@class.GetClient().GetHabbo().uint_5);
                        if (class2 != null)
                        {
                            @class.method_7(class2.GetX, class2.Int32_1, class2.Double_0);
                            @class.method_9(class2.int_3);
                            class2.uint_4 = Session.GetHabbo().Id;
                            class2.ExtraData = "2";
                            class2.UpdateState(false, true);
                        }
                    }
                    @class.GetClient().GetHabbo().bool_7 = false;
                    @class.GetClient().GetHabbo().uint_5 = 0u;
                    ServerMessage Message = new ServerMessage(Outgoing.SetRoomUser); // P
                    Message.AppendInt32(1);
                    @class.method_14(Message);
                    this.SendMessage(Message, null);
                }
                int num = this.method_5();
                @class.int_20 = num;
                this.RoomUsers[num] = @class;
                if (!bool_13)
                {
                    this.bool_10 = true;
                }

                Session.GetHabbo().CurrentRoomId = this.Id;
                Session.GetHabbo().GetMessenger().method_5(true);
                Session.GetHabbo().RoomVisits++;
                Session.GetHabbo().CheckRoomEntryAchievements();
                Session.GetHabbo().SendToRoom(this.Id);

                //  Session.SendMessage(Session.GetHabbo().CurrentRoom.RoomModel.RelativeHeightmap(Session.GetHabbo().CurrentRoom));

                if (Session.GetHabbo().FavouriteGroup > 0)
                {
                    GroupsManager class3 = Groups.GetGroupById(Session.GetHabbo().FavouriteGroup);
                    if (class3 != null && !this.list_17.Contains(class3))
                    {
                        this.list_17.Add(class3);
                        ServerMessage Message2 = new ServerMessage(Outgoing.Guilds); // Updated
                        Message2.AppendInt32(this.list_17.Count);
                        foreach (GroupsManager current in this.list_17)
                        {
                            Message2.AppendInt32(current.Id);
                            Message2.AppendStringWithBreak(current.Badge);
                        }
                        this.SendMessage(Message2, null);
                    }
                }
                if (!bool_13)
                {
                    this.method_51();
                    for (int i = 0; i < this.RoomUsers.Length; i++)
                    {
                        RoomUser class4 = this.RoomUsers[i];
                        if (class4 != null && class4.IsBot)
                        {
                            class4.BotAI.OnUserEnterRoom(@class);
                        }
                    }
                }

                ServerMessage RoomCompetition = new ServerMessage(Outgoing.RoomCompetition);
                RoomCompetition.AppendBoolean(true);
                RoomCompetition.AppendInt32(85);
                Session.SendMessage(RoomCompetition);

                bool RoomHasPoll = false;
                bool UserFilledPoll = false;
                using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                {
                    if (dbClient.ReadDataRow("SELECT null FROM room_polls WHERE room_id = '" + Session.GetHabbo().CurrentRoomId + "' LIMIT 1") != null)
                    {
                        RoomHasPoll = true;
                    }
                }

                if (RoomHasPoll == true)
                {

                    int PollId;
                    string PollDetails;

                    using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                    {
                        PollId = dbClient.ReadInt32("SELECT id FROM room_polls WHERE room_id = '" + Session.GetHabbo().CurrentRoomId + "' LIMIT 1");
                        PollDetails = dbClient.ReadString("SELECT details FROM room_polls WHERE id = '" + PollId + "' LIMIT 1");


                        if (dbClient.ReadDataRow("SELECT null FROM room_poll_results WHERE user_id = '" + Session.GetHabbo().Id + "' AND poll_id = '" + PollId + "' LIMIT 1") != null)
                        {
                            UserFilledPoll = true;
                        }

                    }

                    if (UserFilledPoll == false)
                    {
                        Thread ShowPoll = new Thread(delegate() { Room.ShowPoll(Session, PollId, PollDetails); });
                        ShowPoll.Start();

                    }

                }
            }
        }
Ejemplo n.º 9
0
 public void Handle(GameClient Session, ClientMessage Event)
 {
     if (Session.GetHabbo().uint_2 > 0u && Session.GetHabbo().bool_5)
     {
         RoomData @class = GoldTree.GetGame().GetRoomManager().method_12(Session.GetHabbo().uint_2);
         if (@class != null)
         {
             if (@class.Model == null)
             {
                 Session.SendNotification("Error loading room, please try again soon! (Error Code: MdlData)");
                 Session.SendMessage(new ServerMessage(18u));
                 Session.GetClientMessageHandler().method_7();
             }
             else
             {
                 Session.SendMessage(@class.Model.method_1());
                 Session.SendMessage(@class.Model.method_2());
                 Room class2 = GoldTree.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().uint_2);
                 if (class2 != null)
                 {
                     Session.GetClientMessageHandler().method_7();
                     ServerMessage Message = new ServerMessage(30u);
                     if (class2.RoomModel.string_2 != "")
                     {
                         Message.AppendStringWithBreak(class2.RoomModel.string_2);
                     }
                     else
                     {
                         Message.AppendInt32(0);
                     }
                     Session.SendMessage(Message);
                     if (class2.Type == "private")
                     {
                         Hashtable     hashtable_  = class2.Hashtable_0;
                         Hashtable     hashtable_2 = class2.Hashtable_1;
                         ServerMessage Message2    = new ServerMessage(32u);
                         Message2.AppendInt32(hashtable_.Count);
                         foreach (RoomItem class3 in hashtable_.Values)
                         {
                             class3.method_6(Message2);
                         }
                         Session.SendMessage(Message2);
                         ServerMessage Message3 = new ServerMessage(45u);
                         Message3.AppendInt32(hashtable_2.Count);
                         foreach (RoomItem class3 in hashtable_2.Values)
                         {
                             class3.method_6(Message3);
                         }
                         Session.SendMessage(Message3);
                     }
                     class2.method_46(Session, Session.GetHabbo().bool_8);
                     List <RoomUser> list = new List <RoomUser>();
                     for (int i = 0; i < class2.RoomUsers.Length; i++)
                     {
                         RoomUser class4 = class2.RoomUsers[i];
                         if (class4 != null && (!class4.bool_11 && class4.bool_12))
                         {
                             list.Add(class4);
                         }
                     }
                     ServerMessage Message4 = new ServerMessage(28u);
                     Message4.AppendInt32(list.Count);
                     foreach (RoomUser class4 in list)
                     {
                         class4.method_14(Message4);
                     }
                     Session.SendMessage(Message4);
                     ServerMessage Message5 = new ServerMessage(472u);
                     Message5.AppendBoolean(class2.Hidewall);
                     Message5.AppendInt32(class2.Wallthick);
                     Message5.AppendInt32(class2.Floorthick);
                     Session.SendMessage(Message5);
                     if (class2.Type == "public")
                     {
                         ServerMessage Message6 = new ServerMessage(471u);
                         Message6.AppendBoolean(false);
                         Message6.AppendStringWithBreak(class2.ModelName);
                         Message6.AppendBoolean(false);
                         Session.SendMessage(Message6);
                     }
                     else
                     {
                         if (class2.Type == "private")
                         {
                             ServerMessage Message6 = new ServerMessage(471u);
                             Message6.AppendBoolean(true);
                             Message6.AppendUInt(class2.Id);
                             if (class2.CheckRights(Session, true))
                             {
                                 Message6.AppendBoolean(true);
                             }
                             else
                             {
                                 Message6.AppendBoolean(false);
                             }
                             Session.SendMessage(Message6);
                             ServerMessage Message7 = new ServerMessage(454u);
                             Message7.AppendBoolean(false);
                             @class.method_3(Message7, false, false);
                             Session.SendMessage(Message7);
                         }
                     }
                     ServerMessage Message8 = class2.method_67(true);
                     if (Message8 != null)
                     {
                         Session.SendMessage(Message8);
                     }
                     for (int i = 0; i < class2.RoomUsers.Length; i++)
                     {
                         RoomUser class4 = class2.RoomUsers[i];
                         if (class4 != null && !class4.bool_11)
                         {
                             if (class4.IsDancing)
                             {
                                 ServerMessage Message9 = new ServerMessage(480u);
                                 Message9.AppendInt32(class4.VirtualId);
                                 Message9.AppendInt32(class4.DanceId);
                                 Session.SendMessage(Message9);
                             }
                             if (class4.bool_8)
                             {
                                 ServerMessage Message10 = new ServerMessage(486u);
                                 Message10.AppendInt32(class4.VirtualId);
                                 Message10.AppendBoolean(true);
                                 Session.SendMessage(Message10);
                             }
                             if (class4.CarryItemID > 0 && class4.int_6 > 0)
                             {
                                 ServerMessage Message11 = new ServerMessage(482u);
                                 Message11.AppendInt32(class4.VirtualId);
                                 Message11.AppendInt32(class4.CarryItemID);
                                 Session.SendMessage(Message11);
                             }
                             if (!class4.IsBot)
                             {
                                 try
                                 {
                                     if (class4.GetClient().GetHabbo() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0 >= 1)
                                     {
                                         ServerMessage Message12 = new ServerMessage(485u);
                                         Message12.AppendInt32(class4.VirtualId);
                                         Message12.AppendInt32(class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0);
                                         Session.SendMessage(Message12);
                                     }
                                     goto IL_5C5;
                                 }
                                 catch
                                 {
                                     goto IL_5C5;
                                 }
                             }
                             if (!class4.IsPet && class4.RoomBot.EffectId != 0)
                             {
                                 ServerMessage Message12 = new ServerMessage(485u);
                                 Message12.AppendInt32(class4.VirtualId);
                                 Message12.AppendInt32(class4.RoomBot.EffectId);
                                 Session.SendMessage(Message12);
                             }
                         }
                         IL_5C5 :;
                     }
                     if (class2 != null && Session != null && Session.GetHabbo().CurrentRoom != null)
                     {
                         Session.GetHabbo().GetEffectsInventoryComponent().method_2(0, true);
                         class2.method_8(Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id));
                     }
                     if (class2.Achievement > 0u)
                     {
                         GoldTree.GetGame().GetAchievementManager().addAchievement(Session, class2.Achievement, 1);
                     }
                     if (Session.GetHabbo().IsMuted&& Session.GetHabbo().int_4 > 0)
                     {
                         ServerMessage Message13 = new ServerMessage(27u);
                         Message13.AppendInt32(Session.GetHabbo().int_4);
                         Session.SendMessage(Message13);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 10
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            int num = Event.PopWiredInt32();

            if (num > 0 && (Session != null && Session.GetHabbo() != null))
            {
                Session.GetHabbo().FavouriteGroup = num;
                using (DatabaseClient @class = Essential.GetDatabase().GetClient())
                {
                    @class.ExecuteQuery(string.Concat(new object[]
                    {
                        "UPDATE user_stats SET groupid = ",
                        num,
                        " WHERE Id = ",
                        Session.GetHabbo().Id,
                        " LIMIT 1;"
                    }));
                }
                DataTable dataTable_ = Session.GetHabbo().dataTable_0;
                string    OwnerName  = "";
                if (dataTable_ != null)
                {
                    GroupsManager @class  = Groups.GetGroupById(Session.GetHabbo().FavouriteGroup);
                    ServerMessage Message = new ServerMessage(Outgoing.GroupInfo); // Updated
                    Message.AppendInt32(@class.Id);
                    Message.AppendBoolean(true);
                    Message.AppendInt32(@class.Locked == "open" ? 0 : 1);
                    Message.AppendStringWithBreak(@class.Name);
                    Message.AppendStringWithBreak(@class.Description);
                    Message.AppendStringWithBreak(@class.Badge);
                    using (DatabaseClient dbClient = Essential.GetDatabase().GetClient())
                    {
                        OwnerName = dbClient.ReadString("SELECT username FROM users WHERE id = '" + @class.OwnerId + "' LIMIT 1");
                    }
                    if (@class.RoomId > 0u)
                    {
                        Message.AppendUInt(@class.RoomId);
                        if (Essential.GetGame().GetRoomManager().GetRoom(@class.RoomId) != null)
                        {
                            Message.AppendStringWithBreak(Essential.GetGame().GetRoomManager().GetRoom(@class.RoomId).Name);
                            goto IL_15A;
                        }
                        using (DatabaseClient class2 = Essential.GetDatabase().GetClient())
                        {
                            try
                            {
                                DataRow dataRow_ = class2.ReadDataRow("SELECT * FROM rooms WHERE Id = " + @class.RoomId + " LIMIT 1;");
                                string  string_  = Essential.GetGame().GetRoomManager().method_17(@class.RoomId, dataRow_).Name;
                                Message.AppendStringWithBreak(string_);
                            }
                            catch
                            {
                                Message.AppendInt32(-1);
                                Message.AppendStringWithBreak("");
                            }
                            goto IL_15A;
                        }
                    }
                    Message.AppendInt32(-1);
                    Message.AppendStringWithBreak("");
IL_15A:
                    bool flag = false;
                    foreach (DataRow dataRow in Session.GetHabbo().dataTable_0.Rows)
                    {
                        if ((int)dataRow["groupid"] == @class.Id)
                        {
                            flag = true;
                        }
                    }
                    if (Session.GetHabbo().list_0.Contains(@class.Id))
                    {
                        Message.AppendInt32(1);
                    }
                    else
                    {
                        if (flag)
                        {
                            Message.AppendInt32(1);
                        }
                        else
                        {
                            if (@class.Members.Contains((int)Session.GetHabbo().Id))
                            {
                                Message.AppendInt32(1);
                            }
                            else
                            {
                                Message.AppendInt32(0);
                            }
                        }
                    }
                    Message.AppendInt32(@class.Members.Count);

                    Message.AppendBoolean(false);

                    Message.AppendString(@class.Created);
                    Message.AppendBoolean((@class.OwnerId == Session.GetHabbo().Id));
                    Message.AppendBoolean((Session.GetHabbo().FavouriteGroup == @class.Id));
                    Message.AppendString(OwnerName);
                    Message.AppendBoolean(false);
                    Message.AppendBoolean(true);
                    Message.AppendInt32(0); // Pending
                    Session.SendMessage(Message);

                    ServerMessage UpdateFaver = new ServerMessage(Outgoing.UpdateFavGuild);
                    UpdateFaver.AppendUInt(Session.GetHabbo().Id);
                    Session.SendMessage(UpdateFaver);

                    if (Session.GetHabbo().InRoom)
                    {
                        Room          class14_ = Session.GetHabbo().CurrentRoom;
                        RoomUser      class3   = class14_.GetRoomUserByHabbo(Session.GetHabbo().Id);
                        ServerMessage Message2 = new ServerMessage(Outgoing.SetRoomUser); // P
                        Message2.AppendInt32(1);
                        class3.method_14(Message2);
                        class14_.SendMessage(Message2, null);
                        GroupsManager class4 = Groups.GetGroupById(Session.GetHabbo().FavouriteGroup);
                        if (!class14_.list_17.Contains(class4))
                        {
                            class14_.list_17.Add(class4);
                            ServerMessage Message3 = new ServerMessage(Outgoing.Guilds); // Updated
                            Message3.AppendInt32(class14_.list_17.Count);
                            foreach (GroupsManager class2 in class14_.list_17)
                            {
                                Message3.AppendInt32(class2.Id);
                                Message3.AppendStringWithBreak(class2.Badge);
                            }
                            class14_.SendMessage(Message3, null);
                        }
                        else
                        {
                            foreach (GroupsManager current in class14_.list_17)
                            {
                                if (current == class4 && current.Badge != class4.Badge)
                                {
                                    ServerMessage Message3 = new ServerMessage(Outgoing.Guilds); // Updated
                                    Message3.AppendInt32(class14_.list_17.Count);
                                    foreach (GroupsManager class2 in class14_.list_17)
                                    {
                                        Message3.AppendInt32(class2.Id);
                                        Message3.AppendStringWithBreak(class2.Badge);
                                    }
                                    class14_.SendMessage(Message3, null);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
        public void Handle(GameClient Session, ClientMessage Event)
        {
            string text = GoldTree.DoFilter(Event.PopFixedString(), false, true);

            if (text.Length < 3)
            {
                ServerMessage Message = new ServerMessage(571u);
                Message.AppendString("J");
                Session.SendMessage(Message);
            }
            else
            {
                if (text.Length > 15)
                {
                    ServerMessage Message = new ServerMessage(571u);
                    Message.AppendString("K");
                    Session.SendMessage(Message);
                }
                else
                {
                    if (text.Contains(" ") || !Session.method_1().method_8(text) || text != ChatCommandHandler.smethod_4(text))
                    {
                        ServerMessage Message = new ServerMessage(571u);
                        Message.AppendString("QA");
                        Session.SendMessage(Message);
                    }
                    else
                    {
                        if (Event.Header == "GW")
                        {
                            ServerMessage Message = new ServerMessage(571u);
                            Message.AppendString("H");
                            Message.AppendString(text);
                            Session.SendMessage(Message);
                        }
                        else
                        {
                            if (Event.Header == "GV")
                            {
                                ServerMessage Message2 = new ServerMessage(570u);
                                Message2.AppendString("H");
                                Session.SendMessage(Message2);
                                ServerMessage Message3 = new ServerMessage(572u);
                                Message3.AppendUInt(Session.GetHabbo().Id);
                                Message3.AppendString("H");
                                Message3.AppendString(text);
                                Session.SendMessage(Message3);
                                if (Session.GetHabbo().CurrentRoomId > 0u)
                                {
                                    Room          @class   = GoldTree.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
                                    RoomUser      class2   = @class.GetRoomUserByHabbo(Session.GetHabbo().Id);
                                    ServerMessage Message4 = new ServerMessage(28u);
                                    Message4.AppendInt32(1);
                                    class2.method_14(Message4);
                                    @class.SendMessage(Message4, null);
                                }
                                Dictionary <Room, int> dictionary = GoldTree.GetGame().GetRoomManager().method_22();
                                IEnumerable <Room>     arg_204_0  = dictionary.Keys;
                                if (ChangeUserNameMessageEvent.func_0 == null)
                                {
                                    ChangeUserNameMessageEvent.func_0 = new Func <Room, int>(ChangeUserNameMessageEvent.smethod_0);
                                }
                                IOrderedEnumerable <Room> orderedEnumerable = arg_204_0.OrderByDescending(ChangeUserNameMessageEvent.func_0);
                                foreach (Room current in orderedEnumerable)
                                {
                                    if (current.Owner == Session.GetHabbo().Username)
                                    {
                                        current.Owner = text;
                                        GoldTree.GetGame().GetRoomManager().method_16(GoldTree.GetGame().GetRoomManager().GetRoom(current.Id));
                                    }
                                }
                                using (DatabaseClient class3 = GoldTree.GetDatabase().GetClient())
                                {
                                    class3.ExecuteQuery(string.Concat(new string[]
                                    {
                                        "UPDATE rooms SET owner = '",
                                        text,
                                        "' WHERE owner = '",
                                        Session.GetHabbo().Username,
                                        "'"
                                    }));
                                    class3.ExecuteQuery(string.Concat(new object[]
                                    {
                                        "UPDATE users SET username = '******' WHERE Id = '",
                                        Session.GetHabbo().Id,
                                        "' LIMIT 1"
                                    }));
                                    GoldTree.GetGame().GetClientManager().method_31(Session, "flagme", "OldName: " + Session.GetHabbo().Username + " NewName: " + text);
                                    Session.GetHabbo().Username = text;
                                    Session.GetHabbo().method_1(class3);
                                    foreach (RoomData current2 in Session.GetHabbo().list_6)
                                    {
                                        current2.Owner = text;
                                    }
                                }
                                Session.GetHabbo().ChangeNamaAchievementsCompleted();
                            }
                        }
                    }
                }
            }
        }
        public void Handle(GameClient Session, ClientMessage Event)
        {
            if (Session.GetHabbo().uint_2 > 0u && Session.GetHabbo().bool_5)
            {
                RoomData @class = Essential.GetGame().GetRoomManager().method_12(Session.GetHabbo().uint_2);
                if (@class != null)
                {
                    Room class2 = Essential.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().uint_2);
                    if (class2 != null)
                    {
                        Session.GetClientMessageHandler().method_7();

                        if (class2.Type == "private")
                        {
                            Hashtable     hashtable_  = class2.Hashtable_0;
                            Hashtable     hashtable_2 = class2.Hashtable_1;
                            ServerMessage Message2    = new ServerMessage(Outgoing.SerializeFloorItems);  // P
                            if (hashtable_.Count > 0)
                            {
                                Message2.AppendInt32(1);
                                Message2.AppendInt32(class2.OwnerId);
                                Message2.AppendString(class2.Owner);
                            }
                            else
                            {
                                Message2.AppendInt32(0);
                            }
                            Message2.AppendInt32(hashtable_.Count);
                            foreach (RoomItem class3 in hashtable_.Values)
                            {
                                class3.Serialize(Message2);
                            }

                            /* using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\filut\testit.txt", true))
                             * {
                             *   file.WriteLine(Message2.ToString());
                             * }
                             */
                            Session.SendMessage(Message2);
                            ServerMessage Message3 = new ServerMessage(Outgoing.SerializeWallItems);     // P
                            if (hashtable_2.Count > 0)
                            {
                                Message3.AppendInt32(1);
                                Message3.AppendInt32(class2.OwnerId);
                                Message3.AppendString(class2.Owner);
                            }
                            else
                            {
                                Message3.AppendInt32(0);
                            }
                            Message3.AppendInt32(hashtable_2.Count);
                            foreach (RoomItem class3 in hashtable_2.Values)
                            {
                                class3.Serialize(Message3);
                            }
                            Session.SendMessage(Message3);
                        }
                        else
                        {
                        }
                        class2.method_46(Session, Session.GetHabbo().bool_8);
                        List <RoomUser> list = new List <RoomUser>();
                        for (int i = 0; i < class2.RoomUsers.Length; i++)
                        {
                            RoomUser class4 = class2.RoomUsers[i];
                            if (class4 != null && (!class4.bool_11 && class4.bool_12))
                            {
                                list.Add(class4);
                            }
                        }
                        ServerMessage Message4 = new ServerMessage(Outgoing.SetRoomUser);     // P
                        Message4.AppendInt32(list.Count);
                        foreach (RoomUser class4 in list)
                        {
                            class4.method_14(Message4);
                        }
                        Session.SendMessage(Message4);
                        if (class2.Type == "public")
                        {
                            /*        ServerMessage Message6 = new ServerMessage(2877); // P
                             *      Message6.AppendBoolean(false);
                             *      Message6.AppendString(class2.ModelName);
                             *      Message6.AppendUInt(0);
                             *      Message6.AppendBoolean(false);
                             *      Session.SendMessage(Message6);
                             */
                        }
                        else
                        {
                            if (class2.Type == "private")
                            {
                                ServerMessage Message5 = new ServerMessage(Outgoing.ConfigureWallandFloor);     // P
                                Message5.AppendBoolean(class2.Hidewall);
                                Message5.AppendInt32(class2.Wallthick);
                                Message5.AppendInt32(class2.Floorthick);
                                Session.SendMessage(Message5);

                                ServerMessage Message6 = new ServerMessage(Outgoing.RoomEntryInfo);     // P
                                Message6.AppendBoolean(true);
                                Message6.AppendUInt(class2.Id);
                                Message6.AppendBoolean(class2.CheckRights(Session, true));
                                Session.SendMessage(Message6);
                                ServerMessage RoomDataa = new ServerMessage(Outgoing.RoomData);
                                RoomDataa.AppendBoolean(true);
                                RoomDataa.AppendInt32(class2.Id);
                                RoomDataa.AppendString(class2.Name);
                                RoomDataa.AppendBoolean(true);
                                RoomDataa.AppendInt32(class2.OwnerId);
                                RoomDataa.AppendString(class2.Owner);
                                RoomDataa.AppendInt32(class2.State);
                                RoomDataa.AppendInt32(class2.UsersNow);
                                RoomDataa.AppendInt32(class2.UsersMax);
                                RoomDataa.AppendString(class2.Description);
                                RoomDataa.AppendInt32((class2.Category == 0x34) ? 2 : 0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(class2.Score);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(class2.Category);
                                if (Groups.GetRoomGroup(class2.Id) == null)
                                {
                                    RoomDataa.AppendInt32(0);
                                    RoomDataa.AppendInt32(0);
                                }
                                else
                                {
                                    GroupsManager guild = Groups.GetRoomGroup(class2.Id);
                                    RoomDataa.AppendInt32(guild.Id);
                                    RoomDataa.AppendString(guild.Name);
                                    RoomDataa.AppendString(guild.Badge);
                                }
                                RoomDataa.AppendString("");
                                RoomDataa.AppendInt32(class2.Tags.Count);
                                foreach (string str in class2.Tags)
                                {
                                    RoomDataa.AppendString(str);
                                }
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendBoolean(true);
                                RoomDataa.AppendBoolean(true);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendBoolean(false);
                                RoomDataa.AppendBoolean(false);
                                RoomDataa.AppendBoolean(false);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendInt32(0);
                                RoomDataa.AppendBoolean(false);
                                RoomDataa.AppendBoolean(true);
                                RoomDataa.AppendBoolean(true);    //forse
                                Session.SendMessage(RoomDataa);
                                if ((class2.UsersWithRights.Count > 0) && class2.CheckRights(Session, true))
                                {
                                    ServerMessage PowerList = new ServerMessage(Outgoing.GetPowerList);
                                    PowerList.AppendInt32(class2.RoomData.Id);
                                    PowerList.AppendInt32(class2.UsersWithRights.Count);
                                    foreach (uint num in class2.UsersWithRights)
                                    {
                                        PowerList.AppendInt32(num);
                                        PowerList.AppendString(Essential.GetGame().GetClientManager().GetNameById(num));
                                    }
                                    Session.SendMessage(PowerList);
                                    foreach (uint num in class2.UsersWithRights)
                                    {
                                        ServerMessage GivePower = new ServerMessage(Outgoing.GivePowers);
                                        GivePower.AppendInt32(class2.RoomData.Id);
                                        GivePower.AppendInt32(num);
                                        GivePower.AppendString(Essential.GetGame().GetClientManager().GetNameById(num));
                                        Session.SendMessage(GivePower);
                                    }
                                }
                            }
                        }
                        ServerMessage Message8 = class2.method_67(true);
                        if (Message8 != null)
                        {
                            Session.SendMessage(Message8);
                        }
                        for (int i = 0; i < class2.RoomUsers.Length; i++)
                        {
                            RoomUser class4 = class2.RoomUsers[i];
                            if (class4 != null && !class4.bool_11)
                            {
                                if (class4.IsDancing)
                                {
                                    ServerMessage Message9 = new ServerMessage(Outgoing.Dance);     // 480 Dance Updated
                                    Message9.AppendInt32(class4.VirtualId);
                                    Message9.AppendInt32(class4.DanceId);
                                    Session.SendMessage(Message9);
                                }
                                if (class4.bool_8)
                                {
                                    ServerMessage Message10 = new ServerMessage(Outgoing.IdleStatus);     // 486 IdleStatus Updated
                                    Message10.AppendInt32(class4.VirtualId);
                                    Message10.AppendBoolean(true);
                                    Session.SendMessage(Message10);
                                }
                                if (class4.CarryItemID > 0 && class4.int_6 > 0)
                                {
                                    ServerMessage Message11 = new ServerMessage(Outgoing.ApplyCarryItem);     // CarryItem Updated
                                    Message11.AppendInt32(class4.VirtualId);
                                    Message11.AppendInt32(class4.CarryItemID);
                                    Session.SendMessage(Message11);
                                }
                                if (!class4.IsBot)
                                {
                                    try
                                    {
                                        if (class4.GetClient().GetHabbo() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent() != null && class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0 >= 1)
                                        {
                                            ServerMessage Message12 = new ServerMessage(Outgoing.ApplyEffects);     // 485 ApplyEffects Updated
                                            Message12.AppendInt32(class4.VirtualId);
                                            Message12.AppendInt32(class4.GetClient().GetHabbo().GetEffectsInventoryComponent().int_0);
                                            Message12.AppendInt32(0);
                                            Session.SendMessage(Message12);
                                        }
                                        goto IL_5C5;
                                    }
                                    catch
                                    {
                                        goto IL_5C5;
                                    }
                                }
                                if (!class4.IsPet && class4.RoomBot.EffectId != 0)
                                {
                                    ServerMessage Message12 = new ServerMessage(Outgoing.ApplyEffects);
                                    Message12.AppendInt32(class4.VirtualId);
                                    Message12.AppendInt32(class4.RoomBot.EffectId);
                                    Message12.AppendInt32(0);
                                    Session.SendMessage(Message12);
                                }
                            }
                            IL_5C5 :;
                        }
                        if (class2 != null && Session != null && Session.GetHabbo().CurrentRoom != null)
                        {
                            // Session.GetHabbo().GetEffectsInventoryComponent().method_2(0, true);
                            class2.method_8(Session.GetHabbo().CurrentRoom.GetRoomUserByHabbo(Session.GetHabbo().Id));
                        }
                        if (class2.Achievement > 0u)
                        {
                            Essential.GetGame().GetAchievementManager().addAchievement(Session, class2.Achievement, 1);
                        }

                        /*
                         * ServerMessage InitTrade = new ServerMessage(Outgoing.TradeAllowed);
                         * InitTrade.AppendInt32(1);
                         * Session.SendMessage(InitTrade);
                         */
                        if (Session.GetHabbo().IsMuted&& Session.GetHabbo().int_4 > 0)
                        {
                            /*ServerMessage Message13 = new ServerMessage(27u);
                             * Message13.AppendInt32(Session.GetHabbo().int_4);
                             * Session.SendMessage(Message13);
                             */
                        }
                    }
                }
            }
        }