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 } }
public PostUpdatedComposer(GameClient Session, GroupForumThreadPost Post) : base(ServerPacketHeader.PostUpdatedMessageComposer) { base.WriteInteger(Post.ParentThread.ParentForum.Id); base.WriteInteger(Post.ParentThread.Id); Post.SerializeData(this); }
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 }
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 }