Tutorial bem simples e útil para quem usa um emulador antigo e não quer trocar o mesmo.
Olá pessoal, tudo bom? Hoje eu irei trazer um tutorial exclusivo para todos vocês (como sempre), mas este tutorial é um tutorial simples, apenas de como atualizar a sua RELEASE para uma RELEASE mais atual sem ter que trocar o emulador.
Lembrando que este tutorial apenas irá ensinar e fornecer uma PRODUCTION e não irá ensinar como pegar PACKETS e as desencryptar
Tutorial:
Atualizando para PRODUCTION-201607262204-86871104:
Atualizando para PRODUCTION-201607262204-86871104:
1- Abra a source do seu emulador:
2- Agora dirija-se até Communication --> Packets --> Incoming --> ClientPacketHeader.cs, aperte CTRL+A e cole tudo isso lá:
namespace Plus.Communication.Packets.Incoming
{
public static class ClientPacketHeader
{
/*Generated @ 27-7-2016 15:39:49 -- 289 packets*/
public const int MakeOfferMessageEvent = 2562;
public const int GetRoomBannedUsersMessageEvent = 2078;
public const int GetPetInventoryMessageEvent = 194;
public const int DropHandItemMessageEvent = 369;
public const int ReleaseTicketMessageEvent = 3967;
public const int GetModeratorRoomInfoMessageEvent = 3398;
public const int KickUserMessageEvent = 3642;
public const int SaveWiredEffectConfigMessageEvent = 172;
public const int RespectPetMessageEvent = 3571;
public const int GenerateSecretKeyMessageEvent = 460;
public const int GetModeratorTicketChatlogsMessageEvent = 2836;
public const int PingMessageEvent = 2040;
public const int GetAchievementsMessageEvent = 1749;
public const int SaveWiredTriggerConfigMessageEvent = 3139;
public const int AcceptGroupMembershipMessageEvent = 1115;
public const int GetGroupFurniSettingsMessageEvent = 1043;
public const int TakeAdminRightsMessageEvent = 691;
public const int RemoveAllRightsMessageEvent = 1666;
public const int UpdateThreadMessageEvent = 3161;
public const int TourRequestEvent = 321;
public const int ManageGroupMessageEvent = 3934;
public const int ModifyRoomFilterListMessageEvent = 3838;
public const int SSOTicketMessageEvent = 127;
public const int AvatarEffectActivatedMessageEvent = 1417;
public const int JoinGroupMessageEvent = 3907;
public const int DeclineGroupMembershipMessageEvent = 2118;
public const int UniqueIDMessageEvent = 2220;
public const int RemoveMyRightsMessageEvent = 3923;
public const int ApplyHorseEffectMessageEvent = 1768;
public const int GetPetInformationMessageEvent = 3928;
public const int GetGameListingMessageEvent = 1242;
public const int GiveHandItemMessageEvent = 1951;
public const int GetHabboGroupBadgesMessageEvent = 1766;
public const int UpdateFigureDataMessageEvent = 1476;
public const int TradingRemoveItemMessageEvent = 2326;
public const int RemoveGroupMemberMessageEvent = 499;
public const int EventLogMessageEvent = 2544;
public const int RefreshCampaignMessageEvent = 3388;
public const int GetRentableSpaceMessageEvent = 3186;
public const int GetPromotableRoomsMessageEvent = 17;
public const int StaffPickRoomEvent = 3426;
public const int UseOneWayGateMessageEvent = 2253;
public const int AddStickyNoteMessageEvent = 2870;
public const int GetSelectedBadgesMessageEvent = 1594;
public const int ModerationTradeLockMessageEvent = 760;
public const int UpdateStickyNoteMessageEvent = 867;
public const int GuideSessionOnDutyUpdateMessageEvent = 2227;
public const int GuideSessionIsTypingMessageEvent = 2535;
public const int CloseTicketMesageEvent = 2485;
public const int RequestBuddyMessageEvent = 2457;
public const int GetOwnOffersMessageEvent = 3012;
public const int FloorPlanEditorRoomPropertiesMessageEvent = 2138;
public const int GetFurnitureAliasesMessageEvent = 3675;
public const int GetRoomSettingsMessageEvent = 177;
public const int RequestFurniInventoryMessageEvent = 696;
public const int DeleteGroupPostMessageEvent = 2429;
public const int ModerationKickMessageEvent = 246;
public const int OpenFlatConnectionMessageEvent = 3785;
public const int DanceMessageEvent = 1551;
public const int RemoveBuddyMessageEvent = 579;
public const int LatencyTestMessageEvent = 1717;
public const int InfoRetrieveMessageEvent = 2139;
public const int PollRejectMessageEvent = 165;
public const int YouTubeGetNextVideo = 1488;
public const int SetObjectDataMessageEvent = 989;
public const int MessengerInitMessageEvent = 3058;
public const int GuideSessionCreateMessageEvent = 970;
public const int PickUpBotMessageEvent = 1757;
public const int ActionMessageEvent = 3417;
public const int LookToMessageEvent = 2988;
public const int ToggleMoodlightMessageEvent = 3599;
public const int FollowFriendMessageEvent = 3906;
public const int PickUpPetMessageEvent = 3090;
public const int GetSellablePetBreedsMessageEvent = 1531;
public const int GetForumUserProfileMessageEvent = 2518;
public const int GetForumsListDataMessageEvent = 1004;
public const int IgnoreUserMessageEvent = 505;
public const int DeleteRoomMessageEvent = 1054;
public const int StartQuestMessageEvent = 1524;
public const int GetBuddyRequestsMessageEvent = 2492;
public const int SaveRoomThumbnailEvent = 584;
public const int GetGiftWrappingConfigurationMessageEvent = 2570;
public const int TradingAcceptMessageEvent = 2937;
public const int UpdateGroupIdentityMessageEvent = 413;
public const int GetHabboClubCenterInfoMessageEvent = 2967;
public const int RideHorseMessageEvent = 2598;
public const int ApplySignMessageEvent = 3184;
public const int FindRandomFriendingRoomMessageEvent = 113;
public const int GetModeratorUserChatlogMessageEvent = 3574;
public const int TradingOfferItemMessageEvent = 1949;
public const int AmbassadorWarningMessageEvent = 2114;
public const int GetWardrobeMessageEvent = 277;
public const int MuteUserMessageEvent = 329;
public const int UpdateForumSettingsMessageEvent = 683;
public const int GuideSessionInviteRequesterMessageEvent = 2538;
public const int ApplyDecorationMessageEvent = 2743;
public const int GetBotInventoryMessageEvent = 1379;
public const int UseHabboWheelMessageEvent = 3615;
public const int EditRoomPromotionMessageEvent = 257;
public const int GetCurrentQuestMessageEvent = 2116;
public const int GetModeratorUserInfoMessageEvent = 1120;
public const int PlaceBotMessageEvent = 2303;
public const int GetCatalogRoomPromotionMessageEvent = 1079;
public const int GetCatalogPageMessageEvent = 878;
public const int GetThreadsListDataMessageEvent = 71;
public const int ShoutMessageEvent = 1134;
public const int GetTalentTrackMessageEvent = 731;
public const int DiceOffMessageEvent = 1857;
public const int SetUserFocusPreferenceEvent = 3860;
public const int TradingModifyMessageEvent = 884;
public const int LetUserInMessageEvent = 1332;
public const int SetActivatedBadgesMessageEvent = 1447;
public const int UpdateGroupSettingsMessageEvent = 1467;
public const int ApproveNameMessageEvent = 2961;
public const int CancelOfferMessageEvent = 3554;
public const int GetBadgeEditorPartsMessageEvent = 3896;
public const int TradingCancelMessageEvent = 1486;
public const int DeleteGroupMessageEvent = 147;
public const int DeleteStickyNoteMessageEvent = 2270;
public const int TradingCancelConfirmMessageEvent = 3202;
public const int GetGroupInfoMessageEvent = 3549;
public const int GetStickyNoteMessageEvent = 1920;
public const int DeclineBuddyMessageEvent = 3875;
public const int OpenGiftMessageEvent = 967;
public const int GiveRoomScoreMessageEvent = 3282;
public const int SetGroupFavouriteMessageEvent = 1064;
public const int SetMannequinNameMessageEvent = 772;
public const int CallForHelpMessageEvent = 1141;
public const int RoomDimmerSavePresetMessageEvent = 3631;
public const int UpdateGroupBadgeMessageEvent = 517;
public const int PickTicketMessageEvent = 2272;
public const int SetTonerMessageEvent = 3877;
public const int RespectUserMessageEvent = 3177;
public const int PostQuizAnswersMessageEvent = 810;
public const int YouTubeVideoInformationMessageEvent = 2568;
public const int DeleteGroupThreadMessageEvent = 16;
public const int DeleteFavouriteRoomMessageEvent = 409;
public const int InitializeGameCenterMessageEvent = 1011;
public const int CreditFurniRedeemMessageEvent = 2494;
public const int ModerationMsgMessageEvent = 3458;
public const int ToggleYouTubeVideoMessageEvent = 1013;
public const int UpdateNavigatorSettingsMessageEvent = 3753;
public const int UseSellableClothingMessageEvent = 3609;
public const int PollStartMessageEvent = 455;
public const int HabboCameraEvent = 1160;
public const int BuyOfferMessageEvent = 2786;
public const int Game2GetWeeklyLeaderboardMessageEvent = 2282;
public const int PerformanceLogMessageEvent = 1873;
public const int ToggleMuteToolMessageEvent = 2325;
public const int InitTradeMessageEvent = 3876;
public const int ChatMessageEvent = 520;
public const int SaveRoomSettingsMessageEvent = 1934;
public const int GetMarketplaceOffersMessageEvent = 1214;
public const int PurchaseFromCatalogAsGiftMessageEvent = 2626;
public const int CheckGnomeNameMessageEvent = 2254;
public const int GetGroupCreationWindowMessageEvent = 62;
public const int SubmitBullyReportMessageEvent = 2451;
public const int GiveAdminRightsMessageEvent = 729;
public const int GetGroupMembersMessageEvent = 3646;
public const int ModerateRoomMessageEvent = 3062;
public const int GetForumStatsMessageEvent = 3446;
public const int GetPromoArticlesMessageEvent = 291;
public const int CallForHelpFromForumThreadMessageEvent = 1696;
public const int SitMessageEvent = 3941;
public const int SetSoundSettingsMessageEvent = 2268;
public const int ModerationCautionMessageEvent = 3835;
public const int InitializeFloorPlanSessionMessageEvent = 1776;
public const int ModeratorActionMessageEvent = 2192;
public const int PostGroupContentMessageEvent = 3006;
public const int GetCraftingRecipesAvailableMessageEvent = 3828;
public const int GetModeratorRoomChatlogMessageEvent = 1608;
public const int SetFriendBarStateMessageEvent = 1741;
public const int GetUserFlatCatsMessageEvent = 187;
public const int SendBullyReportMessageEvent = 243;
public const int RemoveRightsMessageEvent = 2011;
public const int ModerationBanMessageEvent = 29;
public const int GetUserTagsMessageEvent = 1069;
public const int CanCreateRoomMessageEvent = 3488;
public const int UseWallItemMessageEvent = 2681;
public const int OpenCalendarBoxMessageEvent = 3214;
public const int PlaceObjectMessageEvent = 1262;
public const int OpenBotActionMessageEvent = 3840;
public const int GetMarketplaceConfigurationMessageEvent = 95;
public const int GetCreditsInfoMessageEvent = 1543;
public const int OnBullyClickMessageEvent = 3827;
public const int GetEventCategoriesMessageEvent = 2919;
public const int GetRoomEntryDataMessageEvent = 764;
public const int MoveWallItemMessageEvent = 15;
public const int ModerationDefaultSanctionMessageEvent = 3217;
public const int CallForHelpFromIMMessageEvent = 1788;
public const int UpdateGroupColoursMessageEvent = 3781;
public const int HabboSearchMessageEvent = 1021;
public const int JoinPlayerQueueMessageEvent = 776;
public const int CommandBotMessageEvent = 940;
public const int CraftSecretMessageEvent = 1593;
public const int ForceOpenCalendarBoxMessageEvent = 2977;
public const int GetCameraPriceEvent = 2983;
public const int SetCustomStackingHeightMessageEvent = 501;
public const int UnIgnoreUserMessageEvent = 1889;
public const int GetGuestRoomMessageEvent = 3933;
public const int SetMannequinFigureMessageEvent = 2430;
public const int DisconnectionMessageEvent = 1193;
public const int GetIgnoredUsersMessageEvent = 3853;
public const int AssignRightsMessageEvent = 1014;
public const int GetClubOffersMessageEvent = 2277;
public const int GetYouTubeTelevisionMessageEvent = 3452;
public const int SetMessengerInviteStatusMessageEvent = 649;
public const int UpdateFloorPropertiesMessageEvent = 3736;
public const int GetMoodlightConfigMessageEvent = 1367;
public const int PurchaseRoomPromotionMessageEvent = 1765;
public const int AddFavouriteRoomMessageEvent = 474;
public const int SendRoomInviteMessageEvent = 3233;
public const int SaveEnforcedCategorySettingsMessageEvent = 1424;
public const int ModerationMuteMessageEvent = 2178;
public const int SetRelationshipMessageEvent = 415;
public const int ChangeMottoMessageEvent = 761;
public const int UnbanUserFromRoomMessageEvent = 3257;
public const int GetRoomRightsMessageEvent = 1298;
public const int PurchaseGroupMessageEvent = 575;
public const int CreateFlatMessageEvent = 1674;
public const int GetDailyQuestMessageEvent = 1997;
public const int OpenHelpToolMessageEvent = 2714;
public const int FriendListUpdateMessageEvent = 2531;
public const int CallForHelpFromForumMessageMessageEvent = 483;
public const int GetMarketplaceCanMakeOfferMessageEvent = 2460;
public const int ThrowDiceMessageEvent = 2595;
public const int PollAnswerMessageEvent = 2815;
public const int SaveWiredConditionConfigMessageEvent = 1404;
public const int GetCameraRequestEvent = 705;
public const int GetCatalogOfferMessageEvent = 3114;
public const int GetClubGiftsMessageEvent = 1635;
public const int PurchaseFromCatalogMessageEvent = 1986;
public const int GetCatalogModeMessageEvent = 454;
public const int PickupObjectMessageEvent = 3821;
public const int GetMarketplaceItemStatsMessageEvent = 3524;
public const int GetRecipeConfigMessageEvent = 386;
public const int FindNewFriendsMessageEvent = 3406;
public const int CancelQuestMessageEvent = 3295;
public const int RedeemOfferCreditsMessageEvent = 819;
public const int RedeemVoucherMessageEvent = 3854;
public const int NavigatorSearchMessageEvent = 105;
public const int MoveAvatarMessageEvent = 2935;
public const int GetSoundSettingsMessageEvent = 3065;
public const int GetRecyclerRewardsMessageEvent = 3052;
public const int GetClientVersionMessageEvent = 4000;
public const int GuideSessionResolvedMessageEvent = 328;
public const int InitializeNavigatorMessageEvent = 199;
public const int TradingOfferItemsMessageEvent = 1137;
public const int GetRoomFilterListMessageEvent = 3536;
public const int WhisperMessageEvent = 753;
public const int InitCryptoMessageEvent = 340;
public const int GetPetTrainingPanelMessageEvent = 2033;
public const int MoveObjectMessageEvent = 2660;
public const int GetPlayableGamesMessageEvent = 608;
public const int StartTypingMessageEvent = 1022;
public const int GetSongInfoMessageEvent = 341;
public const int GoToHotelViewMessageEvent = 1794;
public const int GetExtendedProfileMessageEvent = 3412;
public const int SendMsgMessageEvent = 3653;
public const int CancelTypingMessageEvent = 1096;
public const int GuideSessionMsgMessageEvent = 2239;
public const int GetGroupFurniConfigMessageEvent = 3533;
public const int TradingConfirmMessageEvent = 1215;
public const int RemoveGroupFavouriteMessageEvent = 818;
public const int VersionCheckMessageEvent = 2463;
public const int PlacePetMessageEvent = 154;
public const int CheckValidNameMessageEvent = 3704;
public const int ModifyWhoCanRideHorseMessageEvent = 2906;
public const int GetRelationshipsMessageEvent = 1044;
public const int GetCatalogIndexMessageEvent = 3048;
public const int ScrGetUserInfoMessageEvent = 2100;
public const int AvatarEffectSelectedMessageEvent = 728;
public const int ConfirmLoveLockMessageEvent = 3399;
public const int RemoveSaddleFromHorseMessageEvent = 3358;
public const int GuideSessionGetRequesterRoomMessageEvent = 72;
public const int SaveNavigatorPositionEvent = 2907;
public const int AcceptBuddyMessageEvent = 109;
public const int GetQuestListMessageEvent = 537;
public const int SaveWardrobeOutfitMessageEvent = 1377;
public const int BanUserMessageEvent = 3441;
public const int GetThreadDataMessageEvent = 856;
public const int ChangeNameMessageEvent = 1060;
public const int MySanctionStatusMessageEvent = 3462;
public const int GetBadgesMessageEvent = 3315;
public const int UseFurnitureMessageEvent = 2475;
public const int GoToFlatMessageEvent = 745;
public const int GetSanctionStatusMessageEvent = 3462;//b
public const int GuideHelpMessageEvent = 321;//b
public const int SubmitNewTicketMessageEvent = 1141;//b
public const int NewNavigatorSearchMessageEvent = 105;//b
public const int GetModeratorUserRoomVisitsMessageEvent = 634;//b
public const int SetChatPreferenceMessageEvent = 3729;//b need test
public const int GetGroupForumDataMessageEvent = 3446;//b
public const int InitializeNewNavigatorMessageEvent = 199;//b
public const int OpenPlayerProfileMessageEvent = 3412;//b
public const int UpdateMagicTileMessageEvent = 501;//b
public const int EventTrackerMessageEvent = 2544;//b
public const int SaveBotActionMessageEvent = 940;//b
public const int SetUsernameMessageEvent = 3853;//b
public const int SaveBrandingItemMessageEvent = 989;//b
public const int GetGroupForumThreadRootMessageEvent = 71;//b
public const int CheckQuizTypeEvent = 2015;//b
public const int MemoryPerformanceMessageEvent = 1873;//b
public const int GetHabboClubWindowMessageEvent = 2277;//b
public const int CheckPetNameMessageEvent = 2961;//b
public const int ReadForumThreadMessageEvent = 856;//b
public const int SaveFloorPlanModelMessageEvent = 3736;//b
public const int GetOffersMessageEvent = 1214;//b
public const int GetGroupForumsMessageEvent = 1004;//b
public const int PublishForumThreadMessageEvent = 3006;//b
public const int AlterForumThreadStateMessageEvent = 16;//b
public const int ClientVariablesMessageEvent = 2463;//b
public const int MoodlightUpdateMessageEvent = 3631;///b
}
}
3- Agora volte até a pasta Packets e clique em Outgoing --> ServerPacketHeader.cs, aperte CTRL+A e cole tudo isso lá:
namespace Plus.Communication.Packets.Outgoing
{
public static class ServerPacketHeader
{
/*Generated @ 27-7-2016 15:39:49 -- 278 packets*/
public const int AvatarEffectActivatedMessageComposer = 295;
public const int HelperToolMessageComposer = 939;
public const int NameChangeUpdateMessageComposer = 3187;
public const int HeightMapMessageComposer = 1801;
public const int CallForHelpPendingCallsMessageComposer = 1114;
public const int ChatMessageComposer = 3816;
public const int GroupMembersMessageComposer = 316;
public const int OpenBotActionMessageComposer = 1260;
public const int UserObjectMessageComposer = 40;
public const int ActionMessageComposer = 2165;
public const int ManageGroupMessageComposer = 3294;
public const int FloodControlMessageComposer = 96;
public const int FlatControllerAddedMessageComposer = 3388;
public const int VoucherRedeemOkMessageComposer = 3659;
public const int TradingClosedMessageComposer = 906;
public const int MarketplaceConfigurationMessageComposer = 866;
public const int FlatCreatedMessageComposer = 362;
public const int ServerErrorMessageComposer = 3061;
public const int ScrSendUserInfoMessageComposer = 284;
public const int RecyclerRewardsMessageComposer = 2704;
public const int CheckPetNameMessageComposer = 1285;
public const int GuideSessionAttachedMessageComposer = 1468;
public const int QuestAbortedMessageComposer = 1797;
public const int RespectPetNotificationMessageComposer = 123;
public const int PromotableRoomsMessageComposer = 3814;
public const int CameraPurchaseOkComposer = 1000;
public const int CloseConnectionMessageComposer = 3422;
public const int HabboClubOffersMessageComposer = 2387;
public const int CfhTopicsInitMessageComposer = 946;
public const int WiredEffectConfigMessageComposer = 3113;
public const int FriendListUpdateMessageComposer = 504;
public const int ObjectAddMessageComposer = 459;
public const int GuideSessionDetachedMessageComposer = 3258;
public const int MarketplaceCanMakeOfferResultMessageComposer = 219;
public const int NavigatorCollapsedCategoriesMessageComposer = 3928;
public const int RoomRightsListMessageComposer = 1728;
public const int SetGroupIdMessageComposer = 246;
public const int TradingUpdateMessageComposer = 1719;
public const int QuizDataMessageComposer = 1187;
public const int CarryObjectMessageComposer = 3176;
public const int PollContentsMessageComposer = 2326;
public const int NewGroupInfoMessageComposer = 910;
public const int RoomForwardMessageComposer = 2082;
public const int GroupFurniSettingsMessageComposer = 1922;
public const int CreditBalanceMessageComposer = 2866;
public const int GnomeBoxMessageComposer = 1929;
public const int CatalogUpdatedMessageComposer = 3185;
public const int JoinQueueMessageComposer = 2621;
public const int UserTypingMessageComposer = 3991;
public const int ObjectRemoveMessageComposer = 3219;
public const int RoomEntryInfoMessageComposer = 2659;
public const int CatalogOfferMessageComposer = 3576;
public const int CatalogIndexMessageComposer = 2596;
public const int ThreadsListDataMessageComposer = 1517;
public const int UserGameAchievementsMessageComposer = 319;
public const int GroupFurniConfigMessageComposer = 48;
public const int HabboUserBadgesMessageComposer = 959;
public const int FlatAccessibleMessageComposer = 237;
public const int VoucherRedeemErrorMessageComposer = 1756;
public const int GetRoomFilterListMessageComposer = 2667;
public const int YouAreNotControllerMessageComposer = 3026;
public const int ModeratorInitMessageComposer = 2162;
public const int ModeratorUserClassMessageComposer = 3545;
public const int FloorPlanSendDoorMessageComposer = 3877;
public const int SleepMessageComposer = 1059;
public const int FlatControllerRemovedMessageComposer = 3812;
public const int UniqueMachineIDMessageComposer = 3302;
public const int ItemAddMessageComposer = 2267;
public const int GroupForumDataMessageComposer = 3684;
public const int FigureSetIdsMessageComposer = 3707;
public const int InstantMessageErrorMessageComposer = 640;
public const int UpdateFreezeLivesMessageComposer = 151;
public const int NavigatorSettingsMessageComposer = 2469;
public const int ItemUpdateMessageComposer = 3671;
public const int AchievementsMessageComposer = 1155;
public const int PetBreedingMessageComposer = 3363;
public const int LatencyResponseMessageComposer = 2261;
public const int RoomReadyMessageComposer = 729;
public const int HabboActivityPointNotificationMessageComposer = 886;
public const int CheckGnomeNameMessageComposer = 1078;
public const int BuddyListMessageComposer = 650;
public const int UserTagsMessageComposer = 446;
public const int MarketPlaceOwnOffersMessageComposer = 2743;
public const int GroupDeletedMessageComposer = 1455;
public const int YoutubeDisplayPlaylistsMessageComposer = 354;
public const int AvatarEffectExpiredMessageComposer = 1839;
public const int TradingCompleteMessageComposer = 668;
public const int PetInformationMessageComposer = 3263;
public const int ModeratorRoomChatlogMessageComposer = 2079;
public const int ClubGiftsMessageComposer = 2810;
public const int MarketplaceMakeOfferResultMessageComposer = 874;
public const int MOTDNotificationMessageComposer = 1402;
public const int TalentTrackMessageComposer = 3667;
public const int MessengerErrorMessageComposer = 3828;
public const int TraxSongInfoMessageComposer = 2925;
public const int GroupInfoMessageComposer = 43;
public const int SlideObjectBundleMessageComposer = 3188;
public const int FurniListRemoveMessageComposer = 2648;
public const int FriendNotificationMessageComposer = 3517;
public const int FurniListNotificationMessageComposer = 519;
public const int RoomInfoUpdatedMessageComposer = 3044;
public const int FurniListAddMessageComposer = 3918;
public const int AvatarEffectMessageComposer = 3351;
public const int OpenConnectionMessageComposer = 224;
public const int FurniListMessageComposer = 1814;
public const int FigureUpdateMessageComposer = 470;
public const int PostUpdatedMessageComposer = 2148;
public const int UserFlatCatsMessageComposer = 1952;
public const int GuideSessionPartnerIsTypingMessageComposer = 495;
public const int ObjectUpdateMessageComposer = 3902;
public const int ThreadUpdatedMessageComposer = 2257;
public const int HabboSearchResultMessageComposer = 3102;
public const int RespectNotificationMessageComposer = 3472;
public const int PetHorseFigureInformationMessageComposer = 308;
public const int MessengerInitMessageComposer = 3973;
public const int PollOfferMessageComposer = 348;
public const int ThumbnailSuccessMessageComposer = 988;
public const int MarketplaceItemStatsMessageComposer = 405;
public const int ConcurrentUsersGoalProgressMessageComposer = 1124;
public const int ModeratorUserInfoMessageComposer = 2328;
public const int YouAreControllerMessageComposer = 2951;
public const int RoomRatingMessageComposer = 2837;
public const int RefreshFavouriteGroupMessageComposer = 2546;
public const int AvailabilityStatusMessageComposer = 1957;
public const int PlayableGamesMessageComposer = 2626;
public const int AchievementUnlockedMessageComposer = 2654;
public const int PostQuizAnswersMessageComposer = 2873;
public const int GroupMembershipRequestedMessageComposer = 132;
public const int FlatAccessDeniedMessageComposer = 595;
public const int NavigatorFlatCatsMessageComposer = 1228;
public const int AvatarEffectAddedMessageComposer = 1533;
public const int UsersMessageComposer = 779;
public const int SecretKeyMessageComposer = 707;
public const int RentableSpacesErrorMessageComposer = 250;
public const int TradingStartMessageComposer = 1151;
public const int RoomSettingsDataMessageComposer = 3340;
public const int NewBuddyRequestMessageComposer = 1185;
public const int DoorbellMessageComposer = 3464;
public const int OpenGiftMessageComposer = 349;
public const int CantConnectMessageComposer = 2339;
public const int GuideSessionRequesterRoomMessageComposer = 579;
public const int FloorHeightMapMessageComposer = 419;
public const int SubmitBullyReportMessageComposer = 1109;
public const int PresentDeliverErrorMessageComposer = 3835;
public const int SellablePetBreedsMessageComposer = 1073;
public const int MarketplaceCancelOfferResultMessageComposer = 1425;
public const int LoadGameMessageComposer = 56;
public const int AchievementScoreMessageComposer = 1181;
public const int TalentLevelUpMessageComposer = 3516;
public const int BuildersClubMembershipMessageComposer = 1308;
public const int PetTrainingPanelMessageComposer = 1788;
public const int QuestCompletedMessageComposer = 1410;
public const int QuestionParserMessageComposer = 3252;
public const int UserRightsMessageComposer = 71;
public const int ForumsListDataMessageComposer = 2760;
public const int PongMessageComposer = 3603;
public const int UserChangeMessageComposer = 2662;
public const int ModeratorUserChatlogMessageComposer = 2200;
public const int CommunityGoalHallOfFameMessageComposer = 302;
public const int GiftWrappingConfigurationMessageComposer = 3976;
public const int FloorPlanFloorMapMessageComposer = 772;
public const int UserNameChangeMessageComposer = 1598;
public const int ThreadReplyMessageComposer = 801;
public const int TalentTrackLevelMessageComposer = 3638;
public const int TradingConfirmedMessageComposer = 3125;
public const int GroupCreationWindowMessageComposer = 532;
public const int GetGuestRoomResultMessageComposer = 887;
public const int RoomNotificationMessageComposer = 619;
public const int InitCryptoMessageComposer = 1711;
public const int SoundSettingsMessageComposer = 3960;
public const int WiredTriggerConfigMessageComposer = 2623;
public const int ItemsMessageComposer = 745;
public const int PurchaseOKMessageComposer = 2445;
public const int BadgeEditorPartsMessageComposer = 2732;
public const int NewConsoleMessageMessageComposer = 2128;
public const int Game2WeeklyLeaderboardMessageComposer = 292;
public const int HideWiredConfigMessageComposer = 2270;
public const int IgnoredUsersMessageComposer = 81;
public const int FollowFriendFailedMessageComposer = 3434;
public const int CatalogPageMessageComposer = 472;
public const int AddExperiencePointsMessageComposer = 1940;
public const int AvatarEffectsMessageComposer = 3940;
public const int QuestListMessageComposer = 2074;
public const int UnbanUserFromRoomMessageComposer = 3585;
public const int WiredConditionConfigMessageComposer = 2944;
public const int GuideSessionInvitedToGuideRoomMessageComposer = 1554;
public const int StickyNoteMessageComposer = 1280;
public const int SanctionStatusMessageComposer = 2747;
public const int ObjectsMessageComposer = 1495;
public const int NewUserExperienceGiftOfferMessageComposer = 73;
public const int RoomVisualizationSettingsMessageComposer = 1180;
public const int PromoArticlesMessageComposer = 2352;
public const int MaintenanceStatusMessageComposer = 1434;
public const int BuddyRequestsMessageComposer = 455;
public const int CameraStorageUrlMessageComposer = 2521;
public const int Game3WeeklyLeaderboardMessageComposer = 950;
public const int AuthenticationOKMessageComposer = 3063;
public const int QuestStartedMessageComposer = 1581;
public const int BotInventoryMessageComposer = 1324;
public const int GameListMessageComposer = 3108;
public const int SendBullyReportMessageComposer = 3286;
public const int VideoOffersRewardsMessageComposer = 2508;
public const int PerkAllowancesMessageComposer = 3722;
public const int RoomEventMessageComposer = 3875;
public const int MuteAllInRoomMessageComposer = 2015;
public const int Game1WeeklyLeaderboardMessageComposer = 829;
public const int UpdateFavouriteRoomMessageComposer = 280;
public const int ModeratorSupportTicketResponseMessageComposer = 596;
public const int YouTubeDisplayVideoMessageComposer = 1626;
public const int RoomPropertyMessageComposer = 336;
public const int QuestionAnswersMessageComposer = 3100;
public const int ModeratorSupportTicketMessageComposer = 2392;
public const int SetCameraPriceMessageComposer = 2605;
public const int RoomInviteMessageComposer = 2349;
public const int FurniListUpdateMessageComposer = 489;
public const int BadgesMessageComposer = 3337;
public const int SendGameInvitationMessageComposer = 215;
public const int NavigatorSearchResultSetMessageComposer = 328;
public const int IgnoreStatusMessageComposer = 372;
public const int RentableSpaceMessageComposer = 442;
public const int GuideSessionEndedMessageComposer = 118;
public const int UpdateMagicTileMessageComposer = 1298;
public const int ShoutMessageComposer = 139;
public const int MoodlightConfigMessageComposer = 2684;
public const int FurnitureAliasesMessageComposer = 1688;
public const int LoveLockDialogueCloseMessageComposer = 3892;
public const int GuideSessionErrorMessageComposer = 819;
public const int TradingErrorMessageComposer = 3627;
public const int ProfileInformationMessageComposer = 515;
public const int UnknownCalendarMessageComposer = 3969;
public const int ModeratorRoomInfoMessageComposer = 3197;
public const int CampaignMessageComposer = 2052;
public const int LoveLockDialogueMessageComposer = 1080;
public const int GuideSessionStartedMessageComposer = 2926;
public const int PurchaseErrorMessageComposer = 3266;
public const int PopularRoomTagsResultMessageComposer = 3936;
public const int CampaignCalendarDataMessageComposer = 487;
public const int GiftWrappingErrorMessageComposer = 589;
public const int WhisperMessageComposer = 2571;
public const int CatalogItemDiscountMessageComposer = 1008;
public const int HabboGroupBadgesMessageComposer = 3390;
public const int CanCreateRoomMessageComposer = 491;
public const int ThreadDataMessageComposer = 2750;
public const int HabboClubCenterInfoMessageComposer = 1696;
public const int TradingFinishMessageComposer = 1976;
public const int GuestRoomSearchResultMessageComposer = 3681;
public const int DanceMessageComposer = 1707;
public const int GenericErrorMessageComposer = 3781;
public const int NavigatorPreferencesMessageComposer = 2911;
public const int GuideSessionMsgMessageComposer = 379;
public const int MutedMessageComposer = 3213;
public const int BroadcastMessageAlertMessageComposer = 385;
public const int YouAreOwnerMessageComposer = 3588;
public const int FindFriendsProcessResultMessageComposer = 3704;
public const int GroupMemberUpdatedMessageComposer = 1892;
public const int ModeratorTicketChatlogMessageComposer = 2157;
public const int BadgeDefinitionsMessageComposer = 1271;
public const int UserRemoveMessageComposer = 1925;
public const int RoomSettingsSavedMessageComposer = 2402;
public const int ModeratorUserRoomVisitsMessageComposer = 401;
public const int RoomErrorNotifMessageComposer = 1122;
public const int UpdateUsernameMessageComposer = 2914;
public const int NavigatorLiftedRoomsMessageComposer = 2876;
public const int UnknownGroupMessageComposer = 3344;
public const int NavigatorMetaDataParserMessageComposer = 2867;
public const int UpdateFavouriteGroupMessageComposer = 2609;
public const int GetRelationshipsMessageComposer = 3823;
public const int ItemRemoveMessageComposer = 936;
public const int BCBorrowedItemsMessageComposer = 3150;
public const int GameAccountStatusMessageComposer = 3352;
public const int ThreadCreatedMessageComposer = 66;
public const int EnforceCategoryUpdateMessageComposer = 1186;
public const int AchievementProgressedMessageComposer = 2741;
public const int ActivityPointsMessageComposer = 1036;
public const int PetInventoryMessageComposer = 2913;
public const int GetRoomBannedUsersMessageComposer = 1930;
public const int UserUpdateMessageComposer = 2798;
public const int FavouritesMessageComposer = 2652;
public const int WardrobeMessageComposer = 1533;//b
public const int QuizResultsMessageComposer = 2873;//b
public const int MarketPlaceOffersMessageComposer = 1582;//b test
public const int LoveLockDialogueSetLockedMessageComposer = 3892;//b test
public const int TradingAcceptMessageComposer = 3125;//b
public const int GroupForumNewThreadMessageComposer = 66;//b
public const int GameAchievementListMessageComposer = 319;//b
public const int GetYouTubePlaylistMessageComposer = 354; //b
public const int SetUniqueIdMessageComposer = 3302;//b
public const int GroupForumReadThreadMessageComposer = 2750;//b
public const int RoomMuteSettingsMessageComposer = 2015;//b
public const int GroupForumListingsMessageComposer = 2760;//b
public const int GetYouTubeVideoMessageComposer = 1626;//b
public const int GetClubComposer = 2387;//b
public const int OpenHelpToolMessageComposer = 1114;//b
public const int GroupForumThreadUpdateMessageComposer = 2257;//b
public const int GroupForumNewResponseMessageComposer = 801;//b
public const int GroupForumThreadRootMessageComposer = 1517;//b
public const int UserPerksMessageComposer = 3722;//b
}
}
4- Por fim, volte até Communication e dirija-se até Encryption --> Keys --> RSAKeys.cs, e substitua as três linhas por está:
public string N = "86851dd364d5c5cece3c883171cc6ddc5760779b992482bd1e20dd296888df91b33b936a7b93f06d29e8870f703a216257dec7c81de0058fea4cc5116f75e6efc4e9113513e45357dc3fd43d4efab5963ef178b78bd61e81a14c603b24c8bcce0a12230b320045498edc29282ff0603bc7b7dae8fc1b05b52b2f301a9dc783b7";
public string D = "59ae13e243392e89ded305764bdd9e92e4eafa67bb6dac7e1415e8c645b0950bccd26246fd0d4af37145af5fa026c0ec3a94853013eaae5ff1888360f4f9449ee023762ec195dff3f30ca0b08b8c947e3859877b5d7dced5c8715c58b53740b84e11fbc71349a27c31745fcefeeea57cff291099205e230e0c7c27e8e1c0512b";
public string E = "3";
Pronto! Suas packets estão atualizadas e.e
INFO: Adicione isto em sua variables:
catalog.deep.hierarchy=true
flash.dynamic.icon.download.name.template=icon/%typeid%%param%_icon.png
Downloads:
~ Mega (ícones)
~ Habbo.swf
Créditos totais a www.CriaHabbos.ga pelo tutorial e a jordynegen11 pelas packets
Atualizando as estruturas:
~ Mega (ícones)
~ Habbo.swf
Créditos totais a www.CriaHabbos.ga pelo tutorial e a jordynegen11 pelas packets
Atualizando as estruturas:
Está parte requer muita atenção!
1- Fix das trocas:
Iremos procurar por TradingUpdateComposer.cs na barra de pesquisa do Visual Studio, daremos 2x clique no resultado e iremos apertar CTRL+A e substituir tudo por:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.HabboHotel.Rooms.Trading;
using Plus.HabboHotel.Items;
namespace Plus.Communication.Packets.Outgoing.Inventory.Trading
{
class TradingUpdateComposer : ServerPacket
{
public TradingUpdateComposer(Trade Trade)
: base(ServerPacketHeader.TradingUpdateMessageComposer)
{
if (Trade.Users.Count() < 2)
return;
var User1 = Trade.Users.First();
var User2 = Trade.Users.Last();
base.WriteInteger(User1.GetClient().GetHabbo().Id);
SerializeUserItems(User1);
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(1);
SerializeUserItems(User2);
base.WriteInteger(0);
base.WriteInteger(0);
/*base.WriteInteger(User.GetClient().GetHabbo().Id);
base.WriteInteger(User.OfferedItems.Count);
foreach (Item Item in User.OfferedItems.ToList())
{
base.WriteInteger(Item.Id);
base.WriteString(Item.GetBaseItem().Type.ToString().ToLower());
base.WriteInteger(Item.Id);
base.WriteInteger(Item.Data.SpriteId);
base.WriteInteger(0);//Not sure.
if (Item.LimitedNo > 0)
{
base.WriteBoolean(false);//Stackable
base.WriteInteger(256);
base.WriteString("");
base.WriteInteger(Item.LimitedNo);
base.WriteInteger(Item.LimitedTot);
}
else
{
base.WriteBoolean(true);//Stackable
base.WriteInteger(0);
base.WriteString("");
}
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(0);
if (Item.GetBaseItem().Type == 's')
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(-1);*/
}
private void SerializeUserItems(TradeUser User)
{
base.WriteInteger(User.OfferedItems.Count);//While
foreach (Item Item in User.OfferedItems.ToList())
{
base.WriteInteger(Item.Id);
base.WriteString(Item.Data.Type.ToString().ToUpper());
base.WriteInteger(Item.Id);
base.WriteInteger(Item.Data.SpriteId);
base.WriteInteger(1);
base.WriteBoolean(true);
//Func called _SafeStr_15990
base.WriteInteger(0);
base.WriteString("");
//end Func called
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(0);
if (Item.Data.Type.ToString().ToUpper() == "S")
base.WriteInteger(0);
}
//End of while
}
}
}
2- Fix ModTools:
Iremos procurar por ModeratorInitComposer.cs na barra de pesquisa do Visual Studio, daremos 2x clique no resultado e iremos apertar CTRL+A e substituir tudo por:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.HabboHotel.Moderation;
using Plus.HabboHotel.Support;
namespace Plus.Communication.Packets.Outgoing.Moderation
{
class ModeratorInitComposer : ServerPacket
{
public ModeratorInitComposer(ICollection<string> UserPresets, ICollection<string> RoomPresets, Dictionary<string, List<ModerationPresetActionMessages>> UserActionPresets, ICollection<SupportTicket> Tickets)
: base(ServerPacketHeader.ModeratorInitMessageComposer)
{
base.WriteInteger(Tickets.Count);
foreach (SupportTicket ticket in Tickets.ToList())
{
base.WriteInteger(ticket.Id);
base.WriteInteger(ticket.TabId);
base.WriteInteger(1); // Type
base.WriteInteger(ticket.Category); // Category
base.WriteInteger(((int)PlusEnvironment.GetUnixTimestamp() - Convert.ToInt32(ticket.Timestamp)) * 1000);
base.WriteInteger(ticket.Score);
base.WriteInteger(0);
base.WriteInteger(ticket.SenderId);
base.WriteString(ticket.SenderName);
base.WriteInteger(ticket.ReportedId);
base.WriteString(ticket.ReportedName);
base.WriteInteger((ticket.Status == TicketStatus.PICKED) ? ticket.ModeratorId : 0);
base.WriteString(ticket.ModName);
base.WriteString(ticket.Message);
base.WriteInteger(0);
base.WriteInteger(0);
}
base.WriteInteger(UserPresets.Count);
foreach (string pre in UserPresets)
{
base.WriteString(pre);
}
base.WriteInteger(UserActionPresets.Count);
foreach (KeyValuePair<string, List<ModerationPresetActionMessages>> Cat in UserActionPresets.ToList())
{
base.WriteString(Cat.Key);
}
base.WriteBoolean(true); // Ticket right
base.WriteBoolean(true); // Chatlogs
base.WriteBoolean(true); // User actions alert etc
base.WriteBoolean(true); // Kick users
base.WriteBoolean(true); // Ban users
base.WriteBoolean(true); // Caution etc
base.WriteBoolean(true); // Love you, Tom
base.WriteInteger(RoomPresets.Count);
foreach (string pre in RoomPresets)
{
base.WriteString(pre);
}
}
}
}
3- Fix para o catálogo:
Iremos novamente na barra de pesquisa do Visual Studio e pesquisaremos por CatalogIndexComposer.cs, daremos 2x clique no resultado e iremos apertar CTRL+A e substituir tudo por:
using System.Collections.Generic; using Plus.HabboHotel.Catalog;
using Plus.HabboHotel.GameClients;
namespace Plus.Communication.Packets.Outgoing.Catalog
{
public class CatalogIndexComposer : ServerPacket
{
public CatalogIndexComposer(GameClient Session, ICollection<CatalogPage> Pages, int Sub = 0)
: base(ServerPacketHeader.CatalogIndexMessageComposer)
{
WriteRootIndex(Session, Pages);
foreach (CatalogPage Page in Pages)
{
if (Page.ParentId != -1 || Page.MinimumRank > Session.GetHabbo().Rank || (Page.MinimumVIP > Session.GetHabbo().VIPRank && Session.GetHabbo().Rank == 1))
continue;
WritePage(Page, CalcTreeSize(Session, Pages, Page.Id));
foreach (CatalogPage child in Pages)
{
if (child.ParentId != Page.Id || Page.MinimumRank > Session.GetHabbo().Rank || (Page.MinimumVIP > Session.GetHabbo().VIPRank && Session.GetHabbo().Rank == 1))
continue;
WritePage(child, CalcTreeSize(Session, Pages, child.Id));
foreach (CatalogPage baby in Pages)
{
if (baby.ParentId != child.Id || Page.MinimumRank > Session.GetHabbo().Rank || (Page.MinimumVIP > Session.GetHabbo().VIPRank && Session.GetHabbo().Rank == 1))
continue;
WritePage(baby, 0);
}
}
}
base.WriteBoolean(false);
base.WriteString("NORMAL");
}
public void WriteRootIndex(GameClient Session, ICollection<CatalogPage> Pages)
{
base.WriteBoolean(true);
base.WriteInteger(0);
base.WriteInteger(-1);
base.WriteString("root");
base.WriteString(string.Empty);
base.WriteInteger(0);
base.WriteInteger(CalcTreeSize(Session, Pages, -1));
}
public void WritePage(CatalogPage Page, int TreeSize)
{
base.WriteBoolean(Page.Visible);
base.WriteInteger(Page.Icon);
base.WriteInteger(Page.Id);
base.WriteString(Page.PageLink);
base.WriteString(Page.Caption);
base.WriteInteger(Page.ItemOffers.Count);
foreach (int i in Page.ItemOffers.Keys)
{
base.WriteInteger(i);
}
base.WriteInteger(TreeSize);
}
public int CalcTreeSize(GameClient Session, ICollection<CatalogPage> Pages, int ParentId)
{
int i = 0;
foreach (CatalogPage Page in Pages)
{
if (Page.MinimumRank > Session.GetHabbo().Rank|| (Page.MinimumVIP > Session.GetHabbo().VIPRank && Session.GetHabbo().Rank == 1) || Page.ParentId != ParentId)
continue;
if (Page.ParentId == ParentId)
i++;
}
return i;
}
}
}
Agora iremos até CatalogPageComposer.cs e apertamos CTRL+A e substituimos tudo por:
using System;
using System.Linq;
using Plus.Core;
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Catalog;
using Plus.HabboHotel.Items.Utilities;
using Plus.HabboHotel.Catalog.Utilities;
namespace Plus.Communication.Packets.Outgoing.Catalog
{
public class CatalogPageComposer : ServerPacket
{
public CatalogPageComposer(CatalogPage Page, string CataMode)
: base(ServerPacketHeader.CatalogPageMessageComposer)
{
base.WriteInteger(Page.Id);
base.WriteString(CataMode);
base.WriteString(Page.Template);
base.WriteInteger(Page.PageStrings1.Count);
foreach (string s in Page.PageStrings1)
{
base.WriteString(s);
}
base.WriteInteger(Page.PageStrings2.Count);
foreach (string s in Page.PageStrings2)
{
base.WriteString(s);
}
if (Page.Template.Equals("vip_buy"))
{
base.WriteInteger(630395);
base.WriteString("NORMAL");
base.WriteString("vip_buy");
base.WriteInteger(2);
base.WriteString("hc2_clubtitle");
base.WriteString("clubcat_pic");
base.WriteInteger(0);
base.WriteInteger(0);
base.WriteInteger(-1);
base.WriteBoolean(false);
}
if (!Page.Template.Equals("frontpage") && !Page.Template.Equals("club_buy"))
{
base.WriteInteger(Page.Items.Count);
foreach (CatalogItem Item in Page.Items.Values)
{
base.WriteInteger(Item.Id);
base.WriteString(Item.Name);
base.WriteBoolean(false);//IsRentable
base.WriteInteger(Item.CostCredits);
if (Item.CostDiamonds > 0)
{
base.WriteInteger(Item.CostDiamonds);
base.WriteInteger(5);
}
else
{
base.WriteInteger(Item.CostPixels);
base.WriteInteger(0);
}
base.WriteBoolean(ItemUtility.CanGiftItem(Item));
if (Item.Data.InteractionType == InteractionType.DEAL)
{
foreach (CatalogDeal Deal in Page.Deals.Values)
{
base.WriteInteger(Deal.ItemDataList.Count);//Count
foreach (CatalogItem DealItem in Deal.ItemDataList.ToList())
{
base.WriteString(DealItem.Data.Type.ToString());
base.WriteInteger(DealItem.Data.SpriteId);
base.WriteString("");
base.WriteInteger(1);
base.WriteBoolean(false);
}
base.WriteInteger(0);//club_level
base.WriteBoolean(ItemUtility.CanSelectAmount(Item));
base.WriteBoolean(true);
base.WriteString("");
}
}
else
{
base.WriteInteger(string.IsNullOrEmpty(Item.Badge) ? 1 : 2);//Count 1 item if there is no badge, otherwise count as 2.
{
if (!string.IsNullOrEmpty(Item.Badge))
{
base.WriteString("b");
base.WriteString(Item.Badge);
}
base.WriteString(Item.Data.Type.ToString());
if (Item.Data.Type.ToString().ToLower() == "b")
{
//This is just a badge, append the name.
base.WriteString(Item.Data.ItemName);
}
else
{
base.WriteInteger(Item.Data.SpriteId);
if (Item.Data.InteractionType == InteractionType.WALLPAPER || Item.Data.InteractionType == InteractionType.FLOOR || Item.Data.InteractionType == InteractionType.LANDSCAPE)
{
base.WriteString(Item.Name.Split('_')[2]);
}
else if (Item.Data.InteractionType == InteractionType.BOT)//Bots
{
CatalogBot CatalogBot = null;
if (!PlusEnvironment.GetGame().GetCatalog().TryGetBot(Item.ItemId, out CatalogBot))
base.WriteString("hd-180-7.ea-1406-62.ch-210-1321.hr-831-49.ca-1813-62.sh-295-1321.lg-285-92");
else
base.WriteString(CatalogBot.Figure);
}
else if (Item.ExtraData != null)
{
base.WriteString(Item.ExtraData != null ? Item.ExtraData : string.Empty);
}
base.WriteInteger(Item.Amount);
base.WriteBoolean(Item.IsLimited); // IsLimited
if (Item.IsLimited)
{
base.WriteInteger(Item.LimitedEditionStack);
base.WriteInteger(Item.LimitedEditionStack - Item.LimitedEditionSells);
}
}
base.WriteInteger(0); //club_level
base.WriteBoolean(ItemUtility.CanSelectAmount(Item));
base.WriteBoolean(true);
base.WriteString("");
}
}
}
}
else
base.WriteInteger(0);
base.WriteInteger(-1);
base.WriteBoolean(false);
//base.WriteInteger(-1);
//base.WriteBoolean(false);
if (Page.Template.Equals("frontpage4"))
{
base.WriteInteger(4); // count
base.WriteInteger(1); // id
base.WriteString("Natal");
base.WriteString("/catalogue/natal.png"); // image
base.WriteInteger(0);
base.WriteString("navidad2016"); // page link?
base.WriteInteger(9220); // page id?
base.WriteInteger(2);
base.WriteString("Natal");
base.WriteString("/catalogue/natal.png"); // image
base.WriteInteger(0);
base.WriteString("niv"); // page link?
base.WriteInteger(13);
base.WriteInteger(3);base.WriteString("Natal");
base.WriteString("/catalogue/natal.png"); // image
base.WriteInteger(0);
base.WriteString("habbo_club2");
base.WriteInteger(7);
base.WriteInteger(4);
base.WriteString("Natal");
base.WriteString("/catalogue/natal.png"); // image
base.WriteInteger(0);
base.WriteString("premios");
base.WriteInteger(56071);
}
}
}
}
4- Fix de carregar tudo e em seguida dar DC
Vamos procurar por AvailabilityStatusComposer.cs e substituir tudo dentro por:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Plus.Communication.Packets.Outgoing.Handshake
{
class AvailabilityStatusComposer : ServerPacket
{
public AvailabilityStatusComposer()
: base(ServerPacketHeader.AvailabilityStatusMessageComposer)
{
base.WriteBoolean(true);
base.WriteBoolean(false);
base.WriteBoolean(true);
}
}
}
Agora iremos procurar por MessengerInitComposer.cs e substituir tudo dentro por:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.HabboHotel.Users;
using Plus.HabboHotel.Users.Messenger;
using Plus.HabboHotel.Users.Relationships;
namespace Plus.Communication.Packets.Outgoing.Messenger
{
class MessengerInitComposer : ServerPacket
{
public MessengerInitComposer()
: base(ServerPacketHeader.MessengerInitMessageComposer)
{
base.WriteInteger(PlusStaticGameSettings.MessengerFriendLimit);//Friends max.
base.WriteInteger(300);
base.WriteInteger(800);
//base.WriteInteger(1100);
base.WriteInteger(0); // category count
base.WriteBoolean(true);
}
}
}
Agora salve tudo e dê debug.
9 comentários
Onde que bota o PRODUCTION-201607262204-86871104.swf?
caralho, fiz isso tudo certinho e fudeu meu habbo, boa merda
Primeiro mude o nome dela para Habbo.swf e mova para a swf/gordon
Qual erro está dando? Provavelmente você faz algo de errado xP. Eu mesmo segui o tutorial para ver se estava correto.
Muda o nome para "Habbo.swf" cola dentro da sua gordon
Eu fiz o tutorial pego certinho não sei porque vcs não conseguem
preciso fazer os passos dos fixs tambem ou esses não precisa?
Qual a sua production?
Valeu irmão!! Eu estou usando o seu PPack pois é o melhor e eu estava procurando um tutorial desse naipe para não ter que trocar o emu.
EmoticonEmoticon