public ForumsListDataComposer(ICollection <GroupForum> Forums, GameClient Session, int ViewOrder = 0, int StartIndex = 0, int MaxLength = 20)
            : base(ServerPacketHeader.ForumsListDataMessageComposer)
        {
            base.WriteInteger(ViewOrder);
            base.WriteInteger(StartIndex);
            base.WriteInteger(StartIndex);

            base.WriteInteger(Forums.Count); // Forum List Count

            foreach (GroupForum Forum in Forums)
            {
                GroupForumThreadPost lastpost = Forum.GetLastPost();
                bool isn = lastpost == null;
                base.WriteInteger(Forum.Id);                                                                //Maybe ID
                base.WriteString(Forum.Name);                                                               //Forum name
                base.WriteString(Forum.Description);                                                        //idk
                base.WriteString(Forum.Group.Badge);                                                        // Group Badge
                base.WriteInteger(0);                                                                       //Idk
                base.WriteInteger(0);                                                                       // Score
                base.WriteInteger(Forum.MessagesCount);                                                     //Message count
                base.WriteInteger(Forum.UnreadMessages(Session.GetHabbo().Id));                             //unread message count
                base.WriteInteger(0);                                                                       //Idk
                base.WriteInteger(!isn ? lastpost.GetAuthor().Id : 0);                                      // Las user to message id
                base.WriteString(!isn ? lastpost.GetAuthor().Username : "");                                //Last user to message name
                base.WriteInteger(!isn ? (int)NeonEnvironment.GetUnixTimestamp() - lastpost.Timestamp : 0); //Last message timestamp
            }
        }
示例#2
0
        public PostUpdatedComposer(GameClient Session, GroupForumThreadPost Post)
            : base(ServerPacketHeader.PostUpdatedMessageComposer)
        {
            base.WriteInteger(Post.ParentThread.ParentForum.Id);
            base.WriteInteger(Post.ParentThread.Id);

            Post.SerializeData(this);
        }
示例#3
0
        public ThreadReplyComposer(GameClient Session, GroupForumThreadPost Post)
            : base(ServerPacketHeader.ThreadReplyMessageComposer)
        {
            HabboHotel.Users.Habbo User = Post.GetAuthor();
            base.WriteInteger(Post.ParentThread.ParentForum.Id);
            base.WriteInteger(Post.ParentThread.Id);

            base.WriteInteger(Post.Id);                                                    //Post Id
            base.WriteInteger(Post.ParentThread.Posts.IndexOf(Post));                      //Post Index

            base.WriteInteger(User.Id);                                                    //User id
            base.WriteString(User.Username);                                               //Username
            base.WriteString(User.Look);                                                   //User look

            base.WriteInteger((int)(NeonEnvironment.GetUnixTimestamp() - Post.Timestamp)); //User message timestamp
            base.WriteString(Post.Message);                                                // Message text
            base.WriteByte(0);                                                             // User message oculted by - level
            base.WriteInteger(0);                                                          // User that oculted message ID
            base.WriteString("");                                                          //Oculted message user name
            base.WriteInteger(10);
            base.WriteInteger(Post.ParentThread.GetUserPosts(User.Id).Count);              //User messages count
        }
示例#4
0
        public ThreadReplyComposer(GameClient Session, GroupForumThreadPost Post)
            : base(ServerPacketHeader.ThreadReplyMessageComposer)
        {
            var User = Post.GetAuthor();

            WriteInteger(Post.ParentThread.ParentForum.Id);
            WriteInteger(Post.ParentThread.Id);

            WriteInteger(Post.Id);                                                //Post Id
            WriteInteger(Post.ParentThread.Posts.IndexOf(Post));                  //Post Index

            WriteInteger(User.Id);                                                //User id
            WriteString(User.Username);                                           //Username
            WriteString(User.Look);                                               //User look

            WriteInteger((int)(CloudServer.GetUnixTimestamp() - Post.Timestamp)); //User message timestamp
            WriteString(Post.Message);                                            // Message text
            WriteByte(0);                                                         // User message oculted by - level
            WriteInteger(0);                                                      // User that oculted message ID
            WriteString("");                                                      //Oculted message user name
            WriteInteger(10);
            WriteInteger(Post.ParentThread.GetUserPosts(User.Id).Count);          //User messages count
        }