void Player_BuyPack()
{
#region Player Buy Back
try
{
PacketReader Reader = new PacketReader(PacketInformation.buffer);
int id = Reader.Int32(); byte b_slot = Reader.Byte();
Reader.Close();
byte i_slot = GetFreeSlot();
if (i_slot <= 12) return;
Print.Format(b_slot.ToString());
Global.slotItem item = Character.Buy_Pack.Get(b_slot);
if (item.Amount < 1) item.Amount = 1;
if (item.Amount <= Data.ItemBase[item.ID].Max_Stack)
{
if (Character.Information.Gold >= item.Amount * Data.ItemBase[item.ID].Sell_Price)
{
Character.Information.Gold -= item.Amount * Data.ItemBase[item.ID].Sell_Price;
client.Send(Packet.UpdateGold(Character.Information.Gold));
}
else
{
client.Send(Packet.IngameMessages(SERVER_UPDATEGOLD, IngameMessages.UIIT_MSG_STRGERR_NOT_ENOUGH_GOLD));
}
SaveGold();
if (Data.ItemBase[item.ID].Class_D == 1)
{
MsSQL.UpdateData("Insert Into char_items (itemid,plusvalue,durability,owner,itemnumber,slot) VALUES ('" + item.ID + "','" + item.PlusValue + "','" + Data.ItemBase[item.ID].Defans.Durability + "','" + Character.Information.CharacterID + "','item" + i_slot + "','" + i_slot + "')");
client.Send(Packet.MoveItemBuyGetBack(i_slot, b_slot, 1));
}
else if (Data.ItemBase[item.ID].Class_D == 2)
{
MsSQL.UpdateData("Insert Into char_items (itemid,quantity,owner,itemnumber,slot) VALUES ('" + item.ID + "','" + item.Amount + "','" + Character.Information.CharacterID + "','item" + i_slot + "','" + i_slot + "' )");
client.Send(Packet.MoveItemBuyGetBack(i_slot, b_slot, item.Amount));
}
else if (Data.ItemBase[item.ID].Class_D == 3)
{
MsSQL.UpdateData("Insert Into char_items (itemid,quantity,owner,itemnumber,slot) VALUES ('" + item.ID + "','" + item.Amount + "','" + Character.Information.CharacterID + "','item" + i_slot + "','" + i_slot + "' )");
client.Send(Packet.MoveItemBuyGetBack(i_slot, b_slot, item.Amount));
}
else if (Data.ItemBase[item.ID].Class_D == 4)
{
MsSQL.UpdateData("Insert Into char_items (itemid,quantity,owner,itemnumber,slot) VALUES ('" + item.ID + "','" + 1 + "','" + Character.Information.CharacterID + "','item" + i_slot + "','" + i_slot + "' )");
client.Send(Packet.MoveItemBuyGetBack(i_slot, b_slot, item.Amount));
}
else if (Data.ItemBase[item.ID].Class_D == 6)
{
MsSQL.UpdateData("Insert Into char_items (itemid,quantity,owner,itemnumber,slot) VALUES ('" + item.ID + "','" + 1 + "','" + Character.Information.CharacterID + "','item" + i_slot + "','" + i_slot + "' )");
client.Send(Packet.MoveItemBuyGetBack(i_slot, b_slot, item.Amount));
}
}
else
{
client.Send(Packet.IngameMessages(SERVER_ITEM_MOVE, IngameMessages.UIIT_MSG_STRGERR_POSSESSION_LIMIT_EXCEEDED));
}
}
catch (Exception ex)
{
Console.WriteLine("Buy back error {0}", ex);
Systems.Debugger.Write(ex);
}
SavePlayerInfo();
#endregion
}