Esempio n. 1
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            uint     num             = Event.PopWiredUInt();
            Room     room            = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
            RoomUser roomUserByHabbo = room.GetRoomUserByHabbo(num);

            if (room != null && room.CheckRights(Session, true) && roomUserByHabbo != null && !roomUserByHabbo.IsBot && !room.UsersWithRights.Contains(num))
            {
                room.UsersWithRights.Add(num);
                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    adapter.ExecuteQuery(string.Concat(new object[]
                    {
                        "INSERT INTO room_rights (room_id,user_id) VALUES ('",
                        room.RoomId,
                        "','",
                        num,
                        "')"
                    }));
                }
                ServerMessage Message = new ServerMessage(510);
                Message.AppendUInt(room.RoomId);
                Message.AppendUInt(num);
                Message.AppendStringWithBreak(roomUserByHabbo.GetClient().GetHabbo().Username);
                Session.SendMessage(Message);
                roomUserByHabbo.AddStatus("flatctrl", "");
                roomUserByHabbo.UpdateNeeded = true;
                roomUserByHabbo.GetClient().SendMessage(new ServerMessage(42));
            }
        }
Esempio n. 2
0
        private DataTable mFriendStream; //FriendStream fix

        public HabboData(string Username, bool LoadFull)
        {
            using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
            {
                adapter.AddParamWithValue("username", Username);
                this.mUserInformation = adapter.ReadDataRow("SELECT * FROM users WHERE username = @username LIMIT 1;");
                if (this.mUserInformation != null)
                {
                    this.mUserFound = true;
                    uint num = (uint)this.mUserInformation["Id"];
                    if (LoadFull)
                    {
                        this.mAchievementData    = adapter.ReadDataTable("SELECT achievement_id,achievement_level FROM user_achievements WHERE user_id = '" + num + "'");
                        this.mUserFavouriteRooms = adapter.ReadDataTable("SELECT room_id FROM user_favorites WHERE user_id = '" + num + "'");
                        this.mUserIgnores        = adapter.ReadDataTable("SELECT ignore_id FROM user_ignores WHERE user_id = '" + num + "'");
                        this.mUsertags           = adapter.ReadDataTable("SELECT tag FROM user_tags WHERE user_id = '" + num + "'");
                        this.mSubscriptionData   = adapter.ReadDataTable("SELECT subscription_id, timestamp_activated, timestamp_expire FROM user_subscriptions WHERE user_id = '" + num + "'");
                        this.mUserBadges         = adapter.ReadDataTable("SELECT user_badges.badge_id,user_badges.badge_slot FROM user_badges WHERE user_id = " + num + " ORDER BY badge_slot ASC");
                        this.mUserInventory      = adapter.ReadDataTable("SELECT Id,base_item,extra_data FROM items WHERE room_id = 0 AND user_id = " + num);
                        this.mUserEffects        = adapter.ReadDataTable("SELECT user_effects.effect_id,user_effects.total_duration,user_effects.is_activated,user_effects.activated_stamp FROM user_effects WHERE user_id =  " + num);
                        this.mUserFriends        = adapter.ReadDataTable("SELECT users.Id,users.username,users.motto,users.look,users.last_online FROM users JOIN messenger_friendships ON users.Id = messenger_friendships.user_two_id WHERE messenger_friendships.user_one_id = '" + num + "'");
                        this.mUserRequests       = adapter.ReadDataTable("SELECT messenger_requests.Id,messenger_requests.from_id,users.username FROM users JOIN messenger_requests ON users.Id = messenger_requests.from_id WHERE messenger_requests.to_id = '" + num + "'");
                        adapter.AddParamWithValue("name", (string)this.mUserInformation["username"]);
                        this.mUsersRooms   = adapter.ReadDataTable("SELECT * FROM rooms WHERE owner = @name ORDER BY Id ASC LIMIT " + GlobalClass.MaxRoomsPerUser);
                        this.mFriendStream = adapter.ReadDataTable("SELECT friend_stream.id, friend_stream.type, friend_stream.userid, friend_stream.gender, friend_stream.look, friend_stream.time, friend_stream.data, friend_stream.data_extra FROM friend_stream JOIN messenger_friendships ON friend_stream.userid = messenger_friendships.user_two_id WHERE messenger_friendships.user_one_id = '" + num + "' ORDER BY friend_stream.time DESC LIMIT 15"); //FriendStream fix
                    }
                }
                else
                {
                    this.mUserFound = false;
                }
            }
        }
Esempio n. 3
0
        internal void OnStatusChanged(bool bool_1)
        {
            Hashtable hashtable = this.friends.Clone() as Hashtable;

            foreach (MessengerBuddy @class in hashtable.Values)
            {
                try
                {
                    GameClient class2 = PhoenixEnvironment.GetGame().GetClientManager().GetClientByHabbo(@class.Id);
                    if (class2 != null && class2.GetHabbo() != null && class2.GetHabbo().GetMessenger() != null)
                    {
                        class2.GetHabbo().GetMessenger().method_6(this.UserId);
                        if (bool_1)
                        {
                            class2.GetHabbo().GetMessenger().UpdateFriend();
                        }
                    }
                }
                catch
                {
                }
            }
            hashtable.Clear();
            hashtable = null;
        }
Esempio n. 4
0
        public void parse(GameClient session, ClientMessage message)
        {
            int id     = message.PopWiredInt32();
            int userid = message.PopWiredInt32();

            if (id <= 0 || userid <= 0)
            {
                return;
            }

            using (DatabaseClient dbclient = PhoenixEnvironment.GetDatabase().GetClient())
            {
                DataRow datarow = dbclient.ReadDataRow("SELECT id FROM friend_stream_likes WHERE friend_stream_id = '" + id + "' AND userid = '" + userid + "' LIMIT 1");

                if (datarow == null)
                {
                    dbclient.AddParamWithValue("fsi", id);
                    dbclient.AddParamWithValue("userid", userid);
                    dbclient.ExecuteQuery("INSERT INTO friend_stream_likes (friend_stream_id, userid) VALUES (@fsi, @userid)");
                }
                else
                {
                    session.SendNotif("You cant like twice!");
                }
            }
        }
Esempio n. 5
0
 public void Fill(Room Room)
 {
     this.Id               = Room.RoomId;
     this.Name             = Room.Name;
     this.Description      = Room.Description;
     this.Type             = Room.Type;
     this.Owner            = Room.Owner;
     this.Category         = Room.Category;
     this.State            = Room.State;
     this.UsersNow         = Room.UsersNow;
     this.UsersMax         = Room.UsersMax;
     this.ModelName        = Room.ModelName;
     this.CCTs             = Room.CCTs;
     this.Score            = Room.Score;
     this.Tags             = Room.Tags;
     this.AllowPet         = Room.AllowPet;
     this.AllowPetsEating  = Room.AllowPetsEating;
     this.AllowWalkthrough = Room.AllowWalkthrough;
     this.Hidewall         = Room.Hidewall;
     this.Wallthick        = Room.Wallthick;
     this.Floorthick       = Room.Floorthick;
     this.myIcon           = Room.myIcon;
     this.Password         = Room.Password;
     this.Event            = Room.Event;
     this.Wallpaper        = Room.Wallpaper;
     this.Floor            = Room.Floor;
     this.Landscape        = Room.Landscape;
     this.Achievement      = Room.Achievement;
     this.class28_0        = PhoenixEnvironment.GetGame().GetRoomManager().GetModel(ModelName, Id);
 }
Esempio n. 6
0
        public void KickUser(GameClient ModSession, uint UserId, string Message, bool Soft)
        {
            GameClient Client = PhoenixEnvironment.GetGame().GetClientManager().GetClientByHabbo(UserId);

            if (Client == null || Client.GetHabbo().CurrentRoomId < 1 || Client.GetHabbo().Id == ModSession.GetHabbo().Id)
            {
                return;
            }
            if (Client.GetHabbo().Rank >= ModSession.GetHabbo().Rank)
            {
                ModSession.SendNotif(TextManager.GetText("mod_error_permission_kick"));
            }

            Room Room = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Client.GetHabbo().CurrentRoomId);

            if (Room != null)
            {
                Room.RemoveUserFromRoom(Client, true, false);
                if (!Soft)
                {
                    Client.SendNotif(Message);
                    using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                    {
                        adapter.ExecuteQuery("UPDATE user_info SET cautions = cautions + 1 WHERE user_id = '" + UserId + "' LIMIT 1");
                    }
                }
            }
        }
Esempio n. 7
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     if (Session.GetHabbo().HasRole("acc_chatlogs"))
     {
         Session.SendMessage(PhoenixEnvironment.GetGame().GetModerationTool().SerializeUserChatlog(Event.PopWiredUInt()));
     }
 }
Esempio n. 8
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && (@class.AllowPet || @class.CheckRights(Session, true)))
            {
                uint uint_  = Event.PopWiredUInt();
                Pet  class2 = Session.GetHabbo().GetInventoryComponent().GetPet(uint_);
                if (class2 != null && !class2.PlacedInRoom)
                {
                    int num  = Event.PopWiredInt32();
                    int num2 = Event.PopWiredInt32();
                    if (@class.CanWalk(num, num2, 0.0, true, false))
                    {
                        if (@class.Int32_2 >= GlobalClass.MaxPetsPerRoom)
                        {
                            Session.SendNotif(TextManager.GetText("error_maxpets") + GlobalClass.MaxPetsPerRoom);
                        }
                        else
                        {
                            class2.PlacedInRoom = true;
                            class2.RoomId       = @class.RoomId;
                            List <RandomSpeech> list  = new List <RandomSpeech>();
                            List <BotResponse>  list2 = new List <BotResponse>();
                            @class.method_4(new RoomBot(class2.PetId, class2.RoomId, AIType.Pet, "freeroam", class2.Name, "", class2.Look, num, num2, 0, 0, 0, 0, 0, 0, ref list, ref list2, 0), class2);
                            if (@class.CheckRights(Session, true))
                            {
                                Session.GetHabbo().GetInventoryComponent().MovePetToRoom(class2.PetId, @class.RoomId);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 9
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null)
            {
                RoomItem class2 = @class.GetItem(Event.PopWiredUInt());
                if (class2 != null && !(class2.GetBaseItem().InteractionType.ToLower() != "postit"))
                {
                    string text  = Event.PopFixedString();
                    string text2 = text.Split(new char[]
                    {
                        ' '
                    })[0];
                    string str = PhoenixEnvironment.FilterInjectionChars(text.Substring(text2.Length + 1), true, true);
                    if (@class.CheckRights(Session) || text.StartsWith(class2.ExtraData))
                    {
                        string text3 = text2;
                        if (text3 != null && (text3 == "FFFF33" || text3 == "FF9CFF" || text3 == "9CCEFF" || text3 == "9CFF9C"))
                        {
                            class2.ExtraData = text2 + " " + str;
                            class2.UpdateState(true, true);
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        public string GetNameById(uint Id)
        {
            GameClient clientByHabbo = this.GetClientByHabbo(Id);

            if (clientByHabbo != null)
            {
                return(clientByHabbo.GetHabbo().Username);
            }
            else
            {
                DataRow Row = null;
                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    Row = adapter.ReadDataRow("SELECT username FROM users WHERE Id = '" + Id + "' LIMIT 1");
                }
                if (Row == null)
                {
                    return("Unknown User");
                }
                else
                {
                    return((string)Row[0]);
                }
            }
        }
Esempio n. 11
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     try
     {
         Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         if (@class != null && @class.CheckRights(Session, true) && @class.MoodlightData != null)
         {
             RoomItem class2 = null;
             foreach (RoomItem class3 in @class.Hashtable_1.Values)
             {
                 if (class3.GetBaseItem().InteractionType.ToLower() == "dimmer")
                 {
                     class2 = class3;
                     break;
                 }
             }
             if (class2 != null)
             {
                 if (@class.MoodlightData.Enabled)
                 {
                     @class.MoodlightData.method_1();
                 }
                 else
                 {
                     @class.MoodlightData.method_0();
                 }
                 class2.ExtraData = @class.MoodlightData.method_7();
                 class2.UpdateState();
             }
         }
     }
     catch
     {
     }
 }
Esempio n. 12
0
        public uint GetIdByName(string Name)
        {
            GameClient clientByHabbo = this.GetClientByHabbo(Name);

            if (clientByHabbo != null)
            {
                return(clientByHabbo.GetHabbo().Id);
            }
            else
            {
                DataRow dataRow = null;
                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    dataRow = adapter.ReadDataRow("SELECT Id FROM users WHERE username = '******' LIMIT 1");
                }
                if (dataRow == null)
                {
                    return(0);
                }
                else
                {
                    return((uint)dataRow[0]);
                }
            }
        }
Esempio n. 13
0
        public void CheckForAllBanConflicts()
        {
            Dictionary <GameClient, ModerationBanException> BanException = new Dictionary <GameClient, ModerationBanException>();

            for (int i = 0; i < this.Session.Length; i++)
            {
                GameClient Session = this.Session[i];
                if (Session != null)
                {
                    try
                    {
                        PhoenixEnvironment.GetGame().GetBanManager().CheckForBanConflicts(Session);
                    }
                    catch (ModerationBanException ex)
                    {
                        BanException.Add(Session, ex);
                    }
                }
            }
            foreach (KeyValuePair <GameClient, ModerationBanException> pair in BanException)
            {
                pair.Key.SendBanMessage(pair.Value.Message);
                pair.Key.Disconnect();
            }
        }
Esempio n. 14
0
        public RoomData CreateRoom(GameClient Session, string Name, string Model)
        {
            Name = PhoenixEnvironment.FilterInjectionChars(Name);

            if (!this.Models.ContainsKey(Model))
            {
                Session.SendNotif("Sorry, this room model has not been added yet. Try again later.");
                return(null);
            }
            else if (Models[Model].ClubOnly && !Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_club") && !Session.GetHabbo().GetSubscriptionManager().HasSubscription("habbo_vip"))
            {
                Session.SendNotif("You must be an Phoenix Club member to use that room layout.");
                return(null);
            }
            else if (Name.Length < 3)
            {
                Session.SendNotif("Room name is too short for room creation!");
                return(null);
            }
            else
            {
                uint RoomId = 0;
                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    adapter.AddParamWithValue("caption", Name);
                    adapter.AddParamWithValue("model", Model);
                    adapter.AddParamWithValue("username", Session.GetHabbo().Username);
                    adapter.ExecuteQuery("INSERT INTO rooms (roomtype,caption,owner,model_name) VALUES ('private',@caption,@username,@model)");
                    Session.GetHabbo().GetHabboData.GetUsersRooms = adapter.ReadDataTable("SELECT * FROM rooms WHERE owner = @username ORDER BY Id ASC");
                    RoomId = (uint)adapter.ReadDataRow("SELECT Id FROM rooms WHERE owner = @username AND caption = @caption ORDER BY Id DESC")[0];
                    Session.GetHabbo().UpdateRooms(adapter);
                }
                return(this.GenerateRoomData(RoomId));
            }
        }
Esempio n. 15
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            uint   num  = Event.PopWiredUInt();
            string text = PhoenixEnvironment.FilterInjectionChars(Event.PopFixedString());

            if (Session.GetHabbo().GetMessenger() != null)
            {
                if (num == 0 && Session.GetHabbo().HasRole("cmd_sa"))
                {
                    ServerMessage Message = new ServerMessage(134);
                    Message.AppendUInt(0);
                    Message.AppendString(Session.GetHabbo().Username + ": " + text);
                    PhoenixEnvironment.GetGame().GetClientManager().SendStaffChat(Session, Message);
                }
                else
                {
                    if (num == 0)
                    {
                        ServerMessage Message2 = new ServerMessage(261);
                        Message2.AppendInt32(4);
                        Message2.AppendUInt(0);
                        Session.SendMessage(Message2);
                    }
                    else
                    {
                        Session.GetHabbo().GetMessenger().method_18(num, text);
                    }
                }
            }
        }
Esempio n. 16
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room class14_ = Session.GetHabbo().CurrentRoom;

            if (class14_ != null)
            {
                Event.PopWiredUInt();
                string   string_ = Event.PopFixedString();
                RoomUser @class  = class14_.GetRoomUserByHabbo(string_);
                if (@class != null && @class.GetClient().GetHabbo().Rank <= 2u)
                {
                    uint uint_ = @class.GetClient().GetHabbo().Id;
                    if (!Session.GetHabbo().MutedUsers.Contains(uint_))
                    {
                        Session.GetHabbo().MutedUsers.Add(uint_);
                        using (DatabaseClient class2 = PhoenixEnvironment.GetDatabase().GetClient())
                        {
                            class2.ExecuteQuery(string.Concat(new object[]
                            {
                                "INSERT INTO user_ignores(user_id, ignore_id) VALUES (",
                                Session.GetHabbo().Id,
                                ", ",
                                uint_,
                                ");"
                            }));
                        }
                        ServerMessage Message = new ServerMessage(419u);
                        Message.AppendInt32(1);
                        Session.SendMessage(Message);
                    }
                }
            }
        }
Esempio n. 17
0
        public ServerMessage SerializeRoomTool(RoomData Data)
        {
            Room Room    = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Data.Id);
            uint OwnerId = 0;

            using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
            {
                try
                {
                    adapter.AddParamWithValue("owner", Data.Owner);
                    OwnerId = (uint)adapter.ReadDataRow("SELECT Id FROM users WHERE username = @owner LIMIT 1")[0];
                }
                catch (Exception)
                {
                }
            }
            ServerMessage Message = new ServerMessage(538);

            Message.AppendUInt(Data.Id);
            Message.AppendInt32(Data.UsersNow);
            if (Room != null)
            {
                Message.AppendBoolean(Room.GetRoomUserByHabbo(Data.Owner) != null);
            }
            else
            {
                Message.AppendBoolean(false);
            }
            Message.AppendUInt(OwnerId);
            Message.AppendStringWithBreak(Data.Owner);
            Message.AppendUInt(Data.Id);
            Message.AppendStringWithBreak(Data.Name);
            Message.AppendStringWithBreak(Data.Description);
            Message.AppendInt32(Data.TagCount);
            foreach (string current in Data.Tags)
            {
                Message.AppendStringWithBreak(current);
            }
            if (Room != null)
            {
                Message.AppendBoolean(Room.HasOngoingEvent);
                if (Room.Event == null)
                {
                    return(Message);
                }
                Message.AppendStringWithBreak(Room.Event.Name);
                Message.AppendStringWithBreak(Room.Event.Description);
                Message.AppendInt32(Room.Event.Tags.Count);
                using (TimedLock.Lock(Room.Event.Tags))
                {
                    foreach (string current in Room.Event.Tags)
                    {
                        Message.AppendStringWithBreak(current);
                    }
                    return(Message);
                }
            }
            Message.AppendBoolean(false);
            return(Message);
        }
Esempio n. 18
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && @class.CheckRights(Session, true))
            {
                ServerMessage Message = new ServerMessage(465u);
                Message.AppendUInt(@class.RoomId);
                Message.AppendStringWithBreak(@class.Name);
                Message.AppendStringWithBreak(@class.Description);
                Message.AppendInt32(@class.State);
                Message.AppendInt32(@class.Category);
                Message.AppendInt32(@class.UsersMax);
                Message.AppendInt32(100);
                Message.AppendInt32(@class.Tags.Count);
                foreach (string current in @class.Tags)
                {
                    Message.AppendStringWithBreak(current);
                }
                Message.AppendInt32(@class.UsersWithRights.Count);
                foreach (uint current2 in @class.UsersWithRights)
                {
                    Message.AppendUInt(current2);
                    Message.AppendStringWithBreak(PhoenixEnvironment.GetGame().GetClientManager().GetNameById(current2));
                }
                Message.AppendInt32(@class.UsersWithRights.Count);
                Message.AppendBoolean(@class.AllowPet);
                Message.AppendBoolean(@class.AllowPetsEating);
                Message.AppendBoolean(@class.AllowWalkthrough);
                Message.AppendBoolean(@class.Hidewall);
                Message.AppendInt32(@class.Wallthick);
                Message.AppendInt32(@class.Floorthick);
                Session.SendMessage(Message);
            }
        }
Esempio n. 19
0
        public void AddOrExtendSubscription(string SubscriptionId, int DurationSeconds)
        {
            SubscriptionId = SubscriptionId.ToLower();
            if (Subscriptions.ContainsKey(SubscriptionId))
            {
                Subscription Sub = Subscriptions[SubscriptionId];
                Sub.ExtendSubscription(DurationSeconds);
                if (Sub.ExpireTime <= 0 || Sub.ExpireTime >= 2147483647)
                {
                    return;
                }
                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    adapter.AddParamWithValue("subcrbr", SubscriptionId);
                    adapter.ExecuteQuery("UPDATE user_subscriptions SET timestamp_expire = '" + Sub.ExpireTime + "' WHERE user_id = '" + UserId + "' AND subscription_id = @subcrbr LIMIT 1");
                    return;
                }
            }
            if (!Subscriptions.ContainsKey("habbo_vip"))
            {
                int TimeCreated = (int)PhoenixEnvironment.GetUnixTimestamp();
                int TimeExpire  = (int)PhoenixEnvironment.GetUnixTimestamp() + DurationSeconds;

                Subscription NewSub = new Subscription(SubscriptionId, TimeCreated, TimeExpire);

                using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    adapter.AddParamWithValue("subcrbr", SubscriptionId);
                    adapter.ExecuteQuery("INSERT INTO user_subscriptions (user_id,subscription_id,timestamp_activated,timestamp_expire) VALUES ('" + UserId + "',@subcrbr,'" + TimeCreated + "','" + TimeExpire + "')");
                }
                Subscriptions.Add(NewSub.SubscriptionId.ToLower(), NewSub);
            }
        }
Esempio n. 20
0
        public override void OnTimerTick()
        {
            if (this.SpeechTimer <= 0)
            {
                if (base.GetBotData() != null && base.GetBotData().RandomSpeech.Count > 0)
                {
                    RandomSpeech Speech = base.GetBotData().GetRandomSpeech();
                    GetRoomUser().Chat(null, Speech.Message, Speech.Shout);
                }
                this.SpeechTimer = PhoenixEnvironment.GetRandomNumber(0, 150);
            }
            else
            {
                this.SpeechTimer--;
            }

            if (this.ActionTimer <= 0)
            {
                int randomX = PhoenixEnvironment.GetRandomNumber(0, base.GetRoom().Model.MapSizeX);
                int randomY = PhoenixEnvironment.GetRandomNumber(0, base.GetRoom().Model.MapSizeY);
                base.GetRoomUser().MoveTo(randomX, randomY);
                this.ActionTimer = PhoenixEnvironment.GetRandomNumber(0, 30);
            }
            else
            {
                this.ActionTimer--;
            }
        }
Esempio n. 21
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     try
     {
         Room     room  = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         uint     uint_ = Event.PopWiredUInt();
         RoomItem item  = room.GetItem(uint_);
         string   text  = item.GetBaseItem().InteractionType.ToLower();
         if (text != null && (text == "wf_cnd_trggrer_on_frn" || text == "wf_cnd_furnis_hv_avtrs" || text == "wf_cnd_has_furni_on"))
         {
             Event.PopWiredBoolean();
             Event.PopFixedString();
             item.Extra1 = Event.ToString().Substring(Event.Length - (Event.RemainingLength - 2));
             item.Extra1 = item.Extra1.Substring(0, item.Extra1.Length - 1);
             Event.ResetPointer();
             item = room.GetItem(Event.PopWiredUInt());
             Event.PopWiredBoolean();
             Event.PopFixedString();
             int num = Event.PopWiredInt32();
             item.Extra2 = "";
             for (int i = 0; i < num; i++)
             {
                 item.Extra2 = item.Extra2 + "," + Convert.ToString(Event.PopWiredUInt());
             }
             if (item.Extra2.Length > 0)
             {
                 item.Extra2 = item.Extra2.Substring(1);
             }
         }
     }
     catch
     {
     }
 }
Esempio n. 22
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     if (Session != null && Session.GetHabbo() != null)
     {
         Session.SendMessage(PhoenixEnvironment.GetGame().GetCatalog().GetIndexMessageForRank(Session.GetHabbo().Rank));
     }
 }
Esempio n. 23
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            uint num    = Event.PopWiredUInt();
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && [email protected])
            {
                RoomUser class2 = @class.method_48(num);
                if (class2 == null || class2.PetData == null)
                {
                    DataRow dataRow = null;
                    using (DatabaseClient class3 = PhoenixEnvironment.GetDatabase().GetClient())
                    {
                        class3.AddParamWithValue("petid", num);
                        dataRow = class3.ReadDataRow("SELECT Id, user_id, room_id, name, type, race, color, expirience, energy, nutrition, respect, createstamp, x, y, z FROM user_pets WHERE Id = @petid LIMIT 1");
                    }
                    if (dataRow != null)
                    {
                        Session.SendMessage(PhoenixEnvironment.GetGame().GetCatalog().GeneratePetFromRow(dataRow).SerializeInfo());
                    }
                }
                else
                {
                    Session.SendMessage(class2.PetData.SerializeInfo());
                }
            }
        }
Esempio n. 24
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && @class.CheckRights(Session, true))
            {
                foreach (uint current in @class.UsersWithRights)
                {
                    RoomUser class2 = @class.GetRoomUserByHabbo(current);
                    if (class2 != null && !class2.IsBot)
                    {
                        class2.GetClient().SendMessage(new ServerMessage(43u));
                    }
                    ServerMessage Message = new ServerMessage(511u);
                    Message.AppendUInt(@class.RoomId);
                    Message.AppendUInt(current);
                    Session.SendMessage(Message);
                }
                using (DatabaseClient class3 = PhoenixEnvironment.GetDatabase().GetClient())
                {
                    class3.ExecuteQuery("DELETE FROM room_rights WHERE room_id = '" + @class.RoomId + "'");
                }
                @class.UsersWithRights.Clear();
            }
        }
Esempio n. 25
0
 public void FillNull(uint mId)
 {
     this.Id               = mId;
     this.Name             = "Unknown Room";
     this.Description      = "-";
     this.Type             = "private";
     this.Owner            = "-";
     this.Category         = 0;
     this.UsersNow         = 0;
     this.UsersMax         = 0;
     this.ModelName        = "NO_MODEL";
     this.CCTs             = "";
     this.Score            = 0;
     this.Tags             = new List <string>();
     this.AllowPet         = true;
     this.AllowPetsEating  = false;
     this.AllowWalkthrough = true;
     this.Hidewall         = false;
     this.Wallthick        = 0;
     this.Floorthick       = 0;
     this.Password         = "";
     this.Wallpaper        = "0.0";
     this.Floor            = "0.0";
     this.Landscape        = "0.0";
     this.Event            = null;
     this.Achievement      = 0;
     this.bool_3           = false;
     this.myIcon           = new RoomIcon(1, 1, new Dictionary <int, int>());
     this.class28_0        = PhoenixEnvironment.GetGame().GetRoomManager().GetModel(ModelName, mId);
 }
Esempio n. 26
0
        public void EnableEffect(int EffectId)
        {
            AvatarEffect Effect = this.GetEffect(EffectId, false);

            if (Effect != null && !Effect.HasExpired && !Effect.Activated && (this.GetClient() != null && this.GetClient().GetHabbo() != null))
            {
                Room class2 = this.GetUserRoom();
                if (class2 != null)
                {
                    RoomUser User = class2.GetRoomUserByHabbo(this.GetClient().GetHabbo().Id);
                    if (User.byte_1 <= 0 && User.Riding == null)
                    {
                        using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient())
                        {
                            adapter.ExecuteQuery("UPDATE user_effects SET is_activated = '1', activated_stamp = '" + PhoenixEnvironment.GetUnixTimestamp() + "' WHERE user_id = '" + UserId + "' AND effect_id = '" + EffectId + "' LIMIT 1");
                        }
                        Effect.Activate();
                        ServerMessage Message = new ServerMessage(462);
                        Message.AppendInt32(Effect.EffectId);
                        Message.AppendInt32(Effect.TotalDuration);
                        this.GetClient().SendMessage(Message);
                    }
                }
            }
        }
Esempio n. 27
0
 internal bool method_9(uint uint_1, uint uint_2)
 {
     using (DatabaseClient @class = PhoenixEnvironment.GetDatabase().GetClient())
     {
         if (@class.ReadDataRow(string.Concat(new object[]
         {
             "SELECT user_one_id FROM messenger_friendships WHERE user_one_id = '",
             uint_1,
             "' AND user_two_id = '",
             uint_2,
             "' LIMIT 1"
         })) != null)
         {
             return(true);
         }
         if (@class.ReadDataRow(string.Concat(new object[]
         {
             "SELECT user_one_id FROM messenger_friendships WHERE user_one_id = '",
             uint_2,
             "' AND user_two_id = '",
             uint_1,
             "' LIMIT 1"
         })) != null)
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 28
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     if (Session != null && Session.GetHabbo() != null)
     {
         Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
         if (@class != null)
         {
             RoomUser class2 = @class.GetRoomUserByHabbo(Event.PopWiredUInt());
             if (class2 != null && !class2.IsBot && class2.GetClient() != null)
             {
                 ServerMessage Message = new ServerMessage(228u);
                 Message.AppendUInt(class2.GetClient().GetHabbo().Id);
                 Message.AppendInt32(class2.GetClient().GetHabbo().GetBadgeComponent().EquippedCount);
                 using (TimedLock.Lock(class2.GetClient().GetHabbo().GetBadgeComponent().BadgeList))
                 {
                     foreach (Badge current in class2.GetClient().GetHabbo().GetBadgeComponent().BadgeList)
                     {
                         if (current.Slot > 0)
                         {
                             Message.AppendInt32(current.Slot);
                             Message.AppendStringWithBreak(current.Code);
                         }
                     }
                 }
                 Session.SendMessage(Message);
             }
         }
     }
 }
Esempio n. 29
0
        public void parse(GameClient Session, ClientMessage Event)
        {
            Room @class = PhoenixEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);

            if (@class != null && @class.CheckRights(Session))
            {
                uint   num  = Event.PopWiredUInt();
                string a    = Event.PopFixedString().ToUpper();
                string text = PhoenixEnvironment.FilterInjectionChars(Event.PopFixedString());
                text  = text.Replace("hd-99999-99999", "");
                text += ".";
                RoomItem class2 = @class.Hashtable_0[num] as RoomItem;
                if (class2.ExtraData.Contains(','))
                {
                    class2.Extra1 = class2.ExtraData.Split(new char[]
                    {
                        ','
                    })[0];
                    class2.Extra2 = class2.ExtraData.Split(new char[]
                    {
                        ','
                    })[1];
                }
                if (a == "M")
                {
                    class2.Extra1 = text;
                }
                else
                {
                    class2.Extra2 = text;
                }
                class2.ExtraData = class2.Extra1 + "," + class2.Extra2;
                class2.UpdateState(true, true);
            }
        }
Esempio n. 30
0
 public void parse(GameClient Session, ClientMessage Event)
 {
     if (Session.GetHabbo().HasRole("acc_supporttool"))
     {
         uint   RoomId            = Event.PopWiredUInt();
         bool   LockRoom          = Event.PopWiredBoolean();
         bool   InappropriateRoom = Event.PopWiredBoolean();
         bool   KickUsers         = Event.PopWiredBoolean();
         string Act = "";
         if (LockRoom)
         {
             Act += "Apply Doorbell";
         }
         if (InappropriateRoom)
         {
             Act += " Change Name";
         }
         if (KickUsers)
         {
             Act += " Kick Users";
         }
         PhoenixEnvironment.GetGame().GetClientManager().RecordCmdLogs(Session, "ModTool - Room Action", Act);
         PhoenixEnvironment.GetGame().GetModerationTool().PerformRoomAction(Session, RoomId, KickUsers, LockRoom, InappropriateRoom);
     }
 }