Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Andrey_13

Pages: [1] 2
1
Я знаю, что колормод8 это черно-белое изображение, но почему-то скрины получаются как просто белый лист. Все текстуры естественно перенес. Просто колормод работат, получаются полноцветные скрины.
а могут какие-то настройки экрана, видеокарты или еще чего-то так повлиять?!

2
Доброй ночи.
Встретился со странной ошибкой или глюком.
Вот кусочек скрипта.
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(8)
SCREENSHOT
IF_PICTURE_IN (0,0, 1100,600, "textures\batl_tren.bmp", -1, 90)
   LOGWRITE("изображение batl_tren найдено")
   LOGWRITE("x: ", $_return1," y: ", $_return2)
   LCLICK($_return1+50, $_return2-10)
 
У меня работает нормально. Все находит, на все кнопки жмет.

Принес все знакомому, пробую - пишет, что изображение не найдено и самое странное, что командой SCREENSHOT создаются совершенно чисто белые скрины. А если включить Лупу и посмотреть, то в окошечке видно увеличенное изображение.

3
Добрый день, Vint.
Не совсем понял Вас.
В игре нельзя одновременно играть двумя игроками. Тут получается, что надо зайти игроком А, выполнить часть действий, выйти, зайти игроком В, выполнить часть действий, выйти, зайти игроком С, выполнить часть действий, выйти, потом через 15 минут опять зайти А, выполнить задание, выйти, зайти В, выполнить задание, выйти, зайти С, выполнить задание.

4
старт и работа по времени лежат на форуме.
я много тем посмотрел, но пока не играл эти игры то не совсем понятен алгоритм, так же как и я сейчас Вас прошу.
Если один игрок, то я вроде бы понял как делать, но мне надо, чтобы было переключение между тремя (5-7) акаунтов, хотя бы 1 раз чтобы прошелся по всем.

5
есть игра Легенды Галактики. надо много занудных действий делать каждый день.
в 0-00 по серверу (в 3-0 по Москве) происходит перегрузка сервера и надо сначала выполнять по кругу задания.
Работа скрипта должна начаться в 2-50, чтобы до перегрузки сервера истратить снабжение (ходы).

1. запустить БлюСтакс
2. запустить игру
3. выбор персонажа (есть три аккаунта, надо по очереди зайти ко всем по очереди (сокланы отдали погонять)) (пока не знаю как подступиться)

4. при входе бывает "рекламное окно", бывает получить "приз за вход" (есть призы, которые дают вот таким способом: зашел в игру, через 15 мин загорается ! знак, заходишь туда, берешь приз, запускается таймер для другого, и так время постоянно растет, т.е. типа так 15мин, 30, 1час, 1,5 часа)

5. зайти в Альянс: (это обязательно сделать первым делом, так как после этого убыстряется прокачка персонажей)
внутри вкладки альянс есть еще три вкладки, в которые надо зайти, нажать на кнопки и выйти опять в альянс, зайти во вторую, и так далее. выполняется 1 раз
5.1 внести пожертвования (тут хитрость такая, у разных аккаунтах разные пожертвования, не совсем соображу как это сделать, типа имя А - то жми сюда, если имя Б - то жми туда?
5.2 отправить экспедицию (тут если ты последний в очереди, то будет небольшой ролик, который нельзя пропустить, надо подождать и потом выйти)
5.3 позвать союзников (тут все просто)

6 вход в лабораторию.
внутри тоже не сколько окошек в которые надо зайти
6.1 рулетка (1 раз) (тут просто)
6.2 добыча (3 раза) (на добычу тратится от 40 мин до 1,5 часа) (надо выбрать руду, где больше денег, различаются по цвету)
6.3 грабеж (4 раза) (грабить можно через 5 мин, но своих грабить нельзя, желательно чужой альянс, но тех, кто по зубам (по общей мощности флота) (думаю пока пропустить данный шаг) и при грабеже надо искать более дорогие источники, отличаются по цвету)
6.4 боевая тренировка (1 раз)

Code: (clickermann) [Select]
WAITMS(500)
LOGWRITE("начало боевой подготовки")
GETSCREEN
COLORMODE(8)
SCREENSHOT
IF_PICTURE_IN (0,0, 1100,600, "textures\batl_tren.bmp", -1, 90)
   LOGWRITE("изображение batl_tren найдено")
   LOGWRITE("x: ", $_return1," y: ", $_return2)
   LCLICK($_return1+50, $_return2-10)
   WAIT(8) //         зашли в подготовку
   // есть 5 целей, которые надо уничтожить, но вторая цель появляется после уничтожения первой
   FOR ($i=0, $i<6)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\target4.bmp", -1, 85)
         LOGWRITE("изображение target найдено")
         LOGWRITE("x: ", $_return1," y: ", $_return2)
         LCLICK($_return1-83, $_return2) // нажимает на корабли
         WAIT(7) //зашли в Инфо Противника
         // надо нажать на кнопку
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\sragenie.bmp", -1, 80)
            LOGWRITE("изображение sragenie найдено")
            LOGWRITE("x: ", $_return1," y: ", $_return2)
            LCLICK($_return1, $_return2) // нажимает на кнопку сражение
            WAIT(10) //зашли в  расстановку флота
            GETSCREEN
            COLORMODE(8)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\sragenie_2ur.bmp", -1, 90)
               LOGWRITE("изображение sragenie_2ur найдено")
               LOGWRITE("x: ", $_return1," y: ", $_return2)
               LCLICK($_return1, $_return2) //  вступаем в бой
               WAIT(50) // идет бой
               // должна быть проверка
               // если Выграли - идем дальше
               // если проиграл - оставновка и выход
               // пока без проверки, идем дальше
               GETSCREEN
               COLORMODE(8)
               IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\2strelki-2.bmp", -1, 82)
                  LOGWRITE("изображение 2strelki найдено")
                  LOGWRITE("x: ", $_return1," y: ", $_return2)
                  LCLICK($_return1, $_return2) //  вышли из просмотра результатов
                  // там где 5 целей
                  WAIT(5)
               ELSE
                  LOGWRITE("изображение 2strelki НЕнайдено")
               END_IF
            ELSE
               LOGWRITE("изображение sragenie_2ur НЕнайдено")
            END_IF
         ELSE
            LOGWRITE("изображение sragenie НЕнайдено")
         END_IF
      ELSE
         LOGWRITE("изображение target НЕнайдено")
         $i = 10
      END_IF
   END_CYC
ELSE
   LOGWRITE("изображение batl_tren НЕнайдено")
END_IF

LOGWRITE(" конец боевой подготовки")

WAIT(5)
HALT

7. зарядить Портал
Code: (clickermann) [Select]
GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0, 1100,600, "textures\CITADEL-2.bmp", -1, 90)
      LOGWRITE("изображение Цитадель найдено")
      LOGWRITE("x: ", $_return1," y: ", $_return2)
      $sav_X = $_return1
      $sav_Y = $_return2
      LCLICK($sav_X+230, $sav_Y-56)
      WAIT(3)
      LCLICK($sav_X+230, $sav_Y+317)
      WAIT(3)
      LCLICK($sav_X-142, $sav_Y-93)
      WAIT(3)
      LCLICK($sav_X+512, $sav_Y+177)
      WAIT(3)
      LCLICK($sav_X+512, $sav_Y+177)
      WAIT(3)
      LCLICK($sav_X+177, $sav_Y+350)
      WAIT(6)
      LCLICK($sav_X+57, $sav_Y+363)
      WAIT(3)
      LCLICK($sav_X+609, $sav_Y-118) //выход
   else
      LOGWRITE("изображение Цитадель НЕнайдено")
   end_IF

8. получить галактонит (тут росто)
9. зайти в хоз центр (тут просто)

10. зайти на арену
10.1 забрать приз (тут просто)
10.2 кого-то стукнуть (для разных акков по разному, пока не буду делать)

11. собрать деньги в Цитадели (ресурсы восстанавливаются, поэтому лучше заходить через 6-8 часов) (сам сбор сделал, надо сделать чтоб с периодичностью заходил)
12. истратить снабжение (сложная задача, часть сделал, пока не стабильно работает), снабжение копится 20 ходов (это максимум) за 10 часов.

13. бой с Праймусом (большой корабль, БОсс, начинается в 18-00, но надо зайти пораньше, сделать подготовку, бой идет максимум до 18-30).

14. в конце дня еще один блок, это сбор наград, за выполнения заданий
/

Code: (clickermann) [Select]
sub(sbor_prizov)
/== подпрограмма сбор наград в ежедневнике ==//   
GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0, 1100,600, "textures\NAGRADA-2.bmp", -1, 90)
      LOGWRITE("изображение награда найдено")
      LOGWRITE("x: ", $_return1," y: ", $_return2)
      LCLICK($_return1+10, $_return2)
      WAIT(5)
   ELSE
      LOGWRITE("изображение награда НЕнайдено")
   END_IF
   WAIT(1)
   
   FOR ($i=0, $i<7)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0, 0, 1100, 700, "textures\POLUCHIT-4.bmp", -1, 80)
         LOGWRITE("изображение ПОЛУЧИТЬ найдено")
         LOGWRITE("x: ", $_return1," y: ", $_return2)
         LCLICK($_return1, $_return2)
         WAIT(6)
      ELSE
         LOGWRITE("изображение ПОЛУЧИТЬ НЕнайдено")
         $i = 10
      END_IF
   END_CYC
end_sub

//сама программа
GETSCREEN
COLORMODE(8)

IF_PICTURE_IN (0,0, 1100,600, "textures\LISTOK-2.bmp", -1, 90) //
   LOGWRITE("изображение Листок найдено")
   LOGWRITE("x: ", $_return1," y: ", $_return2)
   LCLICK($_return1+10, $_return2+10)
   WAIT(5)
ELSE
   LOGWRITE("изображение Листок НЕнайдено")
END_IF

//== попадаем на вкладку Бизнес

sbor_prizov()

//== надо попасть на вкладку ФЛОТ

GETSCREEN
COLORMODE(8)

IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\FLOT-2.bmp", -1, 90)
   LOGWRITE("изображение ФЛОТ найдено")
   LOGWRITE("x: ", $_return1," y: ", $_return2)
   LCLICK($_return1, $_return2)
   WAIT(3)
ELSE
   LOGWRITE("изображение ФЛОТ НЕнайдено")
END_IF

// попадаем на вкладку ФЛОТ

sbor_prizov()

//== надо попасть на вкладку ОПЫТ

GETSCREEN
COLORMODE(8)

IF_PICTURE_IN (0,0, $_xmax,$_ymax, "textures\OPIT-2.bmp", -1, 90)
   LOGWRITE("изображение ОПЫТ найдено")
   LOGWRITE("x: ", $_return1," y: ", $_return2)
   LCLICK($_return1, $_return2)
   WAIT(3)
ELSE
   LOGWRITE("изображение ОПЫТ НЕнайдено")
END_IF

// попадаем на вкладку ОПЫТ

sbor_prizov()


Вот что хочется от бота. Вынес на обозрения пару блоков, самых больших, остальные меньше.
Так как игра очень "цветная" делаю  колормод8. ищу базовую точку, от нее идет отсчет координат, а так же идет поиск кнопок, куда надо нажать. Если надо скрины то завтра могу их приложить, для полного понятия.
Помогите со структурой скрипта, так как по примеру, приведенному Vint я не пойму. Ну и может еще можно оптимизировать и улучшить код.

6
Я только всему учусь, в программировании вообще не силен  :( , делаю для себя бот, чтобы не делать очень много однотипных действий. попозже напишу, что хочу от бота, чтобы было понятнее

7
Профессионалы. Помогите в общих чертах со скриптом.
Есть много мелких блоков, отдельно они работают. А вот как их собрать в один большой скрип?!
Есть задания которые надо выполнить 1 раз за день (но есть задания только утром, есть только вечером), не которые 2-3 раза в день.
можно ли сделать так:
1-ый поток - все что надо выполнить 1 раз, выполнился 1 раз и закончился
2-ой поток - следит за рекламой, ошибками связи, и прочими редкими окнами и как там внутри организовать проверки этих событий? зациклить поиск 2-3 картинок?
3-ий потом - можно сделать, чтоб он стартовал по времени и работал к примеру с 12 до 13
а как сделать повтор тех заданий, которые повторяются 2-3 раза, но на их выполнения требуется время, т.е. их выполнение разнесено по времени.

И в дополнение: если все это надо выполнить для 2-3 разных учеток, как можно организовать?

8
Добрый день. спасибо за помощь. многому научили и пояснили.

вот возник вопрос:

IF_PICTURE_IN ищет нужный фрагмент с левого верхнего в правый нижний.
а как и чем можно произвести поиск в обратную сторону, справа налево и при первом совпадении попасть в эту точку?

и еще вопрос связан с поиском картинки, но с ожиданием. такой скрипт есть в шаблоне. его применение только в случае если нужная картинка может появится как через 5 сек, так и через 25, чтобы убыстрить работу скрипта. если время появление картинки точно известно стоит его применять ?

9
Общие вопросы / Re: нужна помощь
« on: February 16, 2015, 03:56:24 PM »
Quote
И подпрограммы целесообразно использовать только при многочисленном повторении куска кода.
Это относится только при использовании потоков или вообще?
Я думал, что с  подпрограммами скрипт будет более гибким, можно включать и отключать оперативно часть подпрограмм.
А чем грозит, если подпрограмм будет много?

10
Общие вопросы / Re: нужна помощь
« on: February 16, 2015, 02:32:30 PM »
Можно напишу в Вашей теме, просто меня тоже этот вопрос интересовал.
если я использую подпрограммы, то все это будет выглядеть так:

SUB (sub_1)
...
END_SUB

SUB (sub_2)
...
END_SUB

SUB (sub_3)
...
END_SUB

SUB (реклама)
...
END_SUB

THREAD(main, 1) // главный скрипт
sub_1()
sub_2()
sub_3()
sub_1()
END_THREAD

THREAD(pomexi, 1) // проверка на всплывающие окна
реклама()
END_THREAD



11
Винт, подскажи пожалуйста, как выйти из цикла принудительно, не совсем понял
Quote
Если не найдено на каком-то этапе - зачем продолжать? ведь закончились. Выходи из цикла принудительно

Опишите кратко структуру скрипта, если я хочу использовать sub. В справке
Quote
Однако, описание подпрограммы должно быть раньше (выше) любого из ее вызовов.
Я должен описать все SUB программы, а потом уже скрипт?

12
Спасибо.
А если скриншот со смарта надо "обесцветить" (черно-белый сделать) то как быть? Картинку открыть на компе (полный экран или окно) и применить гетскрин, колормод8?

13
Добрый день.
Спасибо за помощь. Все получается.

Но вот в чем вопрос!!

Предположим есть некоторая локация, в которой надо сделать определенные действия: что-то зарядить, что-то собрать, улучшить (и таких локаций с десяток).
Каждый раз появляются менюшки, кнопки но:
1. каждый раз надо делать поиск этих картинок (но тогда 80% скрипта будет гетскрин, колормод, иф пикче ин ;)
или
2. можно в локации найти какую-то точку отсчета и прибавлять координаты, что бы бот кликал по кнопкам (они всегда бывают только в строго определенных места) ?!

Мысли по методам:
1. посложнее (уж больно много времени занимает обработка картинок, поиск фрагментов) и точнее (если не нашел картинку, сделал скрин и  остановился)
2. может "тупо" "тыкнуть" не туда.

3. Какой легкий редактор картинок можно использовать вместо Виндовского Пайна?
4. к примеру играю на смартфоне, тут в игре появляется редкая картинка, если сделаю скриншот, он потом пригодится в работе или надо обязательно скрины которые делает сам кликер?

14
Спасибо. Попробую.

15
Помогите с картинками. Пытаюсь найти ключевые точки, получается найти только в одной картинке, другие кажущиеся одинаковыми имеют мелкие отличия. Даже в КОЛОРМОД8 и то есть отличия





В других КОЛОРМОДАХ просто жуткая мешанина цветов.


Других кнопок с надписью ПОЛУЧИТЬ в игре под 20 штук. Брать одну букву не получается так как на странице их встречается много. Как проще и надежнее делать поиск ??

Pages: [1] 2