[FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

Results 1 to 23 of 23
  1. #1
    Member Silas R is offline
    MemberRank
    May 2012 Join Date
    51Posts

    [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    4 days ago I started to develop with C #.
    Now I want to publish my first fix.

    - The stream of friends are displayed
    - You can like each post only once per account
    - You can post your status (official or with your account)
    official posts can you be so post: {Official_*key*}
    The key is in the configuration.ini from the emulator.
    - The display of the time when the post was published, was repaired.
    - and activate/deactivate Stream. (Not finished yet.)

    Everything you need to install it:
    Spoiler:

    The codes
    Spoiler:

    Packets:
    Code:
                Incoming.InitStream = 2626;
                Incoming.StreamLike = 1816;
                Incoming.CreateStream = 1919;
                Incoming.SearchStream = 1430;
                Incoming.DeActivateStream = 2507;
    The internal static strings (add under internal class GameClientMessageHandler)
    Code:
            internal static string FriendIds = "";
            internal static string StreamQuery = "";
    The code for the StreamTime (difference):
    Code:
            public static int StreamTime(string streamtime)
            {
                DateTime startDate = new DateTime(1970, 1, 1);
                TimeSpan diffSpan = new TimeSpan(DateTime.Now.Ticks - startDate.Ticks);
                int time_now = Convert.ToInt32(diffSpan.TotalSeconds);
    
                int time_stream = (int)Convert.ToInt64(streamtime);
    
                int time_diff1 = time_now - time_stream;
                decimal time_diff2 = time_diff1 / 60;
    
                return (int) Math.Round(time_diff2, 0);
            }
    The code for CreateStream
    Code:
            internal void CreateStream()
            {
                Habbo habbo3 = ButterflyEnvironment.getHabboForId(this.Session.GetHabbo().Id);
                string StreamImage = ButterflyEnvironment.StreamLink + habbo3.Look + ".gif";
                string Message = Request.PopFixedString();
                DateTime startDate = new DateTime(1970, 1, 1);
                TimeSpan diffSpan = new TimeSpan(DateTime.Now.Ticks - startDate.Ticks);
                int time = Convert.ToInt32(diffSpan.TotalSeconds);
                
    
                if (Message.StartsWith("{Official_" + ButterflyEnvironment.StreamOfficialKey + "}"))
                {
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.runFastQuery(string.Concat(new object[] { "INSERT INTO user_stream VALUES (NULL, '0', '" + StreamImage + "', '4','0','0','" + Message + "', '" + time + "')" }));
                    }
                }
                else
                {
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.runFastQuery(string.Concat(new object[] { "INSERT INTO user_stream VALUES (NULL, '" + this.Session.GetHabbo().Id + "', '" + StreamImage + "', '5','0','0','" + Message + "', '" + time + "')" }));
                    }
                }
    
                #region StreamReload
    
                DataTable table = null;
                DataTable table2 = null;
                DataTable table3 = null;
                DataTable table4 = null;
                DataTable table5 = null;
                DataTable table6 = null;
    
                int id = (int)this.Session.GetHabbo().Id;
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("SELECT * FROM messenger_friendships WHERE sender = '" + id + "'");
                    table2 = adapter.getTable();
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("CALL getfriendships(" + id + ")");
                    table3 = adapter.getTable();
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("CALL countfriendships(" + id + ")");
                    table4 = adapter.getTable();
                }
                foreach (DataRow row in table4.Rows)
                {
                    ConsoleSystem.PrintLine("DEBUG", @"STREAM => " + row[0] + @" FREUNDE GELADEN");
                    int numbers = Convert.ToInt32(row[0]) * 2;
                    for (int i = 0; i < numbers / 2; i++)
                    {
                        DataRow row2 = table3.Rows[i];
    
                        FriendIds += row2[0] + ";" + row2[1] + ";";
                        StreamQuery += " || UserId = '" + row2[0] + "' || UserId = '" + row2[1] + "'";
                    }
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    ConsoleSystem.PrintLine("DEBUG", @"STREAM => IDS DER FREUNDSCHAFTEN: " + FriendIds);
                    adapter.setQuery("SELECT * FROM user_stream WHERE UserId = '" + id + "'" + StreamQuery + " || UserId = '0' ORDER BY Id DESC LIMIT 13");
                    table = adapter.getTable();
                }
                FriendIds = "";
                StreamQuery = "";
                ServerMessage message = new ServerMessage(2143);
                message.AppendInt32((ButterflyEnvironment.HotelStreamMessage1 == "") ? (table.Rows.Count + 1) : (table.Rows.Count + 2));
                foreach (DataRow row in table.Rows)
                {
                    int time2 = StreamTime((string)row[7]);
                    Habbo habbo = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["UserId"]));
                    string Message2 = (string)row["Message"];
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL countstreamlikes(" + row["Id"] + ")");
                        table5 = adapter.getTable();
                    }
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL checkstreamlikes(" + row["Id"] + "," + id + ")");
                        table6 = adapter.getTable();
                    }
    
                    DataRow row_1 = table5.Rows[0];
                    DataRow row_2 = table6.Rows[0];
    
                    int likes = Convert.ToInt32(row_1[0]);
                    int check_likes = Convert.ToInt32(row_2[0]);
    
                    ConsoleSystem.PrintLine("DEBUG", @"LIKE COUNT => COUNT: " + row_1[0] + " ID: " + row["Id"]);
    
                    if (((int)row["Type"]) == 0)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        Habbo habbo2 = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["FriendId"]));
                        message.AppendString(habbo2.Id.ToString());
                        message.AppendString(habbo2.Username);
                    }
                    else if (((int)row["Type"]) == 4)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(6);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(false);
                        message.AppendBoolean(false);
                        Message2 = Message2.Replace("{Official_" + ButterflyEnvironment.StreamOfficialKey + "} ", "");
                        message.AppendString(Message2);
                        message.AppendString("http://HabboQ.de/");
                    }
                    else if (((int)row["Type"]) == 5)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        message.AppendString((string)row["Message"]);
                    }
                    else if (((int)row["Type"]) == 10)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        MyGuild guild = ButterflyEnvironment.GetGame().GetGuilds().GetGuild(Convert.ToInt32(row["FriendId"]));
                        message.AppendString(guild.RoomId.ToString());
                        message.AppendString(guild.Id.ToString());
                        message.AppendString(ButterflyEnvironment.GetGame().GetRoomManager().GenerateRoomData((uint)guild.RoomId).Name);
                        message.AppendString(guild.Name.ToString());
                        message.AppendInt32(0);
                        message.AppendInt32(0);
                    }
                }
                if (ButterflyEnvironment.HotelStreamMessage1 != "")
                {
                    message.AppendInt32(0);
                    message.AppendInt32(4);
                    message.AppendString("-1");
                    message.AppendString("");
                    message.AppendString("null");
                    message.AppendString("");
                    message.AppendInt32(0);
                    message.AppendInt32(6);
                    message.AppendInt32(0);
                    message.AppendBoolean(true);
                    message.AppendBoolean(false);
                    message.AppendBoolean(false);
                    message.AppendString(ButterflyEnvironment.HotelStreamMessage1);
                    message.AppendString(ButterflyEnvironment.HotelStreamLink1);
                }
                message.AppendInt32(0);
                message.AppendInt32(4);
                message.AppendString("-1");
                message.AppendString("");
                message.AppendString("null");
                message.AppendString("");
                message.AppendInt32(0);
                message.AppendInt32(6);
                message.AppendInt32(0);
                message.AppendBoolean(true);
                message.AppendBoolean(false);
                message.AppendBoolean(false);
                message.AppendString(ButterflyEnvironment.HotelStreamMessage2);
                message.AppendString(ButterflyEnvironment.HotelStreamLink2);
                this.Session.SendMessage(message);
    
                #endregion
            }
    The code for DeActivateStream
    Code:
            internal void DeActivateStream()
            {
                bool streamstatus = Request.PopWiredBoolean();
                int userid        = (int)this.Session.GetHabbo().Id;
    
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.runFastQuery("UPDATE users SET stream = '" + streamstatus + "' WHERE id = " + userid);
                }
            }
    The code for SearchStream
    Code:
            internal void SearchStream()
            {
                int id     = Request.PopWiredInt32();
                int userid = (int)this.Session.GetHabbo().Id;
                DataTable table = null;
                DataTable table5 = null;
                DataTable table6 = null;
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("SELECT * FROM user_stream WHERE UserId = '" + id + "' OR UserId = '0' ORDER BY Id DESC LIMIT 13");
                    table = adapter.getTable();
                }
                ServerMessage message = new ServerMessage(2143);
                message.AppendInt32((ButterflyEnvironment.HotelStreamMessage1 == "") ? (table.Rows.Count + 1) : (table.Rows.Count + 2));
                foreach (DataRow row in table.Rows)
                {
                    int time2 = StreamTime((string)row[7]);
                    Habbo habbo = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["UserId"]));
                    string Message2 = (string)row["Message"];
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL countstreamlikes(" + row["Id"] + ")");
                        table5 = adapter.getTable();
                    }
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL checkstreamlikes(" + row["Id"] + "," + userid + ")");
                        table6 = adapter.getTable();
                    }
    
                    DataRow row_1 = table5.Rows[0];
                    DataRow row_2 = table6.Rows[0];
    
                    int likes = Convert.ToInt32(row_1[0]);
                    int check_likes = Convert.ToInt32(row_2[0]);
    
                    ConsoleSystem.PrintLine("DEBUG", @"LIKE COUNT => COUNT: " + row_1[0] + " ID: " + row["Id"]);
    
                    if (((int)row["Type"]) == 0)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        Habbo habbo2 = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["FriendId"]));
                        message.AppendString(habbo2.Id.ToString());
                        message.AppendString(habbo2.Username);
                    }
                    else if (((int)row["Type"]) == 4)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(6);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(false);
                        message.AppendBoolean(false);
                        Message2 = Message2.Replace("{Official_" + ButterflyEnvironment.StreamOfficialKey + "} ", "");
                        message.AppendString(Message2);
                        message.AppendString("http://HabboQ.de/");
                    }
                    else if (((int)row["Type"]) == 5)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        message.AppendString((string)row["Message"]);
                    }
                    else if (((int)row["Type"]) == 10)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        MyGuild guild = ButterflyEnvironment.GetGame().GetGuilds().GetGuild(Convert.ToInt32(row["FriendId"]));
                        message.AppendString(guild.RoomId.ToString());
                        message.AppendString(guild.Id.ToString());
                        message.AppendString(ButterflyEnvironment.GetGame().GetRoomManager().GenerateRoomData((uint)guild.RoomId).Name);
                        message.AppendString(guild.Name.ToString());
                        message.AppendInt32(0);
                        message.AppendInt32(0);
                    }
                }
                if (ButterflyEnvironment.HotelStreamMessage1 != "")
                {
                    message.AppendInt32(0);
                    message.AppendInt32(4);
                    message.AppendString("-1");
                    message.AppendString("");
                    message.AppendString("null");
                    message.AppendString("");
                    message.AppendInt32(0);
                    message.AppendInt32(6);
                    message.AppendInt32(0);
                    message.AppendBoolean(true);
                    message.AppendBoolean(false);
                    message.AppendBoolean(false);
                    message.AppendString(ButterflyEnvironment.HotelStreamMessage1);
                    message.AppendString(ButterflyEnvironment.HotelStreamLink1);
                }
                message.AppendInt32(0);
                message.AppendInt32(4);
                message.AppendString("-1");
                message.AppendString("");
                message.AppendString("null");
                message.AppendString("");
                message.AppendInt32(0);
                message.AppendInt32(6);
                message.AppendInt32(0);
                message.AppendBoolean(true);
                message.AppendBoolean(false);
                message.AppendBoolean(false);
                message.AppendString(ButterflyEnvironment.HotelStreamMessage2);
                message.AppendString(ButterflyEnvironment.HotelStreamLink2);
                this.Session.SendMessage(message);
            }
    The code for StreamLike
    Code:
            internal void StreamLike()
            {
                int stream_id = this.Request.PopWiredInt32();
                int user_id = (int)this.Session.GetHabbo().Id;
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.runFastQuery("INSERT INTO user_stream_likes VALUES (NULL, '" + stream_id + "', '" + user_id + "')");
                }
            }
    The code for InitStream
    Code:
            internal void InitStream()
            {
                DataTable table = null;
                DataTable table2 = null;
                DataTable table3 = null;
                DataTable table4 = null;
                DataTable table5 = null;
                DataTable table6 = null;
    
                int id = (int)this.Session.GetHabbo().Id;
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("SELECT * FROM messenger_friendships WHERE sender = '" + id + "'");
                    table2 = adapter.getTable();
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("CALL getfriendships(" + id + ")");
                    table3 = adapter.getTable();
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    adapter.setQuery("CALL countfriendships(" + id + ")");
                    table4 = adapter.getTable();
                }
                foreach (DataRow row in table4.Rows)
                {
                    ConsoleSystem.PrintLine("DEBUG", @"STREAM => " + row[0] + @" FREUNDE GELADEN");
                    int numbers = Convert.ToInt32(row[0]) * 2;
                    for (int i = 0; i < numbers / 2; i++)
                    {
                        DataRow row2 = table3.Rows[i];
    
                        FriendIds += row2[0] + ";" + row2[1] + ";";
                        StreamQuery += " || UserId = '" + row2[0] + "' || UserId = '" + row2[1] + "'";
                    }
                }
                using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    ConsoleSystem.PrintLine("DEBUG", @"STREAM => IDS DER FREUNDSCHAFTEN: " + FriendIds);
                    adapter.setQuery("SELECT * FROM user_stream WHERE UserId = '" + id + "'" + StreamQuery + " || UserId = '0' ORDER BY Id DESC LIMIT 13");
                    table = adapter.getTable();
                }
                FriendIds = "";
                StreamQuery = "";
                ServerMessage message = new ServerMessage(2143);
                message.AppendInt32((ButterflyEnvironment.HotelStreamMessage1 == "") ? (table.Rows.Count + 1) : (table.Rows.Count + 2));
                foreach (DataRow row in table.Rows)
                {
                    int time2 = StreamTime((string)row[7]);
                    Habbo habbo = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["UserId"]));
                    string Message2 = (string)row["Message"];
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL countstreamlikes(" + row["Id"] + ")");
                        table5 = adapter.getTable();
                    }
    
                    using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
                    {
                        adapter.setQuery("CALL checkstreamlikes(" + row["Id"] + "," + id + ")");
                        table6 = adapter.getTable();
                    }
    
                    DataRow row_1 = table5.Rows[0];
                    DataRow row_2 = table6.Rows[0];
    
                    int likes = Convert.ToInt32(row_1[0]);
                    int check_likes = Convert.ToInt32(row_2[0]);
    
                    ConsoleSystem.PrintLine("DEBUG", @"LIKE COUNT => COUNT: " + row_1[0] + " ID: " + row["Id"]);
    
                    if (((int)row["Type"]) == 0)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        Habbo habbo2 = ButterflyEnvironment.getHabboForId(Convert.ToUInt32(row["FriendId"]));
                        message.AppendString(habbo2.Id.ToString());
                        message.AppendString(habbo2.Username);
                    }
                    else if (((int)row["Type"]) == 4)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(6);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(false);
                        message.AppendBoolean(false);
                        Message2 = Message2.Replace("{Official_" + ButterflyEnvironment.StreamOfficialKey + "} ", "");
                        message.AppendString(Message2);
                        message.AppendString("http://HabboQ.de/");
                    }
                    else if (((int)row["Type"]) == 5)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        message.AppendString((string)row["Message"]);
                    }
                    else if (((int)row["Type"]) == 10)
                    {
                        message.AppendInt32((int)row["Id"]);
                        message.AppendInt32((int)row["Type"]);
                        message.AppendString(habbo.Id.ToString());
                        message.AppendString(habbo.Username);
                        message.AppendString(habbo.Gender.ToLower());
                        if (((int)row["Type"]) == 0)
                        {
                            string im = ButterflyEnvironment.StreamLink + habbo.Look + ".gif";
                            message.AppendString((string)im);
                        }
                        else
                        {
                            message.AppendString((string)row["Image"]);
                        }
                        message.AppendInt32(time2);
                        message.AppendInt32(0);
                        message.AppendInt32(likes);
                        if (check_likes == 0)
                        {
                            message.AppendBoolean(true);
                        }
                        else
                        {
                            message.AppendBoolean(false);
                        }
                        message.AppendBoolean(true);
                        message.AppendBoolean(false);
                        MyGuild guild = ButterflyEnvironment.GetGame().GetGuilds().GetGuild(Convert.ToInt32(row["FriendId"]));
                        message.AppendString(guild.RoomId.ToString());
                        message.AppendString(guild.Id.ToString());
                        message.AppendString(ButterflyEnvironment.GetGame().GetRoomManager().GenerateRoomData((uint)guild.RoomId).Name);
                        message.AppendString(guild.Name.ToString());
                        message.AppendInt32(0);
                        message.AppendInt32(0);
                    }
                }
                if (ButterflyEnvironment.HotelStreamMessage1 != "")
                {
                    message.AppendInt32(0);
                    message.AppendInt32(4);
                    message.AppendString("-1");
                    message.AppendString("");
                    message.AppendString("null");
                    message.AppendString("");
                    message.AppendInt32(0);
                    message.AppendInt32(6);
                    message.AppendInt32(0);
                    message.AppendBoolean(true);
                    message.AppendBoolean(false);
                    message.AppendBoolean(false);
                    message.AppendString(ButterflyEnvironment.HotelStreamMessage1);
                    message.AppendString(ButterflyEnvironment.HotelStreamLink1);
                }
                message.AppendInt32(0);
                message.AppendInt32(4);
                message.AppendString("-1");
                message.AppendString("");
                message.AppendString("null");
                message.AppendString("");
                message.AppendInt32(0);
                message.AppendInt32(6);
                message.AppendInt32(0);
                message.AppendBoolean(true);
                message.AppendBoolean(false);
                message.AppendBoolean(false);
                message.AppendString(ButterflyEnvironment.HotelStreamMessage2);
                message.AppendString(ButterflyEnvironment.HotelStreamLink2);
                this.Session.SendMessage(message);
            }

    MySql
    Spoiler:

    -- ----------------------------
    -- Procedure structure for `checkstreamlikes`
    -- ----------------------------
    DROP PROCEDURE IF EXISTS `checkstreamlikes`;
    DELIMITER ;;
    CREATE DEFINER=`root`@`localhost` PROCEDURE `checkstreamlikes`(IN sid int(10) unsigned,IN uid int(10) unsigned)
    BEGIN

    SELECT COUNT(*)
    FROM user_stream_likes
    WHERE stream_id = sid && user_id = uid;

    END
    ;;
    DELIMITER ;

    -- ----------------------------
    -- Procedure structure for `countfriendships`
    -- ----------------------------
    DROP PROCEDURE IF EXISTS `countfriendships`;
    DELIMITER ;;
    CREATE DEFINER=`root`@`localhost` PROCEDURE `countfriendships`(IN uid int(10) unsigned)
    BEGIN

    SELECT COUNT(*)
    FROM messenger_friendships
    WHERE sender = uid || receiver = uid;

    END
    ;;
    DELIMITER ;

    -- ----------------------------
    -- Procedure structure for `countstreamlikes`
    -- ----------------------------
    DROP PROCEDURE IF EXISTS `countstreamlikes`;
    DELIMITER ;;
    CREATE DEFINER=`root`@`localhost` PROCEDURE `countstreamlikes`(IN sid int(10) unsigned)
    BEGIN

    SELECT COUNT(*)
    FROM user_stream_likes
    WHERE stream_id = sid;

    END
    ;;
    DELIMITER ;

    -- ----------------------------
    -- Procedure structure for `getfriendships`
    -- ----------------------------
    DROP PROCEDURE IF EXISTS `getfriendships`;
    DELIMITER ;;
    CREATE DEFINER=`root`@`localhost` PROCEDURE `getfriendships`(IN uid int(10) unsigned)
    BEGIN

    SELECT *
    FROM messenger_friendships
    WHERE sender = uid || receiver = uid;

    END
    ;;
    DELIMITER ;

    -- ----------------------------
    -- Table structure for `users`
    -- ----------------------------
    DROP TABLE IF EXISTS `users`;
    CREATE TABLE `users` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `username` char(50) NOT NULL,
    `real_name` char(100) NOT NULL DEFAULT '',
    `password` char(42) NOT NULL,
    `mail` varchar(50) NOT NULL DEFAULT 'defaultuser@meth0d.org',
    `auth_ticket` varchar(60) NOT NULL,
    `rank` int(1) unsigned NOT NULL DEFAULT '1',
    `credits` int(11) NOT NULL DEFAULT '0',
    `vip_points` int(11) NOT NULL DEFAULT '0',
    `activity_points` int(11) NOT NULL DEFAULT '0',
    `activity_points_lastupdate` double(5,0) NOT NULL DEFAULT '0',
    `look` char(255) NOT NULL DEFAULT 'hr-115-42.hd-190-1.ch-215-62.lg-285-91.sh-290-62',
    `gender` enum('M','F') NOT NULL DEFAULT 'M',
    `motto` char(50) NOT NULL,
    `account_created` char(12) NOT NULL,
    `last_online` varchar(20) NOT NULL,
    `online` enum('0','1') NOT NULL DEFAULT '0',
    `ip_last` char(20) NOT NULL,
    `ip_reg` char(20) NOT NULL,
    `home_room` int(10) unsigned NOT NULL DEFAULT '0',
    `respect` int(11) NOT NULL DEFAULT '0',
    `daily_respect_points` int(1) NOT NULL DEFAULT '3',
    `daily_pet_respect_points` int(1) NOT NULL DEFAULT '3',
    `newbie_status` int(1) NOT NULL DEFAULT '3',
    `is_muted` enum('0','1') NOT NULL DEFAULT '0',
    `mutant_penalty` enum('0','1','2') NOT NULL DEFAULT '0',
    `mutant_penalty_expire` int(11) NOT NULL DEFAULT '0',
    `block_newfriends` enum('0','1') NOT NULL DEFAULT '0',
    `hide_online` enum('0','1') NOT NULL DEFAULT '0',
    `hide_inroom` enum('0','1') NOT NULL DEFAULT '0',
    `mail_verified` varchar(6) NOT NULL DEFAULT '0',
    `vip` enum('0','1') NOT NULL DEFAULT '0',
    `working` varchar(50) NOT NULL DEFAULT '0',
    `secretcode` varchar(8) NOT NULL DEFAULT '0',
    `mymusik` varchar(100) NOT NULL DEFAULT '0',
    `getmoney_date` varchar(20) NOT NULL DEFAULT '0',
    `visibility` enum('EVERYONE','FRIENDS','NOBODY') NOT NULL DEFAULT 'EVERYONE',
    `birth` varchar(10) NOT NULL DEFAULT '0',
    `volume` int(3) NOT NULL DEFAULT '100',
    `dolares` int(11) NOT NULL DEFAULT '0',
    `Weights` int(11) NOT NULL,
    `lastdailycredits` char(18) NOT NULL DEFAULT '',
    `points` int(11) NOT NULL DEFAULT '0',
    `block_trade` enum('1','0') NOT NULL DEFAULT '0',
    `crystals` int(11) NOT NULL DEFAULT '0',
    `achievement_points` int(11) NOT NULL,
    `quests` varchar(200) NOT NULL,
    `queststates` varchar(200) NOT NULL,
    `canchangename` enum('0','1') NOT NULL DEFAULT '1',
    `FavoriteGroup` int(11) NOT NULL DEFAULT '0',
    `one_password` varchar(500) NOT NULL DEFAULT '0',
    `datosreg` varchar(500) NOT NULL DEFAULT '0',
    `country` varchar(500) NOT NULL DEFAULT '0',
    `facebook_id` varchar(255) NOT NULL,
    `marketing` varchar(1) NOT NULL DEFAULT '0',
    `showhome` varchar(10) NOT NULL DEFAULT '1',
    `main` varchar(10) NOT NULL DEFAULT '1',
    `registered` varchar(10) NOT NULL DEFAULT '0000000000',
    `lastonline` varchar(10) NOT NULL DEFAULT '000000000',
    `passed_quiz` enum('0','1') NOT NULL DEFAULT '0',
    `points_online` int(11) NOT NULL DEFAULT '0',
    `stream` varchar(255) NOT NULL DEFAULT 'False',
    UNIQUE KEY `id` (`id`) USING HASH
    ) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;

    -- ----------------------------
    -- Records of users
    -- ----------------------------
    INSERT INTO `users` VALUES ('0 //Must be ID 0', 'HOTELNAME', '', '', 'defaultuser@meth0d.org', 'TICKET588578-05888846316262968748-GENERATE5', '1', '0', '0', '0', '0', 'hr-115-42.hd-190-1.ch-215-62.lg-285-91.sh-290-62', 'M', '', '', '', '0', '127.0.0.1', '', '0', '0', '3', '3', '3', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'EVERYONE', '0', '100', '0', '0', '', '0', '0', '0', '0', '', '', '1', '0', '0', '0', '0', '', '0', '1', '1', '0000000000', '000000000', '0', '0', 'False');



    I do not know if the code is good or not, because I'm new in C# :D
    I hope I have not forgotten anything.
    CAUTION: Not beginner friendly!

    sorry for my bad english, I'm German :D

    Greetings xBl4ckx


  2. #2
    Account Upgraded | Title Enabled! Giles121 is offline
    MemberRank
    Jul 2011 Join Date
    EnglandLocation
    291Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Got A Picture?

  3. #3

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    You got any pictures?

  4. #4
    Enthusiast JorianJN is offline
    MemberRank
    Dec 2012 Join Date
    The NetherlandsLocation
    45Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Nice work ;) but we need pictures!?

  5. #5
    topkek amirite?? Leon is offline
    MemberRank
    May 2009 Join Date
    919Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    People need to start using prepared statements, the above code is MySQL exploitable, and so is most other query which contains a string from an incoming message.

    USE PREPARED STATEMENTS!

  6. #6
    Member Silas R is offline
    MemberRank
    May 2012 Join Date
    51Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Here a Screen:
    Attached Thumbnails Attached Thumbnails screen.png  

  7. #7
    Zephyr Studios PRIZM is offline
    MemberRank
    Feb 2012 Join Date
    DenmarkLocation
    2,291Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    ow, nice fix, thanks for the share. :]

  8. #8
    Apprentice MaciielGomees is offline
    MemberRank
    Dec 2012 Join Date
    12Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    explains where to put the right codes

  9. #9
    Member Silas R is offline
    MemberRank
    May 2012 Join Date
    51Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    NOT BEGINNER FRIENDLY

    I have no desire to explain it, sorry

  10. #10
    Member Sheenieboy is offline
    MemberRank
    Jan 2012 Join Date
    66Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    It should tell where to put codes or its kinda a pointless release -_-

  11. #11
    Alpha Member Emily is offline
    MemberRank
    Oct 2012 Join Date
    The NetherlandsLocation
    2,408Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Mysql for stream is useless, if you want good performance don't use MySql.
    Unless you want lag when there are 500+ streams which will reload..

  12. #12
    Demi-God tweeney is offline
    MemberRank
    Aug 2008 Join Date
    888Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Quote Originally Posted by Tha View Post
    Mysql for stream is useless, if you want good performance don't use MySql.
    Unless you want lag when there are 500+ streams which will reload..
    No MySQL ok. Where are all the stream items going to be stored after a shutdown/restart?

  13. #13
    Web & Interaction Design Gangnam is offline
    MemberRank
    Dec 2010 Join Date
    Lincoln, UKLocation
    1,983Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Just a note - if you're implementing this into your production server, don't be a dumb ass and execute the drop user table query. Just modify it to add the new fields.

  14. #14
    Alpha Member Caustik is offline
    MemberRank
    May 2011 Join Date
    LondonLocation
    1,837Posts
    Quote Originally Posted by Tha View Post
    Mysql for stream is useless, if you want good performance don't use MySql.
    Unless you want lag when there are 500+ streams which will reload..
    You can get good performance from MySQL.

  15. #15
    Im Back! PythoneX12 is offline
    MemberRank
    Sep 2010 Join Date
    634Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Just to say, It already includes it.. Rofl

  16. #16
    Valued Member xMiraclesz is offline
    MemberRank
    Dec 2012 Join Date
    NetherlandLocation
    136Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Nice work, i will try

  17. #17
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,484Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Don't people have programming standards anymore? :(

  18. #18
    Alpha Member Emily is offline
    MemberRank
    Oct 2012 Join Date
    The NetherlandsLocation
    2,408Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Quote Originally Posted by Caustik View Post
    You can get good performance from MySQL.
    1 second * 200 streams = 200 useless seconds every stream update.
    Good performance, says the guy from London.
    Still I say the same thing Maarten once said to me.

  19. #19
    Alpha Member Caustik is offline
    MemberRank
    May 2011 Join Date
    LondonLocation
    1,837Posts
    Quote Originally Posted by Tha View Post
    1 second * 200 streams = 200 useless seconds every stream update.
    Good performance, says the guy from London.
    Still I say the same thing Maarten once said to me.
    Now you're assuming a fixed query speed...
    :'(

  20. #20
    topkek amirite?? Leon is offline
    MemberRank
    May 2009 Join Date
    919Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Whoever uses this code better say goodbye to their database...

  21. #21
    Member Silas R is offline
    MemberRank
    May 2012 Join Date
    51Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Quote Originally Posted by Leon View Post
    Whoever uses this code better say goodbye to their database...
    why?

    As I said, I have a week before starting with c # programming

  22. #22
    Enthusiast Joshuwar is offline
    MemberRank
    Oct 2012 Join Date
    45Posts

    [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Quote Originally Posted by Silas R View Post
    why?

    As I said, I have a week before starting with c # programming
    Nobody should use this as its full of MySQL exploits.

  23. #23
    Apprentice PacMario is offline
    MemberRank
    Jan 2013 Join Date
    12Posts

    Re: [FIX] BcStorm Stream [Time ago, Stream from Friends, etc.] NOT BEGINNER FRIENDLY

    Why you don't write, for what a file is it? :D



Advertisement