コード例 #1
0
ファイル: Friend.cs プロジェクト: habb0/IHI
        public void Serialize(OutgoingMessage Message)
        {
            if (Message.ID != 12)
                Message.AppendBoolean(false);                       // TODO: Find out what this does

            Message.AppendUInt32(this.fUser.GetID());               // User ID
            Message.AppendString(this.fUser.GetUsername());         // Username

            Message.AppendBoolean(false);                           // Not sure what this does
            Message.AppendBoolean(this.fUser.IsLoggedIn());         // Logged In
            Message.AppendBoolean(this.fUser.GetRoom() != null);    // In Room
            Message.AppendString(this.fUser.GetFigure());           // Figure
            Message.AppendUInt32(this.fLocalCategory);              // Category ID

            if (this.fUser.IsLoggedIn())
            {
                Message.AppendString(this.fUser.GetMotto());        // Motto
                Message.AppendString("");                           // Last Access (N/A)
            }
            else
            {
                Message.AppendString("Offline");                                // Motto ("Offline" in this case)
                Message.AppendString(this.fUser.GetLastAccess().ToString());    // Last Access
            }
        }
コード例 #2
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the initial messenger configuration and contents.
        /// </summary>
        /// <param name="A">Unsure</param>
        /// <param name="B">Unsure</param>
        /// <param name="C">Unsure</param>
        public void Send_MessengerInit(int A, int B, int C, Category[] Categories, Friend[] Friends, uint MaxFriends)
        {
            OutgoingMessage Message = new OutgoingMessage(12);

            Message.AppendInt32(A);     // Find out
            Message.AppendInt32(B);     // Find out
            Message.AppendInt32(C);     // Find out

            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length);

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }

            Message.AppendUInt32(MaxFriends);
            Message.AppendBoolean(false);       // TODO: Find out
        }
コード例 #3
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send data about a user.
        /// </summary>
        /// <param name="UserID">The user ID.</param>
        /// <param name="Username">The username.</param>
        /// <param name="Figure">The figure.</param>
        /// <param name="Gender">The gender.</param>
        /// <param name="Motto">The motto.</param>
        /// <param name="SwimFigure">The swim figure in string form.</param>
        public void Send_UserObject(uint UserID, string Username, string Figure, bool Gender, string Motto, string SwimFigure)
        {
            OutgoingMessage Message = new OutgoingMessage(5);

            Message.AppendUInt32(UserID);
            Message.AppendString(Username);
            Message.AppendString(Figure);
            Message.AppendString(Gender ? "M" : "F"); // True = Male, False = Female
            Message.AppendString(Motto);
            Message.AppendInt32(12);                  // TODO: Find out what this does.

            Message.Append(SwimFigure);
            Message.AppendBoolean(false);
            Message.AppendBoolean(true);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #4
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Encryption is not supported by IHI.
        /// This is part of the no encryption setting that always seemed to work.
        /// </summary>
        public void Send_InitCrypto(string Token, bool Status)
        {
            // HEADER: 227
            OutgoingMessage Message = new OutgoingMessage(227);

            Message.AppendString(Token);
            Message.AppendBoolean(Status);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #5
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the information for the given subscription. (Habbo Club)
        /// </summary>
        /// <param name="SubscriptionName">The type of subscription.</param>
        /// <param name="CurrentDay">The amount of days into the month.</param>
        /// <param name="ElapsedMonths">The amount of passed months.</param>
        /// <param name="PrepaidMonths">The amount of unused months.</param>
        /// <param name="IsActive">Is the subscription active?</param>
        public void Send_UserInfo(string SubscriptionName, byte CurrentDay, ushort ElapsedMonths, ushort PrepaidMonths, bool IsActive)
        {
            OutgoingMessage Message = new OutgoingMessage(7);

            Message.AppendString(SubscriptionName);
            Message.AppendInt32(CurrentDay);
            Message.AppendInt32(ElapsedMonths);
            Message.AppendInt32(PrepaidMonths);
            Message.AppendBoolean(IsActive);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #6
0
ファイル: Friend.cs プロジェクト: habb0/IHI
        internal byte[] GetRawUpdate()
        {
            OutgoingMessage Message = new OutgoingMessage();
            Message.AppendBoolean(true);                            // TODO: Find out what this does

            Message.AppendUInt32(this.fUser.GetID());               // User ID
            Message.AppendString(this.fUser.GetUsername());         // Username

            Message.AppendBoolean(true);                            // Not sure what this does
            Message.AppendBoolean(this.fUser.IsLoggedIn());         // Logged In
            Message.AppendBoolean(this.fUser.GetRoom() != null);    // In Room
            Message.AppendString(this.fUser.GetFigure());           // Figure
            Message.AppendUInt32(this.fLocalCategory);              // Category ID

            if (this.fUser.IsLoggedIn())
            {
                Message.AppendString(this.fUser.GetMotto());        // Motto
                Message.AppendString("");                           // Last Access (N/A)
            }
            else
            {
                Message.AppendString("Offline");                                // Motto ("Offline" in this case)
                Message.AppendString(this.fUser.GetLastAccess().ToString());    // Last Access
            }

            return Message.GetBytes();
        }
コード例 #7
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send data about a user.
        /// </summary>
        /// <param name="UserID">The user ID.</param>
        /// <param name="Username">The username.</param>
        /// <param name="Figure">The figure.</param>
        /// <param name="Gender">The gender.</param>
        /// <param name="Motto">The motto.</param>
        /// <param name="SwimFigure">The swim figure in string form.</param>
        public void Send_UserObject(uint UserID, string Username, string Figure, bool Gender, string Motto, string SwimFigure)
        {
            OutgoingMessage Message = new OutgoingMessage(5);

            Message.AppendUInt32(UserID);
            Message.AppendString(Username);
            Message.AppendString(Figure);
            Message.AppendString(Gender ? "M" : "F"); // True = Male, False = Female
            Message.AppendString(Motto);
            Message.AppendInt32(12); // TODO: Find out what this does.

            Message.Append(SwimFigure);
            Message.AppendBoolean(false);
            Message.AppendBoolean(true);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #8
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the information for the given subscription. (Habbo Club)
        /// </summary>
        /// <param name="SubscriptionName">The type of subscription.</param>
        /// <param name="CurrentDay">The amount of days into the month.</param>
        /// <param name="ElapsedMonths">The amount of passed months.</param>
        /// <param name="PrepaidMonths">The amount of unused months.</param>
        /// <param name="IsActive">Is the subscription active?</param>
        public void Send_UserInfo(string SubscriptionName, byte CurrentDay, ushort ElapsedMonths, ushort PrepaidMonths, bool IsActive)
        {
            OutgoingMessage Message = new OutgoingMessage(7);
            Message.AppendString(SubscriptionName);
            Message.AppendInt32(CurrentDay);
            Message.AppendInt32(ElapsedMonths);
            Message.AppendInt32(PrepaidMonths);
            Message.AppendBoolean(IsActive);

            this.fUser.GetConnection().SendMessage(Message);
        }
コード例 #9
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Send the initial messenger configuration and contents.
        /// </summary>
        /// <param name="A">Unsure</param>
        /// <param name="B">Unsure</param>
        /// <param name="C">Unsure</param>
        public void Send_MessengerInit(int A, int B, int C, Category[] Categories, Friend[] Friends, uint MaxFriends)
        {
            OutgoingMessage Message = new OutgoingMessage(12);
            Message.AppendInt32(A);     // Find out
            Message.AppendInt32(B);     // Find out
            Message.AppendInt32(C);     // Find out

            Message.AppendInt32(Categories.Length);

            for (int i = 0; i < Categories.Length; i++)
            {
                Message.AppendUInt32(Categories[i].GetID());
                Message.AppendString(Categories[i].GetName());
            }

            Message.AppendInt32(Friends.Length);

            for (int i = 0; i < Friends.Length; i++)
            {
                Message.AppendObject(Friends[i]);
            }

            Message.AppendUInt32(MaxFriends);
            Message.AppendBoolean(false);       // TODO: Find out
        }
コード例 #10
0
ファイル: PacketSender.cs プロジェクト: habb0/IHI
        /// <summary>
        /// Encryption is not supported by IHI.
        /// This is part of the no encryption setting that always seemed to work.
        /// </summary>
        public void Send_InitCrypto(string Token, bool Status)
        {
            // HEADER: 227
            OutgoingMessage Message = new OutgoingMessage(227);
            Message.AppendString(Token);
            Message.AppendBoolean(Status);

            this.fUser.GetConnection().SendMessage(Message);
        }