Exemple #1
0
        /// <summary>
        /// Запускает задачу, которая играет с питомцем.
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Play(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Делаем запрос на главную
            string result = await HelpMethod.GET("/", HttpClient);

            // Парсим бесполезное число
            string rand = new Regex(@"action=play&rand=(.*?)\"" class=").Match(result).Groups[1].Value;

            if (rand.Length > 0)
            {
                // Информируем в статус лог
                HelpMethod.StatusLog("Играем с питомцем...", BotID, Form, Properties.Resources.game);

                // Логируем действие
                HelpMethod.Log("Играем с питомцем...", BotID, Form);

                // Запускаем цикл
                do
                {
                    // Выполняем действие
                    result = await HelpMethod.GET("/?action=play&rand=" + rand, HttpClient);

                    // Парсим бесполезное число
                    rand = new Regex(@"action=play&rand=(.*?)\"" class=").Match(result).Groups[1].Value;

                    // Записываем опыт
                    SaveExpirience("Play", result, BotID, Form);
                }while (rand.Length > 0);
            }
        }
Exemple #2
0
        /// <summary>
        /// Запускает задачу, которая забирает задания (включая медали).
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Tasks(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Отправляем запрос на страницу заданий
            string result = await HelpMethod.GET("/task", HttpClient);

            // Парсим список id
            MatchCollection reg = new Regex(@"rd\?id=(.*?)\"" class=").Matches(result);

            // Если найдено больше 0
            if (reg.Count > 0)
            {
                // Запускаем цикл
                foreach (Match match in reg)
                {
                    // Получаем id
                    string id = match.Groups[1].Value;

                    // Если id больше 0
                    if (id.Length > 0)
                    {
                        // Забираем задания
                        result = await HelpMethod.GET("/task_reward?id=" + id, HttpClient);

                        // Сохраняем опыт
                        SaveExpirience("Tasks", result, BotID, Form);
                    }
                }

                // Логируем действие
                HelpMethod.Log($"Забрали ( {reg.Count} ) ежедневных заданий.", BotID, Form);
            }
        }
Exemple #3
0
        /// <summary>
        /// Запускает задачу, копает поляну.
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Glade(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Отправляем запрос на страницу поляны
            string result = await HelpMethod.GET("/glade", HttpClient);

            // Если можно копать
            if (result.Contains("Копать"))
            {
                // Логируем действие
                HelpMethod.Log("Вскапываем поляну...", BotID, Form);

                // Запускаем цикл
                do
                {
                    // Капаем поляну
                    result = await HelpMethod.GET("/glade_dig", HttpClient);

                    // Сохраняем опыт
                    SaveExpirience("Glade", result, BotID, Form);
                }while (result.Contains("Копать"));

                // Логируем действие
                HelpMethod.Log("Поляна вскопана.", BotID, Form);
            }
        }
Exemple #4
0
        /// <summary>
        /// Запускает задачу, которая отправляет на прогулку питомца.
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Travel(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Делаем запрос на страницу прогулки
            string result = await HelpMethod.GET("/travel", HttpClient);

            // Если там есть "Гулять дальше"
            if (result.Contains("Гулять дальше"))
            {
                // Записываем опыт
                SaveExpirience("Travel", result, BotID, Form);

                // Завершаем прогулку
                result = await HelpMethod.GET("/travel?clear=1", HttpClient);
            }

            // Если питомец ещё не гуляет
            if (!result.Contains("Ваш питомец гуляет"))
            {
                // Парсим все ID со ссылок
                MatchCollection travel = new Regex(@"go_travel(.*?)\"" class=").Matches(result);

                // Если id больше нуля
                if (travel.Count > 0)
                {
                    // Определяем переменные
                    int temp_id = 0, curr_id = 0;

                    // Проходимся по каждому ID
                    foreach (Match match in travel)
                    {
                        // Получаем ID
                        int news_id = Convert.ToInt32(match.Groups[1].Value.Replace("?id=", ""));

                        // Если текущий ID больше временного
                        if (news_id > temp_id)
                        {
                            // Записываем в текущий
                            curr_id = news_id;
                        }

                        // Записываем во временную переменную текущий ID
                        temp_id = news_id;
                    }

                    // Отправляем на прогулку (Самая длительная)
                    result = await HelpMethod.GET("/go_travel?id=" + curr_id, HttpClient);

                    // Проверяем успешно ли отправили
                    if (result.Contains("Ваш питомец гуляет"))
                    {
                        // Логируем действие
                        HelpMethod.Log("Отправили питомца на прогулку.", BotID, Form);
                    }
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// Запускает задачу, которая даёт питомцу витаминку.
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task WakeUp(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Делаем запрос на главную
            string result = await HelpMethod.GET("/", HttpClient);

            if (result.Contains("Дать витаминку за"))
            {
                // Информируем в статус лог
                HelpMethod.StatusLog("Даём витаминку...", BotID, Form, Properties.Resources.heart);

                // Даём витаминку
                await HelpMethod.GET("/wakeup", HttpClient);

                // Логируем действие
                HelpMethod.Log("Дали питомцу витаминку.", BotID, Form);
            }
        }
Exemple #6
0
        /// <summary>
        /// Запускает задачу, которая посещает выставки.
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Showing(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Делаем запрос на главную
            string result = await HelpMethod.GET("/", HttpClient);

            if (result.Contains("show?start=1"))
            {
                // Информируем в статус лог
                HelpMethod.StatusLog("На выставке...", BotID, Form, Properties.Resources.cup);

                // Логируем действие
                HelpMethod.Log("Идём на выставку...", BotID, Form);

                // Запускаем поход на выставку
                await HelpMethod.GET("/show?start=1", HttpClient);

                // Запускаем цикл
                do
                {
                    // Ходим на выставку
                    result = await HelpMethod.GET("/show", HttpClient);

                    // Если нужно выбрать страну
                    if (result.Contains("Выбрать"))
                    {
                        // Парсим ссылку для выбора страны
                        string show_select = new Regex(@"<a href=""(/.*?\?id=[0-9].?)").Match(result).Groups[1].Value;

                        // Если ссылка не пустая
                        if (show_select.Length > 0)
                        {
                            result = await HelpMethod.GET(show_select, HttpClient);

                            HelpMethod.Log($"Выбрали новую страну на выставке.", BotID, Form, Color.Green, false);
                        }
                    }

                    // Записываем опыт
                    SaveExpirience("Showing", result, BotID, Form);
                }while (result.Contains("Участвовать за") || result.Contains("Соревноваться"));

                // Логируем действие
                HelpMethod.Log($"Выставка завершена.", BotID, Form);
            }
        }
Exemple #7
0
        /// <summary>
        /// Запускает задачу, которая проверяет шкаф (одевает вещи, продаёт вещи, открывает сундуки).
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Chest(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Отправляем запрос на страницу шкафа
            string result = await HelpMethod.GET("/chest", HttpClient);

            // Парсим ссылку предмета
            string url = new Regex(@"<a href=\""(.*?)\"" class=\""bbtn mt5 vb\""").Match(result).Groups[1].Value;

            // Парсим имя предмета
            string name = new Regex(@"<div class=\""mt3\"">(.*?)</div>").Match(result).Groups[1].Value;

            // Если ссылка предмета не ровна нулю и ссылка не ровна открытию сундука
            if (url.Length > 0 && !url.Contains("open_item"))
            {
                // Запускам цикл
                while (url.Length > 0 && !url.Contains("open_item"))
                {
                    // Надеваем предмет
                    if (url.Contains("wear_item"))
                    {
                        HelpMethod.Log($"Надел {name}.", BotID, Form, Color.Green, false);
                    }

                    // Продаем предмет
                    if (url.Contains("sell_item"))
                    {
                        HelpMethod.Log($"Продал {name}.", BotID, Form, Color.Red, false);
                    }

                    // Отправляем запрос
                    result = await HelpMethod.GET(url, HttpClient);

                    // Парсим ссылку предмета
                    url = new Regex(@"<a href=\""(.*?)\"" class=\""bbtn mt5 vb\""").Match(result).Groups[1].Value;

                    // Парсим имя предмета
                    name = new Regex(@"<div class=\""mt3\"">(.*?)</div>").Match(result).Groups[1].Value;
                }
            }

            // Получаем ссылку на чекбокс "Открывать сундук"
            CheckBox checkBox = HelpMethod.findControl.FindCheckBox("checkbox_opencase", BotID, Form);

            // Если опция включена и ссылка - это сундук
            if (checkBox.Checked & url.Contains("open_item"))
            {
                // Если на аккаунте нет VIP
                if (!(bool)HelpMethod.findControl.FindLabel("label_isVip", BotID, Form).Tag)
                {
                    // Если есть стальной ключ
                    if (result.Contains("Стальной ключ"))
                    {
                        // Открываем сундук
                        await HelpMethod.GET(url, HttpClient);

                        // Логируем действие
                        HelpMethod.Log("Открыли сундук ключём.", BotID, Form);
                    }
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// Запускает задачу, которая играет в мини-игру "Скачки".
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Races(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Переходим на страницу игры в скачки
            string result = await HelpMethod.GET("/races", HttpClient);

            // Фикс фейкового "старта игры"
            if (result.Contains("Обновить"))
            {
                result = await HelpMethod.GET("/races", HttpClient);
            }

            // Если есть активное задание "Стань призером скачек 2 раза"
            // Или если игра уже была начата или уже идёт
            if (result.Contains("Стань призером скачек 2 раза") || result.Contains("Обновить") || result.Contains("Бежать"))
            {
                // Проверяем можем ли мы встать в очередь
                if (result.Contains("Встать в очередь"))
                {
                    HelpMethod.StatusLog("[ Скачки ] В очереди...", BotID, Form, Properties.Resources.races);

                    // Встаём в очередь
                    result = await HelpMethod.GET("/races?in_queue=1", HttpClient);

                    // Ждем пока начнется игра
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/races", HttpClient);
                    }
                }

                // Если нужно подождать начало
                if (result.Contains("Обновить"))
                {
                    // Ждем пока начнется игра
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/races", HttpClient);
                    }
                }

                // Если игра уже началась
                if (result.Contains("Бежать"))
                {
                    HelpMethod.StatusLog("[ Скачки ] Играем...", BotID, Form, Properties.Resources.races);

                    // Запускаем цикл для игры ( Нажимаем кнопку бежать )
                    while (result.Contains("Бежать"))
                    {
                        result = await HelpMethod.GET("/races?go=1", HttpClient);

                        // Если кнопка толкнуть стала зеленой, жмем
                        if (result.Contains("73px; width: 70px;"))
                        {
                            result = await HelpMethod.GET("/races?attack=0", HttpClient);
                        }
                    }
                }

                // На случай если выиграли раньше всех
                if (result.Contains("Обновить"))
                {
                    HelpMethod.StatusLog("[ Скачки ] Ждём завершения...", BotID, Form, Properties.Resources.races);

                    // Запускаем цикл ожидания конца игры
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/races", HttpClient);
                    }
                }

                // Нужные переменные для определения мест
                int seats_count = 1, seats = 1;

                // Определяем наше место
                foreach (Match item in new Regex(@"<a href=""/view_profile\?pet_id=[0-9]*.?"">(.*?)</a>").Matches(result))
                {
                    if (item.Groups[1].Value.Contains((string)HelpMethod.findControl.FindLabel("label_nickname", BotID, Form).Tag))
                    {
                        seats = seats_count;
                    }

                    seats_count++;
                }

                HelpMethod.Log($"[ Скачки ] Заняли {seats} место.", BotID, Form, seats <= 3 ? Color.Green : Color.Red);
            }
        }
Exemple #9
0
        /// <summary>
        /// Запускает задачу, которая играет в мини-игру "Снежки".
        /// </summary>
        /// <param name="BotID">Индентификатор бота (вкладки).</param>
        /// <param name="HttpClient">Ссылка на экземпляр класса <see cref="HttpClient"/>.</param>
        /// <param name="Form">Ссылка на экземпляр класса <see cref="Form1"/>.</param>
        /// <returns></returns>
        public static async Task Charm(int BotID, HttpClient HttpClient, Form1 Form)
        {
            // Переходим на страницу игры в снежки
            string result = await HelpMethod.GET("/charm", HttpClient);

            // Начниаем играть только если есть активное задание "Проведи 2 игры в снежки"
            // Или если игра уже была начата или уже идёт
            if (result.Contains("Проведи 2 игры в снежки") || result.Contains("Обновить") || result.Contains("Сменить"))
            {
                // Проверяем можем ли мы встать в очередь
                if (result.Contains("Встать в очередь"))
                {
                    HelpMethod.StatusLog("[ Снежки ] В очереди...", BotID, Form, Properties.Resources.charm);

                    // Встаём в очередь
                    result = await HelpMethod.GET("/charm?in_queue=1", HttpClient);

                    // Ждем пока начнется игра
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/charm", HttpClient);
                    }
                }

                // Если нужно подождать начало
                if (result.Contains("Обновить"))
                {
                    HelpMethod.StatusLog("[ Снежки ] Ждём начало...", BotID, Form, Properties.Resources.charm);

                    // Ждем пока начнется игра
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/charm", HttpClient);
                    }
                }

                // Если игра уже началась
                if (result.Contains("Сменить"))
                {
                    HelpMethod.StatusLog("[ Снежки ] Играем...", BotID, Form, Properties.Resources.charm);

                    // Запускаем цикл для игры (Бросаем снежки через смену питомца)
                    while (result.Contains("Сменить"))
                    {
                        result = await HelpMethod.GET("/charm?change=1", HttpClient);
                    }
                }

                // На случай если мы выбыли
                if (result.Contains("Обновить"))
                {
                    HelpMethod.StatusLog("[ Снежки ] Выбыли, ждём завершения...", BotID, Form, Properties.Resources.charm);

                    // Запускаем цикл ожидания конца игры
                    while (result.Contains("Обновить"))
                    {
                        result = await HelpMethod.GET("/charm", HttpClient);
                    }
                }

                // Проверяем выиграли или проиграли
                if (result.Contains("Вы победили"))
                {
                    HelpMethod.Log("[ Снежки ] Мы выиграли.", BotID, Form, Color.Green);
                }
                else
                {
                    HelpMethod.Log("[ Снежки ] Мы проиграли.", BotID, Form, Color.Red);
                }
            }
        }