public static void Take_Gold() { Navigation.Packages(); Navigation.Filter_packages("Złoto", ""); Basic.Click_if("//a[@class='paging_button paging_right_full']"); while (Get.Gold() < RegistryValues.Read_i("gold_take") && Basic.Search_element("//div[@id='packages']//div[contains(@class,'draggable')]")) { IReadOnlyCollection <IWebElement> elements = Bot.driver.FindElementsByXPath("//div[@id='packages']//div[contains(@class,'draggable')]"); foreach (IWebElement element in elements) { Basic.Double_click(element); if (Get.Gold() < RegistryValues.Read_i("gold_take")) { break; } } } }
public static void Buy() { if (!RegistryValues.Read_b("c_pack") || RegistryValues.Read_i("gold_pack") > Get.Gold()) { return; } Read_packages(); while (Get.Gold() > Settings.gold_pack) { Navigation.Guild_market(); if (!Basic.Search_element("//input[@value='Kup']")) { return; } int found_case = 0; int orginal_case = 0; int gold_level = Get.Gold(); for (int i = 0; i < lines.Count(); i++) { if (gold_level - Convert.ToInt32(prices[i]) > 0) { found_case = i; orginal_case = i; break; } } int first_it = Bot.driver.FindElementsByXPath("//input[@value='Kup']").Count; int second_it = Bot.driver.FindElementsByXPath("//input[@value='Anuluj']").Count; int it = first_it + second_it; Item item = new Item(); while (true) { item = new Item { name = classes[found_case], price = prices[found_case], level = levels[found_case], quality = qualities[found_case], amount = amounts[found_case], soulbound = soulbounds[found_case] }; List <IWebElement> elements = new List <IWebElement>(); List <int> positions = new List <int>(); for (int i = 2; i < it + 2; i++) { if (Basic.Search_element("//section[@id='market_table']//tr[position()='" + Convert.ToString(i) + "']/" + "td[@align='center']/input[@value='Kup']")) { elements.Add(Get.Element("//section[@id='market_table']//" + "tr[position()='" + Convert.ToString(i) + "']/td[@style]/div[@style]")); positions.Add(i); } } int found_i = -1; for (int i = 0; i < elements.Count; i++) { if (Compare_elements(elements.ElementAt(i), found_case)) { found_i = positions[i]; found_it = found_case; break; } } if (found_i != -1) { int gold_before = Get.Gold(); Basic.Click_element("//section[@id='market_table']//tr[position()='" + Convert.ToString(found_i) + "']" + "/td[@align='center']/input[@value='Kup']"); if (gold_before - Get.Gold() == Convert.ToInt32(item.price)) { break; } } if (found_case != lines.Count() - 1) { found_case++; } else if (Basic.Search_element("//a[contains(text(),'Następna strona')]") && found_case == lines.Count() - 1) { found_case = orginal_case; Basic.Click_element("//a[contains(text(),'Następna strona')]"); } else if (found_case == lines.Count() - 1) { return; } } Prepare_xpath(item); Navigation.Packages(); Navigation.Filter_packages(categories[found_case], qualities[found_case]); Navigation.Backpack(Settings.b_sell); if (!Take_from_packages()) { return; } Sell_on_market(); } }