private bool TakeCurrency(CustomerInfo customer) { ClientManager.Instance.ActivateTab("currency_tab"); // Get Currency Position int clientResolution = Convert.ToInt32(ClientManager.Instance.ResolutionEnum.GetDescription()); string requestedNormal = customer.Product.Replace(" ", "").Replace("'", ""); Position currencySlot = ClientManager.Instance.GetAbsoluteAssetPosition(StaticUtils.GetCurrencyPath(requestedNormal)); ItemInfoParser itemInfo = ClientManager.Instance.GetItemInfo(currencySlot, false); // Do I have enough to fulfill the order? if (itemInfo.Item.SizeInStack < customer.NumberProducts) { return(false); } // Ok, we have enough so lets move it to Inventory // First we need to figure out the off stack and full stacks int offStack = customer.NumberProducts % itemInfo.Item.StackSize; int fullStacks = customer.NumberProducts / itemInfo.Item.StackSize; // Now get the off stack to Invendory slot 1 ClientManager.Instance.GetPartialStackToCusor(currencySlot, offStack); Position invSlot1 = ClientManager.Instance.TranslatePosition(InventoryPositions.GetInvenoryPositions(ClientManager.Instance.ResolutionEnum)[0]); ClientManager.Instance.ClickPosition(invSlot1); for (int i = 0; i < fullStacks; i++) { ClientManager.Instance.CtrlClickPosition(currencySlot); } // Now we should have the correct items in the Inventory return(true); }
public bool DumpInventory() { foreach (Position invData in InventoryPositions.GetInvenoryPositions(ResolutionEnum)) { CtrlClickPosition(TranslatePosition(invData), 50); } return(true); }
private bool OfferSingleProduct(CustomerInfo customer) { foreach (Position invData in InventoryPositions.GetInvenoryPositions(ClientManager.Instance.ResolutionEnum)) { ItemInfoParser itemInfo = ClientManager.Instance.GetItemInfo(invData); if (!customer.Product.Contains(itemInfo.Item.RealName)) { continue; } ClientManager.Instance.CtrlClickPosition(ClientManager.Instance.TranslatePosition(invData)); return(true); } return(false); }
private bool OfferCurrency(CustomerInfo customer) { Thread.Sleep(1000); int amountOffered = 0; foreach (Position invData in InventoryPositions.GetInvenoryPositions(ClientManager.Instance.ResolutionEnum)) { ItemInfoParser itemInfo = ClientManager.Instance.GetItemInfo(invData); if (!customer.Product.Contains(itemInfo.Item.RealName)) { continue; } ClientManager.Instance.CtrlClickPosition(ClientManager.Instance.TranslatePosition(invData)); amountOffered += itemInfo.Item.SizeInStack; if (amountOffered >= customer.NumberProducts) { return(true); } } return(false); }