public static bool Event() { if (!RegistryValues.Read_b("c_event")) { return(false); } Heal_me(); Basic.Click_element("//div[@id='cooldown_bar_expedition']/a[@class='cooldown_bar_link']"); if (Basic.Click_if("//a[contains(@class,'menuitem glow eyecatcher')]")) { if (Basic.Search_element("//div[@class='serverquest_reward_header']")) { return(false); } string text = Bot.driver.FindElementByXPath("//div[@class='section-header']/p[2]").GetAttribute("textContent"); int points = Convert.ToInt32(Regex.Match(text, @"\d+").Value); if (points > 0) { if (!Basic.Search_element("//span[@class='ticker'][contains(text(),'Czas do następnej ekspedycji')]")) { Basic.Click_element("//button[@class='expedition_button awesome-button ']"); } } else { return(false); } } else { return(false); } return(true); }
private static bool Create_Chrome() { Thread.Sleep(2000); while (!Bot.work && !Bot.Take_gold && !Bot.Sell_items) { Thread.Sleep(500); continue; } try { var driverService = ChromeDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; var driverOptions = new ChromeOptions(); if (Screen.AllScreens.Length > 1) { driverOptions.AddArgument("--window-position=2000,0"); } if (RegistryValues.Read_b("c_headless")) { driverOptions.AddArgument("--headless"); } driver = new ChromeDriver(driverService, driverOptions); driver.Manage().Window.Maximize(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromMilliseconds(wait); ac = new Actions(driver); } catch (Exception ex) { Basic.Kill_Chrome_Drivers(); Sys.Handle_exception(ex); return(false); } return(true); }
private static void Buy(string category) { if (category == "Jadalne" || category == "Przyspieszacze") { Navigation.Packages(); Navigation.Filter_packages(category, ""); string var = "food"; if (category == "Przyspieszacze") { var = "boosters"; } int pages = RegistryValues.Read_i(var + "_pages"); for (int i = 0; i < pages * 10; i++) { if (Basic.Search_element( "//div[@class='paging_numbers']//a[@href][text()='" + Convert.ToString(i) + "']")) { return; } } } Navigation.Main_menu("Dom aukcyjny"); Navigation.Filter_auction_house("", category); string path = "//div[@id='auction_table']//div[@class='auction_bid_div']//div[contains(text(),'Brak ofert')]/../input[@value='Licytuj']"; while (!Basic.Search_element("//div[text()='Nie masz wystarczającej ilości złota!']") && Basic.Search_element(path)) { Basic.Click_element(path); } }
static int Move_items(List <IWebElement> elements, int it, bool getAll) { Navigation.Backpack(Settings.b_extract); foreach (IWebElement element in elements) { if (it == 0) { return(-1); } int quality = Convert.ToInt32(element.GetAttribute("data-quality")); if (!getAll && !RegistryValues.Read_b("c_extract_purple") && quality == 2 || !RegistryValues.Read_b("c_extract_orange") && quality == 3 || !RegistryValues.Read_b("c_extract_red") && quality == 4) { continue; } string hash = element.GetAttribute("data-hash"); Basic.Move_to_inventory(element); if (Basic.Search_element("//div[@id='inv']//div[@data-hash='" + hash + "']")) { it--; } else { return(-1); } } return(it); }
void Read_settings() { labelServer.Text = Get.Read_server(RegistryValues.Read_i("server")); FontStyle var = FontStyle.Regular; if (RegistryValues.Read_b("c_sleep")) { var = FontStyle.Bold; } sleep_btn.Font = new Font(sleep_btn.Font.Name, sleep_btn.Font.Size, var); }
public static bool Circus_Turma() { if (!RegistryValues.Read_b("c_turma")) { return(false); } Basic.Wait_for_element("//div[@id='cooldown_bar_ct']//div[@class='cooldown_bar_text']"); Basic.Click_element("//div[@id='cooldown_bar_ct']//a[@class='cooldown_bar_link']"); Basic.Click_element("//div[@class='attack']"); Basic.Wait_for_element("//body[@id='reportsPage']"); return(true); }
void Read_settings() { textNick.Text = RegistryValues.Read_s("username"); textPassword.Text = RegistryValues.Read_s("password"); textHeal.Text = RegistryValues.Read_s("heal_level"); textGoldPack.Text = RegistryValues.Read_s("gold_pack"); textGoldTake.Text = RegistryValues.Read_s("gold_take"); textFood.Text = RegistryValues.Read_s("food_pages"); textBoosters.Text = RegistryValues.Read_s("boosters_pages"); comboServer.SelectedIndex = RegistryValues.Read_i("server"); comboExtract.SelectedIndex = RegistryValues.Read_i("b_extract"); comboFood.SelectedIndex = RegistryValues.Read_i("b_food"); comboSell.SelectedIndex = RegistryValues.Read_i("b_sell"); comboExpedition.SelectedIndex = RegistryValues.Read_i("o_expedition"); comboDungeon.SelectedIndex = RegistryValues.Read_i("o_dungeon"); comboTraining.SelectedIndex = RegistryValues.Read_i("o_training"); checkExpedition.Checked = RegistryValues.Read_b("c_expedition"); checkDungeon.Checked = RegistryValues.Read_b("c_dungeon"); checkEvent.Checked = RegistryValues.Read_b("c_event"); checkHeal.Checked = RegistryValues.Read_b("c_heal"); checkFood.Checked = RegistryValues.Read_b("c_food"); checkExtract.Checked = RegistryValues.Read_b("c_extract"); checkSell.Checked = RegistryValues.Read_b("c_sell"); checkAuctions.Checked = RegistryValues.Read_b("c_auctions"); checkBoosters.Checked = RegistryValues.Read_b("c_boosters"); checkSleep.Checked = RegistryValues.Read_b("c_sleep"); checkHeadless.Checked = RegistryValues.Read_b("c_headless"); checkSpentRubles.Checked = RegistryValues.Read_b("c_rubles"); checkPack.Checked = RegistryValues.Read_b("c_pack"); checkCostume.Checked = RegistryValues.Read_b("c_costume"); checkTraining.Checked = RegistryValues.Read_b("c_training"); checkSellPurple.Checked = RegistryValues.Read_b("c_sell_purple"); checkSellOrange.Checked = RegistryValues.Read_b("c_sell_orange"); checkSellRed.Checked = RegistryValues.Read_b("c_sell_red"); checkExtractPurple.Checked = RegistryValues.Read_b("c_extract_purple"); checkExtractOrange.Checked = RegistryValues.Read_b("c_extract_orange"); checkExtractRed.Checked = RegistryValues.Read_b("c_extract_red"); checkArena.Checked = RegistryValues.Read_b("c_arena"); checkTurma.Checked = RegistryValues.Read_b("c_turma"); Check_Avability_Sell(null, null); Check_Avability_Extract(null, null); Check_Avability_Boosters(null, null); Check_Avability_Pack(null, null); Check_Avability_Food(null, null); Check_Avability_Health(null, null); Check_Avability_Backpack_Food(null, null); Check_Avability_Dungeon(null, null); Check_Avability_Expedition(null, null); Check_Avability_Training(null, null); }
public static void Search() { if (!RegistryValues.Read_b("c_pack")) { return; } Read_packages(); IReadOnlyCollection <IWebElement> elements; IWebElement found_element; while (true) { Navigation.Guild_market(); Navigation.Backpack(Settings.b_sell); elements = Bot.driver.FindElementsByXPath("//div[@id='inv']//div[contains(@class,'draggable')]"); found_element = Find_element(elements); if (found_element != null) { Prepare_xpath(found_it); Sell_on_market(); } else { break; } } Navigation.Packages(); while (true) { Navigation.Backpack(Settings.b_sell); elements = Bot.driver.FindElementsByXPath("//div[@id='packages']//div[contains(@class,'draggable')]"); found_element = Find_element(elements); if (found_element != null) { Prepare_xpath(found_it); Take_from_packages(); Sell_on_market(); continue; } if (Basic.Click_if("//a[@class='paging_button paging_right_step']")) { } else { return; } } }
public static void Training() { if (!RegistryValues.Read_b("c_training")) { return; } Navigation.Main_menu("Trening"); if (!Basic.Search_element("//a[@title='trenuj']")) { return; } Bot.driver.FindElementsByXPath("//div[@id='training_box']//img[@alt='']") [RegistryValues.Read_i("o_training") + 1].Click(); }
public static void Buy() { if (RegistryValues.Read_b("c_auctions")) { Buy("Pierścienie"); Buy("Amulety"); } if (RegistryValues.Read_b("c_boosters")) { Buy("Przyspieszacze"); } if (RegistryValues.Read_b("c_food")) { Buy("Jadalne"); } }
static List <IWebElement> Get_items(IReadOnlyCollection <IWebElement> all) { List <IWebElement> elements = new List <IWebElement>(); foreach (IWebElement element in all) { string quality = element.GetAttribute("data-quality"); if (!RegistryValues.Read_b("c_sell_purple") && quality == "2" || !RegistryValues.Read_b("c_sell_orange") && quality == "3" || !RegistryValues.Read_b("c_sell_red") && quality == "4") { continue; } elements.Add(element); } return(elements); }
public static bool Hades_costume() { if (!RegistryValues.Read_b("c_costume") || Basic.Search_element("//div[contains(@onmousemove,'Zbroja Disa Patera')]")) { return(false); } Navigation.Main_menu("Podgląd"); Basic.Click_element("//input[@value='zmień']"); if (Basic.Click_if("//input[contains(@onclick,'Zbroja Disa Patera')]")) { Basic.Click_element("//td[@id='buttonleftchangeCostume']/input[@value='Tak']"); } else { return(false); } return(true); }
public static void Heal_me() { if (!RegistryValues.Read_b("c_heal")) { return; } while (Get.Hp() < Settings.heal_level) { Navigation.Main_menu("Podgląd"); Navigation.Backpack(Settings.b_food); if (!Basic.Search_element("//div[@id='inv']//div[@data-content-type='64']")) { Take_food(); continue; } Basic.Drag_and_drop("//div[@id='inv']//div[@data-content-type='64']", "//div[@id='avatar']//div[@class='ui-droppable']"); Thread.Sleep(2000); } }
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; } } } }
void Watch_sleep() { bool last = RegistryValues.Read_b("c_sleep"); while (!force_sleep) { if (last != Bot.sleep_mode) { last = Bot.sleep_mode; FontStyle var = FontStyle.Regular; if (last) { var = FontStyle.Bold; } sleep_btn.Font = new Font(sleep_btn.Font.Name, sleep_btn.Font.Size, var); } Thread.Sleep(Bot.wait); } }
public static void Extract_items() { if (!RegistryValues.Read_b("c_extract")) { return; } Get_items(); Navigation.Main_menu("Roztapiarka"); Navigation.Backpack(Settings.b_extract); string inv_draggable = "//div[@id='inv']//div[contains(@class,'ui-draggable')]"; for (int i = 0; i < 6; i++) { if (!Basic.Search_element(inv_draggable)) { break; } string first = "//div[contains(@class,'forge_closed " + Convert.ToString(i) + "')]"; string second = "//div[contains(@class,'forge_finished-succeeded " + Convert.ToString(i) + "')]"; if (Basic.Click_if(first)) { } else if (Basic.Click_if(second)) { Basic.Click_element("//div[contains(text(),'Wyślij jako pakiet')]"); } else { continue; } Basic.Wait_for_element("//div[@class='forge_closed " + Convert.ToString(i) + " tabActive']"); Navigation.Backpack(Settings.b_extract); Basic.Move_release(inv_draggable, "//fieldset[@id='crafting_input']//div[@class='ui-droppable']"); while (!Get.Element("//div[@class='icon_gold']").Displayed) { Thread.Sleep(100); } Basic.Click_element("//div[@class='icon_gold']"); Basic.Wait_for_element("//div[@class='forge_crafting " + Convert.ToString(i) + " tabActive']"); } Store(); }
public static bool Dungeon() { if (Basic.Search_element("//div[@id='cooldown_bar_dungeon']/a[@class='cooldown_bar_link']")) { if (!Get.Element("//div[@id='cooldown_bar_dungeon']/a[@class='cooldown_bar_link']").Displayed) { return(false); } } int points = Convert.ToInt32(Get.Element("//*[@id='dungeonpoints_value_point']").Text); if (!RegistryValues.Read_b("c_dungeon") || points == 0) { return(false); } Basic.Wait_for_element("//div[@id='cooldown_bar_dungeon']/div[@class='cooldown_bar_text']"); Basic.Click_element("//div[@id='cooldown_bar_dungeon']/a[@class='cooldown_bar_link']"); if (Basic.Search_element("//input[@value='normalne']") || Basic.Search_element("//input[@value='zaawansowane']")) { if (Settings.o_dungeon == 1 && Basic.Click_if("input[@value='zaawansowane']")) { } else { Basic.Click_element("//input[@value='normalne']"); } } Basic.Wait_for_element("//span[@class='dungeon_header_open']"); Basic.Click_element("//img[contains(@src,'combatloc.gif')]"); Basic.Wait_for_element("//table[@style='border-spacing:0;']//td[2]"); if (points == 1) { return(true); } else { return(false); } }
static bool Choose_shop(int shop) { switch (shop) { case 1: Navigation.Main_menu("Broń"); break; case 2: Navigation.Main_menu("Pancerz"); break; case 3: Navigation.Main_menu("Handlarz"); break; case 4: Navigation.Main_menu("Alchemik"); break; case 5: Navigation.Main_menu("Żołnierz"); break; case 6: Navigation.Main_menu("Malefica"); break; default: Navigation.Main_menu("Broń"); if (RegistryValues.Read_b("c_rubles")) { Basic.Click_element("//input[@value='Nowe towary']"); } return(false); } Basic.Click_element("//div[contains(@class,'shopTab')][contains(text(),'sprzedaj')]"); Navigation.Backpack(Settings.b_sell); return(true); }
public static bool Expedition() { int points = Convert.ToInt32(Get.Points_expedition()); if (!RegistryValues.Read_b("c_expedition") || points == 0) { return(false); } Heal_me(); Basic.Wait_for_element("//div[@id='cooldown_bar_expedition']/div[@class='cooldown_bar_text']"); Basic.Click_element("//div[@id='cooldown_bar_expedition']/a[@class='cooldown_bar_link']"); Basic.Click_element("//div[@class='expedition_box'][" + Convert.ToString(Settings.o_expedition) + "]//button[contains(@class,'awesome')]"); Basic.Wait_for_element("//table[@style='border-spacing:0;']//td[2]"); if (points == 1) { return(false); } else { return(true); } }
public static void Save() { string path = "settings/packages.txt"; if (File.Exists(path)) { File.Delete(path); } Directory.CreateDirectory("settings"); Navigation.Guild_market(); while (true) { 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; int minimum = 0; bool first_minimum = true; for (int i = 2; i < it + 2; i++) { string price = Get.Element("//section[@id='market_table']//" + "tr[position()='" + Convert.ToString(i) + "']/td[position()='3']").Text.Replace(".", ""); IWebElement element = Get.Element("//section[@id='market_table']//" + "tr[position()='" + Convert.ToString(i) + "']/td[@style]/div[@style]"); string soulbound = element.GetAttribute("data-soulbound-to"); string level = element.GetAttribute("data-level"); string amount = element.GetAttribute("data-amount"); string quality = element.GetAttribute("data-quality"); string category = element.GetAttribute("data-content-type"); string name = Regex.Match(element.GetAttribute("class"), @"item-i-\d{1,2}-\d{1,2}").Value; bool solds = false; if (first_minimum) { minimum = Convert.ToInt32(price); first_minimum = false; } else if (minimum > Convert.ToInt32(price)) { minimum = Convert.ToInt32(price); } ac = new Actions(Bot.driver); ac.MoveToElement(Get.Element("//section[@id='market_table']//tr[position()='" + Convert.ToString(i) + "']/td[@style]/div[@style]")).Perform(); if (Basic.Search_element("//p[contains(text(),'Wskazówka')]")) { solds = true; } string ready_line = "class_name='" + name + "' soulbound='" + soulbound + "' price='" + price + "' category='" + category + "' quality='" + quality + "' level='" + level + "' amount='" + amount + "' sold='" + solds + "'"; File.AppendAllText(path, ready_line + Environment.NewLine); } RegistryValues.SetKey("gold_pack", minimum); if (Basic.Click_if("//a[contains(text(), 'Następna strona')]")) { } else { return; } } }
public static void Sell() { if (!Settings.c_sell && !Bot.Sell_items) { return; } int category = 1; int shop = 1; while (category <= 10) { Navigation.Packages(); while (category <= 10) { Navigation.Filter_packages(Get.Category_packages(category), ""); Navigation.Backpack(Settings.b_sell); Basic.Click_if("//a[@clas='paging_button paging_right_full']"); List <IWebElement> elements = Get_items(Bot.driver.FindElementsByXPath("//div[@id='packages']//div[contains(@class,'draggable')]")); elements.Reverse(); if (elements.Count == 0) { category++; continue; } if (!Basic.Move_to_inventory(elements)) { break; } } while (true) { if (!Choose_shop(shop)) { if (!RegistryValues.Read_b("c_rubles")) { return; } else { shop = 1; } } List <IWebElement> elements = Get_items(Bot.driver.FindElementsByXPath("//div[@id='inv']//div[contains(@class,'draggable')]")); if (elements.Count == 0) { break; } if (!Basic.Move_to_shop(elements)) { break; } else { shop++; } } } }
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(); } }
static void Get_items() { Navigation.Main_menu("Roztapiarka"); Navigation.Backpack(Settings.b_extract); int first_it = Bot.driver.FindElementsByXPath("//div[contains(@class,'forge_closed')]").Count; int second_it = Bot.driver.FindElementsByXPath("//div[contains(@class,'forge_finished-succeeded')]").Count; int third_it = Bot.driver.FindElementsByXPath("//div[@id='inv']//div[contains(@class,'draggable')]").Count; int it = first_it + second_it - third_it; string colour = "Neptun (niebieski)"; if (RegistryValues.Read_b("c_extract_purple")) { colour = "Mars (purpurowy)"; } else if (RegistryValues.Read_b("c_extract_orange")) { colour = "Jupiter (pomarańczowy)"; } else if (RegistryValues.Read_b("c_extract_red")) { colour = "Olimp (czerwony)"; } Navigation.Packages(); Navigation.Filter_packages("", colour); Basic.Click_if("//a[@class='paging_button paging_right_full']"); while (true) { List <IWebElement> elements = Load_items(); if (elements.Count == 0) { if (Basic.Click_if("//a[@class='paging_button paging_left_step']")) { continue; } break; } it = Move_items(elements, it, false); if (it < 0) { return; } Basic.Click_if("//a[@class='paging_button paging_left_step']"); } if (it > 0) { string[] customs = null; if (File.Exists(@"settings/extract.txt")) { customs = File.ReadAllLines(@"settings/extract.txt"); } Navigation.Packages(); Navigation.Backpack(Settings.b_extract); for (int i = 0; i < customs.Length; i++) { IWebElement textbox = Get.Element("//input[@name='qry']"); textbox.SendKeys(OpenQA.Selenium.Keys.Control + "a"); textbox.SendKeys(OpenQA.Selenium.Keys.Delete); textbox.SendKeys(customs[i]); Basic.Click_element("//input[@value='Filtr']"); do { List <IWebElement> elements = Load_items(); if (elements.Count == 0) { break; } it = Move_items(elements, it, false); if (it < 0) { return; } } while (Basic.Click_if("//a[@class='paging_button paging_left_step']")); } } if (it > 0) { Navigation.Packages(); Navigation.Backpack(Settings.b_extract); Basic.Click_if("//a[@class='paging_button paging_right_full']"); while (true) { List <IWebElement> elements = Load_items(); if (elements.Count == 0) { if (Basic.Click_if("//a[@class='paging_button paging_left_step']")) { continue; } break; } it = Move_items(elements, it, true); if (it < 0) { return; } } } }