Code:
internal void GetRecyclerStatus()
{
GetResponse().Init(2179);
GetResponse().AppendInt32(1);
GetResponse().AppendInt32(0);
SendResponse();
}
Reemplazar elementos antiguos reciclados a esto:
Code:
internal void RecycleItems()
{
if (this.Session.GetHabbo().InRoom)
{
int num = this.Request.PopWiredInt32();
if (num > 0)
{
uint num3;
int numde;
for (int i = 0; i < num; i++)
{
UserItem item = this.Session.GetHabbo().GetInventoryComponent().GetItem(this.Request.PopWiredUInt());
if ((item != null) && item.GetBaseItem().AllowRecycle)
{
this.Session.GetHabbo().GetInventoryComponent().RemoveItem(item.Id, false);
}
else
{
return;
}
}
EcotronReward randomEcotronReward = ButterflyEnvironment.GetGame().GetCatalog().GetRandomEcotronReward();
/*using (IQueryAdapter adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
{
if (adapter.dbType == DatabaseType.MSSQL)
{
adapter.setQuery("INSERT INTO items_users (user_id,base_item,extra_data) OUTPUT INSERTED.* VALUES ( @userid ,1478, @timestamp)");
}
else
{
adapter.setQuery("INSERT INTO items (base_id) VALUES (60627)");
}
numde = (int)adapter.insertQuery();
adapter.setQuery("INSERT INTO items_users (user_id,item_id) VALUES ( @userid ,'" + numde + "')");
adapter.addParameter("userid", (int) this.Session.GetHabbo().Id);
adapter.addParameter("timestamp", DateTime.Now.ToLongDateString());
adapter.runFastQuery(string.Concat(new object[] { "INSERT INTO user_presents (item_id,base_id,amount,extra_data) VALUES (", numde, ",", randomEcotronReward.BaseId, ",1,'')" }));
}
this.Session.GetHabbo().GetInventoryComponent().RunDBUpdate();
this.Session.GetHabbo().GetInventoryComponent().UpdateItems(false);
* */
IQueryAdapter adapter;
uint num10;
using (adapter = ButterflyEnvironment.GetDatabaseManager().getQueryreactor())
{
if (adapter.dbType == DatabaseType.MSSQL)
{
adapter.setQuery(string.Concat(new object[] { "INSERT INTO items (base_id, rareid) OUTPUT INSERTED.* VALUES ('60627','')" }));
}
else
{
adapter.setQuery(string.Concat(new object[] { "INSERT INTO items (base_id, rareid) VALUES ('60627','0')" }));
}
num10 = (uint)adapter.insertQuery();
adapter.runFastQuery(string.Concat(new object[] { "INSERT INTO items_users VALUES (", num10, ",", Session.GetHabbo().Id, ")" }));
adapter.setQuery("INSERT INTO items_extradata VALUES (" + num10 + ",@timestamp)");
adapter.addParameter("timestamp", DateTime.Now.ToLongDateString());
adapter.runQuery();
adapter.setQuery(string.Concat(new object[] { "INSERT INTO user_presents (item_id,base_id,amount,extra_data) VALUES (", num10, ",", randomEcotronReward.BaseId, ",'1','')" }));
adapter.runQuery();
}
UserItem item3 = Session.GetHabbo().GetInventoryComponent().AddNewItem(num10, 60627, DateTime.Now.ToLongDateString(), false, false, 0, "", 0);
Session.GetHabbo().GetInventoryComponent().SendFloorInventoryUpdate();
Session.GetMessageHandler().GetResponse().Init(Outgoing.SendPurchaseAlert);
Session.GetMessageHandler().GetResponse().AppendInt32(1);
Session.GetMessageHandler().GetResponse().AppendInt32(1);
Session.GetMessageHandler().GetResponse().AppendInt32(1);
Session.GetMessageHandler().GetResponse().AppendInt32(item3.Id);
Session.GetMessageHandler().SendResponse();
Session.GetHabbo().GetInventoryComponent().RunDBUpdate();
this.Response.Init(1235);
this.Response.AppendInt32(1);
this.Response.AppendInt32(item3.Id);
this.SendResponse();
}
}
}
Insertar para GetCataData1()
Code:
this.GetResponse().Init(201);
Dictionary<uint, List<EcotronReward>> list;
list = ButterflyEnvironment.GetGame().GetCatalog().GetEcotronRewards();
this.GetResponse().AppendInt32(list.Count);
foreach (var reward2 in list)
{
this.GetResponse().AppendInt32(reward2.Key);
if (reward2.Key == 1)
this.GetResponse().AppendInt32(0);
if (reward2.Key == 2)
this.GetResponse().AppendInt32(4);
if (reward2.Key == 3)
this.GetResponse().AppendInt32(40);
if (reward2.Key == 4)
this.GetResponse().AppendInt32(200);
if (reward2.Key == 5)
this.GetResponse().AppendInt32(2000);
Console.WriteLine(reward2.Key);
this.GetResponse().AppendInt32(reward2.Value.Count);
foreach (EcotronReward reward in reward2.Value)
{
Console.WriteLine(reward.GetBaseItem().Name);
this.GetResponse().AppendString(reward.GetBaseItem().Name);
this.GetResponse().AppendInt32(1);
this.GetResponse().AppendString(reward.GetBaseItem().Type.ToString().ToLower());
this.GetResponse().AppendInt32(reward.GetBaseItem().SpriteId);
}
}
this.SendResponse();
Insertar para Catalog.cs:
Code:
internal Dictionary<uint, List<EcotronReward>> GetEcotronRewards()
{
Dictionary<uint, List<EcotronReward>> list = new Dictionary<uint, List<EcotronReward>>();
foreach (EcotronReward reward in this.EcotronRewards)
{
if (!list.ContainsKey(reward.RewardLevel))
{
list.Add(reward.RewardLevel, new List<EcotronReward>());
list[reward.RewardLevel].Add(reward);
}
else
{
list[reward.RewardLevel].Add(reward);
}
}
return list;
}
Insertar para SharedPacketLib.cs:
Code:
internal static void GetRecyclerStatus(GameClientMessageHandler handler)
{
handler.GetRecyclerStatus();
}
Agregar a StaticClientMessageHandler.cs:
Code:
handlers.Add(886, new StaticRequestHandler(SharedPacketLib.GetRecyclerStatus));
handlers.Add(3781, new StaticRequestHandler(SharedPacketLib.RecycleItems));
Si reciclador da error de cliente para que cambie la estructura de la página del catálogo a:
Code:
case "recycler":
message.AppendString(Page.Layout);
message.AppendInt32(2);
message.AppendString(Page.LayoutHeadline);
message.AppendString(Page.LayoutTeaser);
message.AppendInt32(3);
message.AppendString(Page.Text1, 10);
message.AppendString(Page.Text2);
message.AppendString(Page.TextDetails);
break;
pantalla:

Comentarios
Publicar un comentario