예제 #1
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            if (Session.GetHabbo() == null)
            {
                return;
            }

            string Gender = Packet.PopString().ToUpper();
            string Look   = Packet.PopString();

            if (Gender != "M" && Gender != "F")
            {
                return;
            }

            Room currentRoom = Session.GetHabbo().CurrentRoom;

            //if (currentRoom != null && currentRoom.RpRoom)
            //return;

            Look = ButterflyEnvironment.GetFigureManager().ProcessFigure(Look, Gender, true);
            ButterflyEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Session, QuestType.PROFILE_CHANGE_LOOK, 0);
            Session.GetHabbo().Look   = Look;
            Session.GetHabbo().Gender = Gender.ToLower();
            using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                queryreactor.SetQuery("UPDATE users SET look = @look, gender = @gender WHERE id = " + Session.GetHabbo().Id);
                queryreactor.AddParameter("look", Look);
                queryreactor.AddParameter("gender", Gender);
                queryreactor.RunQuery();
            }
            ButterflyEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_AvatarLooks", 1);
            if (!Session.GetHabbo().InRoom)
            {
                return;
            }
            if (currentRoom == null)
            {
                return;
            }
            RoomUser roomUserByHabbo = currentRoom.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id);

            if (roomUserByHabbo == null)
            {
                return;
            }

            if (roomUserByHabbo.transformation || roomUserByHabbo.IsSpectator)
            {
                return;
            }

            Session.SendPacket(new UserChangeComposer(roomUserByHabbo, true));
            currentRoom.SendPacket(new UserChangeComposer(roomUserByHabbo, false));
        }
예제 #2
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            int    num    = Packet.PopInt();
            string Look   = Packet.PopString();
            string Gender = Packet.PopString();

            if (Gender != "M" && Gender != "F")
            {
                return;
            }
            Look = ButterflyEnvironment.GetFigureManager().ProcessFigure(Look, Gender, true);
            using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                queryreactor.SetQuery(string.Concat(new object[4]
                {
                    "SELECT null FROM user_wardrobe WHERE user_id = ",
                    Session.GetHabbo().Id,
                    " AND slot_id = ",
                    num
                }));
                queryreactor.AddParameter("look", Look);
                queryreactor.AddParameter("gender", Gender.ToUpper());
                if (queryreactor.GetRow() != null)
                {
                    queryreactor.SetQuery("UPDATE user_wardrobe SET look = @look, gender = @gender WHERE user_id = " + Session.GetHabbo().Id + " AND slot_id = " + num + ";");
                    queryreactor.AddParameter("look", Look);
                    queryreactor.AddParameter("gender", Gender.ToUpper());
                    queryreactor.RunQuery();
                }
                else
                {
                    queryreactor.SetQuery("INSERT INTO user_wardrobe (user_id,slot_id,look,gender) VALUES (" + Session.GetHabbo().Id + "," + num + ",@look,@gender)");
                    queryreactor.AddParameter("look", Look);
                    queryreactor.AddParameter("gender", Gender.ToUpper());
                    queryreactor.RunQuery();
                }
            }
        }
예제 #3
0
        public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params)
        {
            if (Params.Length != 2)
            {
                return;
            }

            string Cmd = Params[1];

            if (string.IsNullOrEmpty(Cmd))
            {
                return;
            }

            switch (Cmd)
            {
            case "text":
            case "texte":
            case "locale":
            {
                ButterflyEnvironment.GetLanguageManager().InitLocalValues();
                break;
            }

            case "autogame":
            {
                ButterflyEnvironment.GetGame().GetAnimationManager().ForceDisabled = !ButterflyEnvironment.GetGame().GetAnimationManager().ForceDisabled;
                if (!ButterflyEnvironment.GetGame().GetAnimationManager().ForceDisabled)
                {
                    UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.autogame.false", Session.Langue));
                }
                else
                {
                    UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.autogame.true", Session.Langue));
                }

                break;
            }

            case "rpitems":
            {
                ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().Init();
                break;
            }

            case "rpweapon":
            {
                ButterflyEnvironment.GetGame().GetRoleplayManager().GetWeaponManager().Init();
                break;
            }

            case "rpenemy":
            {
                ButterflyEnvironment.GetGame().GetRoleplayManager().GetEnemyManager().Init();
                break;
            }

            case "cmd":
            case "commands":
            {
                ButterflyEnvironment.GetGame().GetChatManager().GetCommands().Init();
                break;
            }

            case "role":
            {
                ButterflyEnvironment.GetGame().GetRoleManager().Init();
                break;
            }

            case "effet":
            {
                ButterflyEnvironment.GetGame().GetEffectsInventoryManager().Init();
                break;
            }

            case "rp":
            case "roleplay":
            {
                ButterflyEnvironment.GetGame().GetRoleplayManager().Init();
                break;
            }

            case "catalogue":
            case "cata":
            {
                ButterflyEnvironment.GetGame().GetCatalog().Init(ButterflyEnvironment.GetGame().GetItemManager());
                ButterflyEnvironment.GetGame().GetClientManager().SendMessage(new CatalogUpdatedComposer());
                break;
            }

            case "navigateur":
            case "navi":
            {
                ButterflyEnvironment.GetGame().GetNavigator().Init();
                break;
            }

            case "filter":
            case "filtre":
            {
                ButterflyEnvironment.GetGame().GetChatManager().GetFilter().Init();
                break;
            }

            case "items":
            {
                ButterflyEnvironment.GetGame().GetItemManager().Init();
                break;
            }

            case "model":
                ButterflyEnvironment.GetGame().GetRoomManager().LoadModels();
                break;

            case "mutant":
            case "figure":
            {
                ButterflyEnvironment.GetFigureManager().Init();
                break;
            }

            case "notiftop":
            {
                ButterflyEnvironment.GetGame().GetNotifTopManager().Init();
                break;
            }

            default:
            {
                UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.notfound", Session.Langue));
                return;
            }
            }
            UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("cmd.refresh", Session.Langue));
        }
예제 #4
0
        public Habbo(int Id, string Username, int Rank, string Motto, string Look, string Gender, int Credits,
                     int WPoint, int ActivityPoints, double LastActivityPointsUpdate, int HomeRoom, int Respect, int DailyRespectPoints,
                     int DailyPetRespectPoints, bool HasFriendRequestsDisabled, int currentQuestID, int achievementPoints,
                     int LastOnline, int FavoriteGroup, int accountCreated, bool accepttrading, string ip, bool HideInroom,
                     bool HideOnline, int MazoHighScore, int Mazo, string clientVolume, bool nuxenable, string MachineId, bool ChangeName, Language Langue, bool IgnoreAll)
        {
            this.Id                        = Id;
            this.Username                  = Username;
            this.Rank                      = Rank;
            this.Motto                     = Motto;
            this.MachineId                 = MachineId;
            this.Look                      = ButterflyEnvironment.GetFigureManager().ProcessFigure(Look, Gender, true);
            this.Gender                    = Gender.ToLower();
            this.Credits                   = Credits;
            this.WibboPoints               = WPoint;
            this.Duckets                   = ActivityPoints;
            this.AchievementPoints         = achievementPoints;
            this.LastActivityPointsUpdate  = LastActivityPointsUpdate;
            this.CurrentRoomId             = 0;
            this.LoadingRoomId             = 0;
            this.HomeRoom                  = (HomeRoom == 0) ? 0 : HomeRoom;
            this.FavoriteRooms             = new List <RoomData>();
            this.MutedUsers                = new List <int>();
            this.Achievements              = new Dictionary <string, UserAchievement>();
            this.RatedRooms                = new List <int>();
            this.Respect                   = Respect;
            this.DailyRespectPoints        = DailyRespectPoints;
            this.DailyPetRespectPoints     = DailyPetRespectPoints;
            this.IsTeleporting             = false;
            this.TeleporterId              = 0;
            this.UsersRooms                = new List <RoomData>();
            this.HasFriendRequestsDisabled = HasFriendRequestsDisabled;
            this.ClientVolume              = new List <int>(3);
            this.CanChangeName             = ChangeName;
            this.Langue                    = Langue;
            this.IgnoreAll                 = IgnoreAll;

            if (clientVolume.Contains(','))
            {
                foreach (string Str in clientVolume.Split(','))
                {
                    int Val = 0;
                    if (int.TryParse(Str, out Val))
                    {
                        this.ClientVolume.Add(int.Parse(Str));
                    }
                    else
                    {
                        this.ClientVolume.Add(100);
                    }
                }
            }
            else
            {
                this.ClientVolume.Add(100);
                this.ClientVolume.Add(100);
                this.ClientVolume.Add(100);
            }

            this.LastOnline       = LastOnline;
            this.MyGroups         = new List <int>();
            this.FavouriteGroupId = FavoriteGroup;

            this.AccountCreated = accountCreated;

            this.CurrentQuestId = currentQuestID;
            this.AcceptTrading  = accepttrading;

            this.OnlineTime     = DateTime.Now;
            this.PremiumProtect = (this.Rank > 1);

            this.ControlUserId = 0;
            this.IP            = ip;
            this.SpectatorMode = false;
            this.Disconnected  = false;
            this.HideInRoom    = HideInroom;
            this.HideOnline    = HideOnline;
            this.MazoHighScore = MazoHighScore;
            this.Mazo          = Mazo;

            this.LastGiftPurchaseTime = DateTime.Now;

            this.Nuxenable = nuxenable;
            this.NewUser   = nuxenable;
        }