Linxon
IzyHosting.com
- Mar 28, 2015
- 104
- 8
Hello, im trying to make it possible to exchange to gotw points in plus emu, but i dont get it to work.
CreditFurniRedeemEvent.cs:
and
ItemUtility.cs:
Help me fast!
CreditFurniRedeemEvent.cs:
Code:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.HabboHotel.Rooms;
using Plus.HabboHotel.Items;
using Plus.Communication.Packets.Outgoing.Inventory.Purse;
using Plus.Communication.Packets.Outgoing.Inventory.Furni;
using Plus.Database.Interfaces;
namespace Plus.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 (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room))
return;
if (!Room.CheckRights(Session, true))
return;
if (PlusEnvironment.GetDBConfig().DBData["exchange_enabled"] != "1")
{
Session.SendNotification("The hotel managers have temporarilly disabled exchanging!");
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 = PlusEnvironment.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);
}
}
}
and
ItemUtility.cs:
Code:
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Plus.HabboHotel.Items;
using Plus.HabboHotel.Items.Utilities;
namespace Plus.HabboHotel.Catalog.Utilities
{
public static class ItemUtility
{
public static bool CanGiftItem(CatalogItem Item)
{
if (!Item.Data.AllowGift || Item.IsLimited || Item.Amount > 1 || Item.Data.ItemName.ToLower().StartsWith("cf_") || Item.Data.ItemName.ToLower().StartsWith("cfc_") || Item.Data.ItemName.ToLower().StartsWith("dfd_") ||
Item.Data.InteractionType == InteractionType.BADGE || (Item.Data.Type != 's' && Item.Data.Type != 'i') || Item.CostDiamonds > 0 ||
Item.Data.InteractionType == InteractionType.TELEPORT || Item.Data.InteractionType == InteractionType.DEAL)
return false;
if (Item.Data.IsRare)
return false;
if (PetUtility.IsPet(Item.Data.InteractionType))
return false;
return true;
}
public static bool CanSelectAmount(CatalogItem Item)
{
if (Item.IsLimited || Item.Amount > 1 || Item.Data.ItemName.ToLower().StartsWith("cf_") || Item.Data.ItemName.ToLower().StartsWith("cfc_") || Item.Data.ItemName.ToLower().StartsWith("dfd_") || !Item.HaveOffer || Item.Data.InteractionType == InteractionType.BADGE || Item.Data.InteractionType == InteractionType.DEAL)
return false;
return true;
}
public static int GetSaddleId(int Saddle)
{
switch (Saddle)
{
default:
case 9:
return 7100; //4221 Changed to the right BaseItem, so it can be saved.
case 10:
return 4450;
}
}
public static bool IsRare(Item Item)
{
if (Item.LimitedNo > 0)
return true;
if (Item.Data.IsRare)
return true;
return false;
}
}
}