void Player_SellItem(byte slot, short amount, int o_id)
{
#region Sell item
try
{
Global.slotItem item = GetItem((uint)Character.Information.CharacterID, slot, 0);
Character.Information.Gold += Data.ItemBase[item.ID].Sell_Price * amount;
client.Send(Packet.UpdateGold(Character.Information.Gold));
SaveGold();
int owner = Convert.ToInt32(MsSQL.GetData("SELECT * FROM char_items WHERE id='" + item.dbID + "'", "owner"));
if (owner == Character.Information.CharacterID)
{
if (amount <= Data.ItemBase[item.ID].Max_Stack)
{
client.Send(Packet.MoveItemSell(9, slot, amount, o_id));
if (item.Amount != amount)
{
int calc = (item.Amount - amount);
if (calc < 1) calc = 1;
MsSQL.UpdateData("UPDATE char_items SET quantity='" + calc + "' WHERE itemnumber='" + "item" + slot + "' AND owner='" + Character.Information.CharacterID + "' AND itemid='" + item.ID + "'");
}
else
{
MsSQL.UpdateData("delete from char_items where itemnumber='item" + slot + "' AND owner='" + Character.Information.CharacterID + "'");
}
Character.Buy_Pack.Add(item);
}
else
{
client.Send(Packet.IngameMessages(SERVER_ITEM_MOVE, IngameMessages.UIIT_MSG_STRGERR_POSSESSION_LIMIT_EXCEEDED));
}
}
else
{
Disconnect("ban");
Console.WriteLine("Autobanned user: " + Player.AccountName + " Due to hacking");
}
}
catch (Exception ex)
{
Console.WriteLine("Sell item error {0}", ex);
Systems.Debugger.Write(ex);
}
SavePlayerInfo();
#endregion
}