Você não está conectado. Conecte-se ou registre-se

Power Pixel » Jogos » MMO & RPG » Habbo Hotel » Utilitários » Outros Utilitários » [FIX CALENDARIO DE ADVENTO PLUS] Calendario de advento [FIX CALENDARIO DE ADVENTO PLUS]

[FIX CALENDARIO DE ADVENTO PLUS] Calendario de advento [FIX CALENDARIO DE ADVENTO PLUS]

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

xjoao

Membro Elite


avatar
ola eu ia deixar esse fix Privado mas vou dar ele para vocês !

Vá em Gameclient.cs e procure por:
Código:
_habbo.InitProcess();


Acima disso adicione :
Código:
if (PlusStaticGameSettings.CampaignCalendarEnabled)
SendMessage(new CampaignCalendarDataComposer(_habbo.GetStats().openedGifts));

Adicione no topo da gameclient.cs
Código:
using Plus.Communication.Packets.Outgoing.Campaigns;

Em seguida, abra PlusStaticGameSettings.cs procure por:
Código:
public const bool NewUserTutorialBotEnabled = true;

em baixo coloque:
Código:
public const bool CampaignCalendarEnabled = true;

crie agora na Outgoing uma pasta chamada campaigns 
depois crie uma classe.cs chamada CampaignCalendarDataComposer.cs e cole:

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Plus.Communication.Packets.Outgoing.Campaigns
{
    class CampaignCalendarDataComposer : ServerPacket
    {
        public CampaignCalendarDataComposer(List<int> OpenedGifts)
            : base(ServerPacketHeader.CampaignCalendarDataMessageComposer)
        {
            int currentDate = DateTime.Now.Day - 1;

            base.WriteString("xmas16"); //eventTrigger
            base.WriteString(string.Empty); //idk? same as habbo ;P
            base.WriteInteger(currentDate); //currentDate
            base.WriteInteger(25); //totalAmountOfDays

            base.WriteInteger(OpenedGifts.Count); //countOpenGifts
            foreach (int Opened in OpenedGifts)
            {
                base.WriteInteger(Opened); //giftDay
            }

            List<int> MissedGifts = Enumerable.Range(0, (currentDate - 2)).Where(Day => !OpenedGifts.Contains(Day)).ToList();

            base.WriteInteger(MissedGifts.Count); //countMissedGifts
            foreach (int Missed in MissedGifts)
            {
                base.WriteInteger(Missed); //giftDay
            }
        }
    }



Vá em ServerPacketHeader.cs e adicione :
Código:
public const int CampaignCalendarDataMessageComposer = 2740;

Depois vá em Packets>Incoming>LandingView 
Crie uma classe dentro chamada OpenCalendarBoxEvent.cs e cole o código :

Código:
using Plus.Communication.Packets.Outgoing.Inventory.Furni;
using Plus.Communication.Packets.Outgoing.LandingView;
using Plus.Database.Interfaces;
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Users;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Plus.Communication.Packets.Incoming.LandingView
{
    class OpenCalendarBoxEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            string eventName = Packet.PopString();
            int giftDay = Packet.PopInt();

            HabboStats habboStats = Session?.GetHabbo()?.GetStats();

            int currentDay = DateTime.Now.Day - 1;

            if (!PlusStaticGameSettings.CampaignCalendarEnabled || habboStats == null ||
                habboStats.openedGifts.Contains(giftDay) || giftDay < (currentDay-2) ||
                giftDay > currentDay || eventName != "xmas16")
            {
                return;
            }



Depois vá em Packets>Incoming>LandingView 
Crie uma classe dentro chamada CampaignCalendarGiftComposer.cs  e cole o código :

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Plus.Communication.Packets.Outgoing.LandingView
{
    class CampaignCalendarGiftComposer : ServerPacket
    {
        public CampaignCalendarGiftComposer(string iconName = "throne")
            : base(ServerPacketHeader.CampaignCalendarGiftMessageComposer)
        {
            base.WriteBoolean(true); // never bothered to check
            base.WriteString("xmas14_starfish"); //productName
            base.WriteString(""); //customImage
            base.WriteString(iconName); //iconName
        }
    }
}

Vá agora para LandingViewManager.cs e adicione esta função :

Código:
public bool GenerateCalendarItem(Habbo Habbo, string eventName, int eventDate, out Item newItem)
        {
            newItem = null;

            using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                dbClient.SetQuery("SELECT `item_id` FROM `campaign_calendar_gifts` WHERE `event_name` = @eventName AND `base_id` = @dayId LIMIT 1");
                dbClient.AddParameter("eventName", eventName);
                dbClient.AddParameter("dayId", eventDate);

                DataRow row = dbClient.getRow();
                ItemData itemData = null;

                if (row?["item_id"] != null &&
                    PlusEnvironment.GetGame().GetItemManager().GetItem((string)row["item_id"], out itemData))
                {
                    newItem = ItemFactory.CreateSingleItemNullable(itemData, Habbo, "", "");
                    return newItem != null;
                }

                return false;
            }
        }


Abra ItemDataManager.cs  procure por :

Código:
public bool GetItem(int Id, out ItemData Item)

Acima disso, coloque isso:

Código:
public bool GetItem(string itemName, out ItemData item)
        {
            item = this._items.Values.Where(x => x.ItemName == itemName).FirstOrDefault();
            return item != null;
        }



SQL para a Database:
[Você precisa estar registrado e conectado para ver este link.]

Print de como vai ficar :
[Você precisa estar registrado e conectado para ver este link.]

Obs: Se não souber não faça 

Créditos:
Do meu amigo StackOverflow-
Esse código será usado no Nouget server !

Ver perfil do usuário

Erno

Membro Ouro


avatar
Olá joão, o conteúdo é bom mano. 
Mas o número do Packet varia de versões para versões, então o correto seria você especificar para qual PRODUCTION serve esse utilitário.

Ver perfil do usuário http://www.habblek.com

xjoao

Membro Elite


avatar
sim erno ! cada production é outra ID

Ver perfil do usuário

impeachment™

Membro Bronze


avatar
Você não tem escolha de deixar ele privado ou não, não foi você quem criou e ele foi publicado na DevBest '-'

Ver perfil do usuário

arfeu

Membro


avatar
[Você precisa estar registrado e conectado para ver este link.] escreveu:
Olá joão, o conteúdo é bom mano. 
Mas o número do Packet varia de versões para versões, então o correto seria você especificar para qual PRODUCTION serve esse utilitário.
Não é bem uma correção ele (Stack|Core) fez boa parte do código para adicionar o calendário na PRODUCTION-201612121204-107735592 ou na PRODUCTION-201610312204-296063264 mas usar o addon é atoa essa produção não está 100% pelo menos as que conseguiram crackear e postar em outros fórums, as trocas entre os usuários, bots, pets e alguns outros itens dão dc nos usuários Smile

Ver perfil do usuário http://www.csgocodesfree.com

xjoao

Membro Elite


avatar
[Você precisa estar registrado e conectado para ver este link.] escreveu:Você não tem escolha de deixar ele privado ou não, não foi você quem criou e ele foi publicado na DevBest '-'

mesmo assim a packet é diferente e eu ia colocar z.z

Ver perfil do usuário

Aladim.

Membro Bronze


avatar
Algumas linhas estão faltando ... pra quem não sabe adiciona-la tera problemas ....

Ver perfil do usuário
[Você precisa estar registrado e conectado para ver este link.] escreveu:Algumas linhas estão faltando ... pra quem não sabe adiciona-la tera problemas ....
aladim preciso falar com voce tem skype?

Ver perfil do usuário

xjoao

Membro Elite


avatar
sim aladim tem que acabar de adicionar códigos

Ver perfil do usuário
joao qual seu skype?

Ver perfil do usuário

Brytch

Membro Diamante


avatar
"Fix Próprio'' Gostei bastante, créditos @DevBest kk
@OFF Bom conteúdo...

Ver perfil do usuário

Conteúdo patrocinado



Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum