public static void HandleExchangeObjectMoveMessage(WorldClient client, ExchangeObjectMoveMessage message) { if (client.Character.IsInExchange()) { client.Character.Exchanger.MoveItem(message.objectUID, message.quantity); } }
public static void HandleExchangeObjectMove(ExchangeObjectMoveMessage message, WorldClient client) { switch (client.Character.ExchangeType) { case ExchangeTypeEnum.PLAYER_TRADE: client.Character.PlayerTradeInstance.MoveItem(message.objectUID, message.quantity); break; case ExchangeTypeEnum.CRAFT: client.Character.CraftInstance.MoveItem(message.objectUID, message.quantity); break; case ExchangeTypeEnum.BIDHOUSE_SELL: client.Character.BidShopInstance.MoveItem(message.objectUID, message.quantity); break; case ExchangeTypeEnum.STORAGE: client.Character.BankInstance.MoveItem(message.objectUID, message.quantity); break; case ExchangeTypeEnum.RUNES_TRADE: client.Character.SmithMagicInstance.MoveItem(message.objectUID, message.quantity); break; } }
public void Init() { int quantity = 0; int objectUID = 0; foreach (BlueSheep.Core.Inventory.Item item in account.Inventory.Items) { bool isFood = false; foreach (Pet pet in account.petsList) { foreach (Food food in pet.FoodList) { if (item.UID == food.Informations.UID) { isFood = true; break; } } } if (isFood) { quantity = item.Quantity; objectUID = item.UID; break; } } if (objectUID == 0) { account.Running.GettingFoodFromSafe(); return; } account.Running.OnLeaving = true; ExchangeObjectMoveMessage exchangeObjectMoveMessage = new ExchangeObjectMoveMessage(objectUID, quantity); using (BigEndianWriter writer = new BigEndianWriter()) { exchangeObjectMoveMessage.Serialize(writer); MessagePackaging messagePackaging = new MessagePackaging(writer); messagePackaging.Pack((int)exchangeObjectMoveMessage.ProtocolID); account.SocketManager.Send(messagePackaging.Writer.Content); account.LastPacketID.Clear(); } }
public void Init() { account.Running.OnGetting = true; List <int> foodIndex = Foods.GetFoods(account.petsList[account.Running.CurrentPetIndex].Informations.GID); ObjectItem objectItem = null; foreach (ObjectItem item1 in account.SafeItems) { if (foodIndex.Contains(item1.ObjectGID)) { objectItem = item1; } } if (objectItem == null) { account.Running.NoFood(); return; } int abbleWeight = account.Pods.WeightMax - account.Pods.Weight - 1; //return; DataClass item = GameData.GetDataObject(D2oFileEnum.Items, objectItem.ObjectGID); int objectWeight = (int)item.Fields["realWeight"]; int quantity = abbleWeight / objectWeight; if (objectItem.Quantity < quantity) { quantity = objectItem.Quantity; } ExchangeObjectMoveMessage exchangeObjectMoveMessage = new ExchangeObjectMoveMessage(objectItem.ObjectUID, -quantity); using (BigEndianWriter writer = new BigEndianWriter()) { exchangeObjectMoveMessage.Serialize(writer); MessagePackaging messagePackaging = new MessagePackaging(writer); messagePackaging.Pack((int)exchangeObjectMoveMessage.ProtocolID); account.SocketManager.Send(messagePackaging.Writer.Content); account.LastPacketID.Clear(); } }
public static void HandleExchangeObjectMoveMessage(WorldClient client, ExchangeObjectMoveMessage message) { if (client.Character.IsTrading()) { client.Character.Trader.MoveItem((int)message.objectUID, message.quantity); } else { if (client.Character.IsInMerchantDialog() && message.quantity <= 0) { MerchantItem merchantItem = client.Character.MerchantBag.TryGetItem((int)message.objectUID); if (merchantItem != null && client.Character.MerchantBag.MoveToInventory(merchantItem)) { client.Send(new ExchangeShopStockMovementRemovedMessage(message.objectUID)); } } } }
public void Init() { int quantity = 0; int objectUID = 0; foreach (BlueSheep.Core.Inventory.Item item in account.Inventory.Items) { bool isFood = false; foreach (Pet pet in account.petsList) { foreach (Food food in pet.FoodList) { if (item.UID == food.Informations.UID) { isFood = true; break; } } } if (isFood) { quantity = item.Quantity; objectUID = item.UID; break; } } if (objectUID == 0) { account.Running.GettingFoodFromSafe(); return; } account.Running.OnLeaving = true; ExchangeObjectMoveMessage exchangeObjectMoveMessage = new ExchangeObjectMoveMessage((uint)objectUID, quantity); account.SocketManager.Send(exchangeObjectMoveMessage); account.LastPacketID.Clear(); }
public static void HandleExchangeObjectMove(ExchangeObjectMoveMessage message, WorldClient client) { client.Character.GetDialog <Exchange>().MoveItem(message.objectUID, message.quantity); }