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 - Интересующийся

Pages: [1]
1
Созрел ещё один вопрос.
Нужна структура вот какая.
Нужно запускать корабли, но с соблюдением двух условий одновременно:
В определенной области должна пропасть надпись ОБНОВЛНИЕ, и должна присутствовать ОЖИДАНИЕ (Как-то надо цикл на проверку исчезновения Обновление, потом проверка на появление Ожидания. ) потом выполнить пару действий и запусть второй и третий корабль.

И если можно объясните как легче и проще разбираться с циклами, когда они идут друг в друге, потом ряд действий, и это всё ещё в цикле?!  :o

2
Спасибо.
1 вариант более приемлемый.

3
Всем доброго дня.
После долгого отсутствия созрели новые вопросы.
Так сказать исходные данные:
Играю на пк через эмулятор Нокс в игрулю, основа и доп аккаунт. В игре есть нудные часовые акции. С помощью программы с одним акком справляюсь.
На пк могу запустить парралельно два окна Нокса, с разными учетками. А как организовать бои сразу в двух учетках? Можно ли запускать паралельно два Кликера для каждого эмуля в отдельности? Или после отработки короткого цикла окна #1 переходить в окно#2 и так по кругу?!

4
Я сильно сдвинул окно, достать не могу, и экран не сдвигается вправо

5


самому интересно стало, неужели без физического монитора не возможно вкл его?
 оказалось, это очень просто!!!

тестировал на вин7.
 идем сюда - Панель управления\Все элементы панели управления\Экран\Разрешение экрана , или на рабочем столе пкм, и сразу разрешение экрана.
 жмем кнопку "найти" , появляется мониторчик справа от основного.
 тыкаем на него, и ниже, там где "несколько мониторов: экран не выбран" меняем на " попытаться в любом случае подключиться к: vga".
 жмем применить.
 тыкаем опять на второй (доп. монитор), и меняем там где "несколько экранов: отобразить рабочий стол только на 1" на "расширить эти экраны".
 жмем применить и сохранить изменения.
 меняем разрешение дополнительного монитора на нужное нам (для нас чем больше тем лучше) и применяем изменения.
 готово  :D
[img]http://i.imgur.com/uLi6j3Q.png[/img
[/quote]
Здравствуйте.
Все как у Вас получились, но только не соображу - как перейти на второй монитор, туда задвинул окно, а как перейти?!

6
Обычные вычисления и обычные условия IF.
Пусть (x1, y1, x2, y2) - область в какую должны попасть, с допуском 15 px
Code: (clickermann) [Select]
IF((x > x1-15) & (x < x2+15) & (y > y1-15) & (y < y2+15))
    // то одно
ELSE
    // то другое
END_IF
спасибо, работает

7
Спасибо, попробую.
Для большинства людей - это не обычно  ;D :o
Наш мозг как Ваш не работает.

8
Всем спасибо за помощь и  критику  ;)
Потихоньку начинаю разбираться и понимать в программе.
Заново написал предыдущий код, внимательно смотрел на начало и конец всяких циклов и условий и все заработало  8)

Возник новый вопрос, уже где-то его встречал реализацию, но найти не могу:

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

9
Такая удобная вещь.
Или такой же функционал в Кликерман встроить и чтобы была возможность вкл/выкл (для умных ;) ) или тему закрепить, чтобы была доступна.

10
Винт, я попробую попозже.
Но мне кажется я не так выразился про жизни (молнии). Я могу провести не 2 а более боев. Жизни тратятся если игрок проигрывает, если Победа - то они не трататся

11
Спасибо за помощь - пригодилось, хотя упростил себе задачу, не стал сильно заморачиваться с выборам разных путей полета.

Новый вопрос.

Продолжаю облегчать себе жизнь  :) но не доконца пойму как сделать задуманное, даже блок-схему нарисовал  ;D
Краткое описание:
При заходе в уровень надо проверить на каком уровне нахожусь, 550 максимальный, если 550 - то происходит сброс (СБРОС 1 раз в день) уровня и руками воевать (НАПАДЕНИЕ), поднимаясь по уровням (можно сразу подняться до 550, можно за несколько дней), есть две жизни в день (значек молния). Если жизней нет - то выход.
Если уровень меньше 550 - то НАПАДЕНИЕ, после боя проверка наличия молнии и уровня (так как у меня со вчера мог остаться 549 уровень).
Не могу нормально циклы и условия организовать, можно ли так выпрыгивать и впрыгивать в циклы? Что-то не работает, написал много LOGWRITE чтобы было понятно на каком этапе работает программа, но то потухнет, то циклится жутко  :'(

Так же если чтото не нашлось как грамотно выходить из циклов, блоков?

Code: (clickermann) [Select]
#name "проба сброса"

// объявить и обнулить переменные

// проверка текущего уровня

LOGWRITE ("проверка на наличия 550") //если 550 то происходит сброс вниз для повторного прохода
WAITMS(200)

GETSCREEN (0,0, 1200,720)  // ищем 550
COLORMODE (8)
IF_PICTURE_IN (600,60, 850,150, "dekster\beskonechnost\550.bmp", -1, 90)
   LOGWRITE ("550 найдена")
   WAITMS(200)
   
   
   // сброс набега
   
   skip: sbros
   
   GETSCREEN (0,0, 1200,720)  // ищем СБРОС
   COLORMODE (8)
   IF_PICTURE_IN (0,0, 1200,720, "dekster\сброс.bmp", -1, 90)
      LOGWRITE ("сброс найдена")
      WAITMS(200)
      LCLICK($_return1, $_return2)
     
      // сброс должен быть только 1 раз в день
     
     
      WAIT(RND(3,5)
     
      GETSCREEN (0,0, 1200,720)  // ищем Галочку (подтверждение СБРОСА)
      COLORMODE (8)
      IF_PICTURE_IN (0,0, 1200,720, "dekster\YES.bmp", -1, 90)
         LOGWRITE ("ГАЛОЧКА найдена")
         WAITMS(200)
         LCLICK($_return1, $_return2)
         WAIT(RND(3,6)
         
         GETSCREEN (0,0, 1200,720)  // ищем ОГРАБИТЬ
         COLORMODE (8)
         IF_PICTURE_IN (0,0, 1200,720, "dekster\ОГРАБИТЬ.bmp", -1, 90)
            LOGWRITE ("ОГРАБИТЬ найдена")
            WAITMS(200)
            LCLICK($_return1, $_return2)
            LOGWRITE ("жду окончание набега")
            WAIT(RND(80,90)
           
            GETSCREEN (0,0, 1200,720)  // ищем ПОЛУЧИТЬ НАГРАДУ
            COLORMODE (8)
            IF_PICTURE_IN (0,0, 1200,720, "dekster\слот.bmp", -1, 90)
               LOGWRITE ("Получить найдена")
               WAITMS(200)
               LCLICK($_return1, $_return2)
               WAIT(RND(3,5)
               
               GETSCREEN (0,0, 1200,720)  // ищем Подтвердить
               COLORMODE (8)
               IF_PICTURE_IN (0,0, 1200,720, "dekster\Подтвердить.bmp", -1, 90)
                  LOGWRITE ("Подтвердить найдена")
                  WAITMS(200)
                  LCLICK($_return1, $_return2)
                  WAIT(RND(3,5)
               else
                  LOGWRITE ("Подтвердить не найдена")
               END_IF
            else
               LOGWRITE ("Получить не найдена")
            END_IF
         else
            LOGWRITE ("ОГРАБИТЬ не найдена")
         END_IF
      else
         LOGWRITE ("Галочка не найдена")
      END_IF
   else
      LOGWRITE ("сброс не найдена")
   END_IF // не нашел набег
else
   LOGWRITE ("550 не найдена")
END_IF // не нашел 550



// нападение

skip: napadenie

$check1 = 0
WHILE($check1 = 0)
   
   
   LOGWRITE (" можно бить противника и идти вверх")
   
   WAITMS(50)
   LCLICK(491,461) // тыкнуть на кого нападать
   WAIT(RND(7,9)
   
   GETSCREEN (0,0, 1200,720)  // ищем  сражение
   COLORMODE (8)
   IF_PICTURE_IN (0,0, 1200,720, "dekster\beskonechnost\srazhenie.bmp", -1, 90)
      LOGWRITE ("сражение найдена, жму")
      WAITMS(200)
      LCLICK($_return1, $_return2)
      WAIT(RND(5,7)
     
      LOGWRITE (" ищу пропустить")
     
      // попробовать ожидать картинку и сразу нажать, уменьшив время последнего ожидания
     
      // $check = 0
      // WHILE($check = 0)
      //   GETSCREEN
      //   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      //      $check = 1
      //      LCLICK($_return1, $_return2)
      //      WAITMS(100)
      //   ELSE
      //      WAITMS(50)
      //   END_IF
      // END_CYC
     
      //
     
      GETSCREEN (0,0, 1200,720)  // ищем  пропустить
      COLORMODE (8)
      IF_PICTURE_IN (0,660, 200,720, "dekster\beskonechnost\propustit.bmp", -1, 90)
         LOGWRITE (" пропустить найдена")
         LCLICK($_return1, $_return2) // картинку видит, но не всегда получается нажать
         WAITMS(50)
         LCLICK($_return1+10, $_return2+10)
         WAIT(RND(5,7)
         
         LOGWRITE (" ищу ДАЛЕЕ >>")
         GETSCREEN (0,0, 1200,720)  // ищем  ДАЛЕЕ
         COLORMODE (8)
         IF_PICTURE_IN (0,0, 1200,720, "dekster\beskonechnost\dalee.bmp", -1, 90)
            LOGWRITE ("ДАЛЕЕ найдена")
            WAITMS(150)
            LCLICK($_return1, $_return2)
            WAIT(RND(5,7)
           
            LOGWRITE (" ищу молнии")
            GETSCREEN (0,0, 1200,720)  // проверка наличия ходов
            COLORMODE (8)
            IF_PICTURE_IN (0,0, 1200,720, "dekster\beskonechnost\molniya.bmp", -1, 90)
               LOGWRITE ("МОЛНИЯ найдена, можно бить")
               WAITMS(150)
               
               GETSCREEN (0,0, 1200,720)  // ищем 550
               COLORMODE (8)
               IF_PICTURE_IN (0,0, 1200,720, "dekster\beskonechnost\550.bmp", -1, 90)
                  LOGWRITE ("550 найдена")
                  WAITMS(200)
                 
                  GOTO(sbros)
                 
               else
                  LOGWRITE ("550 не найдена")
               END_IF
            else
               
               $check = 1
               LOGWRITE ("МОЛНИЯ не найдена, ходы закончились")

GOTO(napadenie)

END_CYC
           
         END_IF
      else
         LOGWRITE ("ДАЛЕЕ не найдена")
      END_IF
   else
      LOGWRITE ("сражение не найдена")
   END_IF
else
   LOGWRITE ("сражение не найдена")
END_IF







// конец нападения

HALT

/////////////////////////////

12
Да, танцор я не важный, особенно в посудной лавке ;)
Спасибо, буду пробовать, но через неделю, акция переодическая.

Я читаю конечно форум, но не играя в те игры, к котрым есть скрипты, не совсем понятен алгоритм, и как его применить к своей ситуации.

13
Сейчас пытался протестировать - наступил на одни грабли  :'(
Не все так просто как казалось.
Играю на NoxPlayer.
Проблема такая.
чтобы отправить корабли на дальнюю точку надо сдвинуть карту вправо, выбрать нужную точку и подтвердить.
Но название точек появляется если только держать нажатую левую кнопку мыши.
Таким образом надо:
Найти участок свободный от активных игровых элементов, нажать на этих координатах левую кнопку мыши, сдвинуть вправо до определенной точки, чтобы появилась крайняя левая точки, не отпуская мышь сделать скриншот, для определения координат точки.

Code: (clickermann) [Select]
MOVE(510,441)
WAITMS(50)
LDOWN(510,441)
WAITMS(50)
MOVE(944,280)
WAITMS(50)
GETSCREEN (0, 500, 200, 630)
SCREENSHOT
LUP(944,280)
С горем пополам двигает, само окно Кликера дергается и на скриншотах нет названий точек.




14
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "DEAD.bmp", -1, 100) // ожидание когда убьют
      $check = 1
      WAIT(900) // как только появиться надпись DEAD ожидание лечения 15 мин //Будет ожидание 15 минут внутри цикла??
     
      $check = 0
      WHILE($check = 0)
         GETSCREEN
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ОТДЫХ.bmp", -1, 100) // ожидание окончания лечения
            $check = 1
            LCLICK($_return1, $_return2) // запуск на точку
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
     
     
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Это должно быть как-то так?
И все это должно быть ещё в цикле, так как к примеру за 10 часов должно повториться от 10 до 20 раз.

15
Раньше пользовался Кликером для не большой автоматизации.
Сейчас вот подумываю сделать бот для одной локации одной игры ;)
Но не знаю, как соединить и что использовать: поиск картинки или ожидание? И как всё это дело зациклить.
Смысл такой.
При заходе на локацию бот должен проверить текущее состояние.
Оно может быть в 3х состояниях:
Марш (я двигаюсь к цели) ничего делать не надо, это или я запустил в полёт или предыдущее срабатывание скрипта (лететь могу час , а могу и 20 минут, какие враги будут на пути)
Умер - меня убили надо отдохнуть 15 минут и лететь снова.
Отдых - выздоровел после смерти, стою на базе (хотя бывает что я долетел до другой базы и не умер, но такой вариант редкий)
Все эти состояния отражаются в верхнем левом углу. Сделать какртинки не трудно.
Не знаю, что использовать, и в какой последовательности?
Как вариант
Поиск или Ожидание надписи Умер, ожидание 15 минут или
Опять поиск или Ожидание появления надписи Отдых и запуск в полёт. И всё это зациклено,  к примеру на 12 часов, пока сплю, работаю.

А вот и вторая хотелка ;)
Выше писал, что могу лететь час а могу и 20 минут. У меня есть как у богатыря выбор: лететь на лево, прямо, направо (ну или точка N1, N2, N3). Можно как сделать, что если время полета, к примеру 25 минут, то следующий полёт происходит в следующую точку, отличную от предыдущего полета, и точки меняются по кругу, если мало время полета? Чтобы лететь по, возможно более легкому пути, так как противник мигрирует. :o




Pages: [1]