/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Exchange Approve /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void Exchange_Approve() { try { Systems sys = GetPlayer(Character.Network.TargetID); client.Send(Packet.Exchange_Approve()); Character.Network.Exchange.Approved = true; if (sys.Character.Network.Exchange.Approved) { #region Gold update if (Character.Network.Exchange.Gold != 0) { Character.Information.Gold -= Character.Network.Exchange.Gold; client.Send(Packet.UpdateGold(Character.Information.Gold)); SaveGold(); sys.Character.Information.Gold += Character.Network.Exchange.Gold; sys.client.Send(Packet.UpdateGold(sys.Character.Information.Gold)); sys.SaveGold(); } if (sys.Character.Network.Exchange.Gold != 0) { sys.Character.Information.Gold -= sys.Character.Network.Exchange.Gold; sys.client.Send(Packet.UpdateGold(sys.Character.Information.Gold)); sys.SaveGold(); Character.Information.Gold += sys.Character.Network.Exchange.Gold; client.Send(Packet.UpdateGold(Character.Information.Gold)); SaveGold(); } #endregion #region Items if (Character.Network.Exchange.ItemList.Count > 0) { foreach (Global.slotItem item in Character.Network.Exchange.ItemList) { byte t_slot = sys.GetFreeSlot(); Systems.MsSQL.InsertData("UPDATE char_items SET owner='" + sys.Character.Information.CharacterID + "' WHERE owner='" + Character.Information.CharacterID + "' AND itemid='" + item.ID + "' AND id='" + item.dbID + "' AND storagetype='0'"); } } if (sys.Character.Network.Exchange.ItemList.Count > 0) { foreach (Global.slotItem item in sys.Character.Network.Exchange.ItemList) { byte t_slot = GetFreeSlot(); Systems.MsSQL.InsertData("UPDATE char_items SET owner='" + Character.Information.CharacterID + "' WHERE owner='" + sys.Character.Information.CharacterID + "' AND itemid='" + item.ID + "' AND id='" + item.dbID + "' AND storagetype='0'"); } } #endregion client.Send(Packet.Exchange_Finish()); sys.client.Send(Packet.Exchange_Finish()); Character.State.Exchanging = false; sys.Character.State.Exchanging = false; } } catch (Exception ex) { Systems.Debugger.Write(ex); } }