public async void OnCommand(IAccount account, string[] args) { try { if (args.Length < 1) { Logger.Default.Log("Vous devez spécifier l'id de l'item à chercher", LogMessageType.Error); } else { var itemid = Convert.ToUInt32(args[0]); var hdv = new BidHouse(account); if (!await hdv.StartBidHouseDialog()) { return; } if (!await hdv.LoadItemData(itemid)) { return; } var prices = hdv.ItemPricesList.FirstOrDefault(); Logger.Default.Log( $" Prix de {D2OParsing.GetItemName(itemid)} => 1:{prices[0]}- 10:{prices[1]} - 100:{prices[2]} - Mean:{hdv.MeanPrice}"); hdv.ExitBidHouseDialog(); } } catch (Exception ex) { Logger.Default.Log($"{CommandSufix} Error : {ex.Message}", LogMessageType.Error); Logger.Default.Log($"{CommandSufix} StackTrace : {ex.StackTrace}", LogMessageType.Error); } }
private async Task <bool> RequestItemType(uint itemId) { /* Check if item exists in Bid House */ var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId; if (!_itemTypesInBidHouse.Contains(itemType)) { throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente."); } var itemsTypeMessage = new ExchangeBidHouseTypeMessage { Type = itemType }; Logger.Default.Log( $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).", LogMessageType.Info); if (!await SendAndWait(itemsTypeMessage, 3000)) { throw new Exception( $"Erreur lors de la sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType})."); } /* Check if item exists in items list */ if (!_itemListInBidHouse.Contains(itemId)) { throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'est pas actuellement en vente dans cet HDV."); } return(true); }
private void HandleExchangeObjectModifiedMessage(IAccount account, ExchangeObjectModifiedMessage message) { Logger.Default.Log( message.Remote ? $"L'échangeur a modifié le nombre de {D2OParsing.GetItemName(message.Object.ObjectGID)} en x{message.Object.Quantity}" : $"Vous avez modifié le nombre de {D2OParsing.GetItemName(message.Object.ObjectGID)} en x{message.Object.Quantity}", LogMessageType.Info); }
private void HandleExchangeObjectAddedMessage(IAccount account, ExchangeObjectAddedMessage message) { Logger.Default.Log( message.Remote ? $"L'échangeur a ajouté {D2OParsing.GetItemName(message.Object.ObjectGID)} x{message.Object.Quantity} à l'échange" : $"Vous avez ajouté {D2OParsing.GetItemName(message.Object.ObjectGID)} x{message.Object.Quantity} à l'échange", LogMessageType.Info); }
private void ExchangeObjectAddedMessageHandler(DofusClient client, ExchangeObjectAddedMessage message) { client.Logger.Log( message.Remote ? $"L'échangeur a ajouté {D2OParsing.GetItemName(message.Object.ObjectGID)} x{message.Object.Quantity} à l'échange" : $"Vous avez ajouté {D2OParsing.GetItemName(message.Object.ObjectGID)} x{message.Object.Quantity} à l'échange", LogMessageType.Info); }
private void HandleExchangeBidHouseItemAddOkMessage(IAccount account, ExchangeBidHouseItemAddOkMessage message) { var unsoldDelayHours = message.ItemInfo.UnsoldDelay / 3600; var objectGID = message.ItemInfo.ObjectGID; var objectName = D2OParsing.GetItemName(objectGID); var quantity = message.ItemInfo.Quantity; var objectPrice = message.ItemInfo.ObjectPrice; Logger.Default.Log($"{quantity}x{objectName} mis vente en HDV pour {objectPrice} kamas et pour une durée de {unsoldDelayHours}h"); _bidHouseActionEvent.Set(); }
private void ExchangeObjectModifiedMessageHandler(DofusClient client, ExchangeObjectModifiedMessage message) { if (message.Remote) { client.Logger.Log( $"L'échangeur a modifié le nombre de {D2OParsing.GetItemName(message.Object.ObjectGID)} en x{message.Object.Quantity}", LogMessageType.Info); } else { client.Logger.Log( $"Vous avez modifié le nombre de {D2OParsing.GetItemName(message.Object.ObjectGID)} en x{message.Object.Quantity}", LogMessageType.Info); } }
private bool RequestItemType(uint itemId) { /* Check if item exists in Bid House */ var itemType = ObjectDataManager.Instance.Get <Item>(itemId).TypeId; if (!_itemTypesInBidHouse.Contains(itemType)) { ExitBidHouseDialog(); throw new Exception( $"L'item {D2OParsing.GetItemName(itemId)} ({itemId}) n'existe pas dans cet hôtel de vente."); } var itemsTypeMessage = new ExchangeBidHouseTypeMessage { Type = itemType }; _account.Network.SendToServer(itemsTypeMessage); Logger.Default.Log( $"Sélection de la catégorie {FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<ItemType>(itemType).NameId)} ({itemType}).", LogMessageType.Info); return(true); }
public async void OnCommand(IAccount account, string[] args) { try { if (args.Length < 1 || (args[0] == "list" || args[0] == "exit") && args.Length < 2) { Logger.Default.Log("Vous devez spécifier l'id de l'item à chercher", LogMessageType.Error); } else if (args[0] == "list") { account.Character.Inventory.Objects.ForEach(item => Logger.Default.Log( $"{item.Quantity}x{D2OParsing.GetItemName(item.ObjectGID)} ({item.ObjectGID}, {item.ObjectUID})")); } else if (args[0] == "exit") { account.Character.BidHouse.ExitBidHouseDialog(); } else if (args[0] == "price") { var itemId = Convert.ToUInt32(args[1]); if (!await account.Character.BidHouse.StartBidHouseDialog(NpcActionId.BID_HOUSE_BUY)) { return; } if (!await account.Character.BidHouse.LoadItemData(itemId)) { return; } var prices = account.Character.BidHouse.ItemPricesList.FirstOrDefault(); Logger.Default.Log( $" Prix de {D2OParsing.GetItemName(itemId)} ({itemId}, {prices.Key}) => (1:{prices.Value[0]}k 10:{prices.Value[1]}k 100:{prices.Value[2]}k) - ~{account.Character.BidHouse.MeanPrice}k"); } else if (args[0] == "sell") { var itemId = Convert.ToUInt32(args[1]); var quantity = Convert.ToInt32(args[2]); var price = Convert.ToUInt32(args[3]); if (!await account.Character.BidHouse.StartBidHouseDialog(NpcActionId.BID_HOUSE_SELL)) { return; } if (!await account.Character.BidHouse.SellItem(itemId, quantity, price)) { return; } } else if (args[0] == "buy") { var itemUid = Convert.ToUInt32(args[1]); var quantity = Convert.ToUInt32(args[2]); if (!await account.Character.BidHouse.StartBidHouseDialog(NpcActionId.BID_HOUSE_BUY)) { return; } if (!await account.Character.BidHouse.BuyItem(itemUid, quantity)) { return; } } } catch (Exception ex) { Logger.Default.Log($"{CommandSufix} Error : {ex.Message}", LogMessageType.Error); Logger.Default.Log($"{CommandSufix} StackTrace : {ex.StackTrace}", LogMessageType.Error); } }