Habbo-Dev
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.
  [email protected] a Habbo-Dev, Foro de desarrollo, utilidades, noticias y actualizaciones de Habbo Hotel y Retroservers

FIX [CLOUD] Opción ''cambio''.

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Agar

  • A
  • *
  • Autor el Tema
  • 9
    • Ver Perfil
[CLOUD] Opción ''cambio''.
« en: Enero 05, 2019, 10:54:53 pm »
 ;D Hola amigos de HABBODEV, les vengo a traer este fix que es muy común en CLOUD EMU.

  • ¿Por qué publico este FIX?
Lo subo porqué aún hay muchos usuarios/hoteles que usan dicho emulador.

            ::)   Bueno vamos al punto.

En nuestro emulador nos dirigimos a la carpeta 'COMMUNICATION'
 
Código: [Seleccionar]
[b][tt]  Communication >> Packets >> Incoming >> Rooms >> Furni >> CreditFurniRedeemEvent.cs
[/tt][/b]

   Cambiamos todo lo del archivo 'CreditFurniRedeemEvent.cs', por este:

                CÓDIGO:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;

using Cloud.HabboHotel.Rooms;
using Cloud.HabboHotel.Items;
using Cloud.Communication.Packets.Outgoing.Inventory.Purse;
using Cloud.Communication.Packets.Outgoing.Inventory.Furni;

using Cloud.Database.Interfaces;


namespace Cloud.Communication.Packets.Incoming.Rooms.Furni
{
    class CreditFurniRedeemEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (!Session.GetHabbo().InRoom)
                return;

            Room Room;

            if (!CloudServer.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
                return;

            if (!Room.CheckRights(Session, true))
                return;

            if (CloudServer.GetGame().GetSettingsManager().TryGetValue("room.item.exchangeables.enabled") != "1")
            {
                Session.SendNotification("Desculpe, mas o catálogo foi desativado!");
                return;
            }

            Item Exchange = Room.GetRoomItemHandler().GetItem(Packet.PopInt());
            if (Exchange == null)
                return;

            if (!Exchange.GetBaseItem().ItemName.StartsWith("CF_") && !Exchange.GetBaseItem().ItemName.StartsWith("CFC_") && !Exchange.GetBaseItem().ItemName.StartsWith("DF_") && !Exchange.GetBaseItem().ItemName.StartsWith("DFD_"))
                return;

            string[] Split = Exchange.GetBaseItem().ItemName.Split('_');
            int Value = int.Parse(Split[1]);

            if (Value > 0)
            {
                if (Exchange.GetBaseItem().ItemName.StartsWith("CF_") || Exchange.GetBaseItem().ItemName.StartsWith("CFC_"))
                {
                    Session.GetHabbo().Credits += Value;
                    Session.SendMessage(new CreditBalanceComposer(Session.GetHabbo().Credits));
                }
                else if (Exchange.GetBaseItem().ItemName.StartsWith("DF_") || Exchange.GetBaseItem().ItemName.StartsWith("DFD_"))
                {
                    Session.GetHabbo().Diamonds += Value;
                    Session.SendMessage(new HabboActivityPointNotificationComposer(Session.GetHabbo().Diamonds, Value, 5));
                }
            }

            using (IQueryAdapter dbClient = CloudServer.GetDatabaseManager().GetQueryReactor())
            {
                dbClient.RunQuery("DELETE FROM `items` WHERE `id` = '" + Exchange.Id + "' LIMIT 1");
            }

            Session.SendMessage(new FurniListUpdateComposer());
            Room.GetRoomItemHandler().RemoveFurniture(null, Exchange.Id, false);
            Session.GetHabbo().GetInventoryComponent().RemoveItem(Exchange.Id);

        }
    }
}


Y así se resuelve el típico bug que traé ese emulador. Espero y les haya funcionado.  8)
« Última modificación: Enero 05, 2019, 10:58:45 pm por Agar »