Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Headers] PRODUCTION-201812272209-984739530

Skilled Illusionist
Joined
Jul 4, 2009
Messages
363
Reaction score
65
Hi,

Here is a header list of PRODUCTION-201812272209-984739530

Changes so far found since PRODUCTION-201707041014-428081343:

  • YouAreControllerMessageComposer -> added an extra integar with the roomid
  • YouAreOwnerComposer -> added an extra integar with the roomid
  • FlatAccessDeniedMessageComposer -> added an extra integar with the roomid
  • FlatAccessibleMessageComposer -> added an extra integar with the roomid
  • GetBadgesEvent-> BadgesComposer is splitted in 2 outgoing messages (BadgesComposer, HabboUserBadgesComposer)

Incoming:
Outgoing
 
Last edited:
Skilled Illusionist
Joined
Jul 4, 2009
Messages
363
Reaction score
65
Care to elaborate further?

New structure BadgesComposer:

Code:
INT //unkown
INT //unkown
INT //count
{
  INT // always 1?
  STRING //Badge Name
}

PLUS emulator new GetBadgesEvent.cs:
Code:
using System;
using System.Linq;
using System.Text;

using Plus.Communication.Packets.Outgoing.Inventory.Badges;
using Plus.Communication.Packets.Outgoing.Users;

namespace Plus.Communication.Packets.Incoming.Inventory.Badges
{
    class GetBadgesEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            Session.SendMessage(new BadgesComposer(Session));
            Session.SendMessage(new HabboUserBadgesComposer(Session.GetHabbo()));
        }
    }
}

PLUS emulator new BadgesComposer.cs:
Code:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Plus.HabboHotel.GameClients;
using Plus.HabboHotel.Users.Badges;

namespace Plus.Communication.Packets.Outgoing.Inventory.Badges
{
    class BadgesComposer : ServerPacket
    {
        public BadgesComposer(GameClient Session)
            : base(ServerPacketHeader.BadgesMessageComposer)
        {
            List<Badge> EquippedBadges = new List<Badge>();

            base.WriteInteger(1);
            base.WriteInteger(0);
            base.WriteInteger(Session.GetHabbo().GetBadgeComponent().Count);
            foreach (Badge Badge in Session.GetHabbo().GetBadgeComponent().GetBadges().ToList())
            {
                if (Badge != null)
                {
                    base.WriteInteger(1);
                    base.WriteString(Badge.Code);

                    if (Badge.Slot > 0)
                        EquippedBadges.Add(Badge);
                }
                else
                {
                    base.WriteInteger(0);
                    base.WriteString("ABC");
                }
            }
        }
    }
}

PLUS emulator new HabboUserBadgesComposer.cs:
Code:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Plus.HabboHotel.Users;
using Plus.HabboHotel.Users.Badges;

namespace Plus.Communication.Packets.Outgoing.Users
{
    class HabboUserBadgesComposer : ServerPacket
    {
        public HabboUserBadgesComposer(Habbo Habbo)
            : base(ServerPacketHeader.HabboUserBadgesMessageComposer)
        {
            base.WriteInteger(Habbo.Id);
            base.WriteInteger(Habbo.GetBadgeComponent().EquippedCount);

            foreach (Badge Badge in Habbo.GetBadgeComponent().GetBadges().ToList())
            {
                if (Badge.Slot <= 0)
                    continue;

                base.WriteInteger(Badge.Slot);
                base.WriteString(Badge.Code);
            }
        }
    }
}
 
Back
Top