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 - Loskutok

Pages: [1]
1
Code: [Select]
#name "New Script"

$date = "ingo_"$_time_h - $_time_m
$date2 =  "__"
LCLICK(1021,877)          //
WAIT(1)
GETSCREEN(206,709, 582, 1017)
SCREENSHOTEX(206,709, 582, 1017, $date-, 1)
WAIT(65)
LCLICK(1159,106)//
WAIT(5)     
Код делает скрины заданной области и сохраняет в файл с именем дата час и минута и 0001
типа "ingo_22-24-0000" в jpeg.
Но очень много лишних одинаковых картинок выходит.

Подскажите пожалуйста, как-то в такой код можно добавить условие, чтобы скрин новый сохранялся только в том случае, если были изменения в отличие от последнего сделанного?

2
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: November 28, 2022, 06:40:08 PM »
Как уживается это
с этим?
Спасибо.
Про "один проход"  - имел в виду то, что там была отдельная конструкция кода для каждого окна, нагромождение, что усложняло,везде цифры прописывать постоянно и так далее. но зато поиск был в маленьком поле, а не во всё экране ( это же лучше для нагрузки )
Теперь же  один, но в большом поле.

Quote
Пусть крутится по кругу спокойно.
вот,  как раз для круга добавил  цикл:

Code: [Select]
WAITMS(3000)
LCLICK(100, 300)//клик
LCLICK(100, 400)//клик
LCLICK(100, 500)//клик

   FOR($k=0, $k < 500)

$found = 0      
WHILE($found = 0) //цикл ищем  картинку во всех окнах
   GETSCREEN
    COLORMODE(0)
         SCREENSHOTFIX(1,1, 1,1, "1.bmp")
   IF_PICTURE_IN(100,200, 500,1000, "2.bmp", -1, 99) // поиск изображения
           print("Нашли картинку", $_return1, $_return2)   //принт
      move($_return1, $_return2) // навели на неё мышь
      waitms(10)
      LCLICK($_return1, $_return2)//клик
      waitms(500)

   END_CYC
 
   ELSE // ЕСЛИ НЕ НАЙДЕНА
         print("Не нашли кнопку")
         $found = 1  // остановили цикл поиска

      WAITMS(4000)

      END_IF // конец условия
      end_cyc
вроде правильно?
только я не пойму, почему проход в 500 раз не соответствует действительности по времени.
По логике же, этот цикл поиска картинки, должен будет повториться  500 раз.
Исходя из наших задержек  - это 250000 мс, что должно соответствовать 250 секундам.
И только после этого , ежели не найдена картинка, обождать 4 секунды и перейти в режим трёх кликов.(10мс я намеренно упустил)

По факту - проход  поиска цикла осуществляется по времени раз в 3-5 меньше, вместо 250 секунд может в районе 100 выходит..Почему не соответствует?

3
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: November 26, 2022, 09:33:42 PM »
подскажите пожалуйста, по теме этой.
Алгоритм
1. 5 окон браузера  развёрнуты в маленьких окошках.
2. после нажатия на кнопку запуска в каждом из окон, через N промежуток времени выскакивает картинка
(N - промежуток разный может и 500мс а может и 3-10 секунд).
3. пытаюсь просто найти её и нажать в каждом из окон.
4. картинка появляется кратковременно на N секунд и пропадает потом
5. если не нашли то перезапуск по новой.

По отдельности, с прописанными координатами для каждого поиска - всё работает ищет нажимает.
Чтобы упросить,чтобы скрипт был короче по коду, и постоянно не переписывать новые координаты -
 оставлен один проход поиска, и задал бОльшее поле поиска картинки для всех 5 окон.
 где ошибка?



Code: [Select]
WAITMS(3000)
LCLICK(100, 300)//клик
LCLICK(100, 400)//клик
LCLICK(100, 500)//клик
LCLICK(100, 600)//клик
LCLICK(100, 700)//клик
$found = 0      
WHILE($found = 0) //цикл ищем  картинку во всех окнах
   GETSCREEN
    COLORMODE(0)
         SCREENSHOTFIX(1,1, 1,1, "1.bmp")
   IF_PICTURE_IN(100,200, 500,1000, "2.bmp", -1, 99) // поиск изображения
           print("Нашли картинку", $_return1, $_return2)   //принт
      move($_return1, $_return2) // навели на неё мышь
      waitms(10)
      LCLICK($_return1, $_return2)//клик
      waitms(500)
   ELSE // ЕСЛИ НЕ НАЙДЕНА
         print("Не нашли кнопку")
         $found = 1  // остановили цикл поиска

      WAITMS(4000)

      END_IF // конец условия
      end_cyc

по идее должен:
 найти кликнуть, потом снова искать в области и кликнуть, цикл же задан. в общем, прокликивать постоянно все картинки  в области.
И только если не находит - поиск картинки выключается, остановил цикл поиска и вернутся к кнопкам запуска. Где ошибка?
область поиска не большая, проверял, если просто искать одну картинку в большой области - всё нормально.

4
Общие вопросы / Re: IF_PICTURE_IN - Для новичков
« on: November 05, 2022, 06:27:54 PM »
IF_PICTURE_IN (3380,1947, 3746,2025, "exit_2.bmp", -1,
вопрос такой, а если скрипт куда-то портируется где иное разрешение, или  же область поиска меняет координаты.
как-то можно универсальную "привязку" сделать, какие варианты есть? спасибо

5
Loskutok, ну можно сделать так, если отображается название карты(или характерные пиксели), анализируем его, потом анализируем точку старта и потом уже грузим "вэйпоинты". Самое большое опасение у меня по поводу сдвигов врагами, если нельзя понять текущие координаты игрока, трудно определить его смещение. Когда не видел игры ничего не понятно, 2д или 3д?
Хорошо, если брать не гонки, а конкретный пример, чтобы было лучше для понимания, там по сути тоже самое:
Игра  танки:
- при старте несколько точек респавна,
- возможен спавн в нескольких позициях,координатах.
- задача, например, доехать до чужой базы ( либо за союзником, но выходит из-за смещения мыши и надобности крутить всё время "головой" такое еще сложнее. Так что проще тупо проехать по определенному вейпонту видимо )

Если с картой теоретический аспект ясен, то координаты точки респа все время разные.
Если он ошибется - то просто упрется в текстуру/стену

6
В идеале, если оппоненты не могут вас толкать или как-то влиять на вас то можно. Какая игра? Скиньте название.
Это скорее теоретический вопрос... Толкать могут, но суть основная в том, что точки старта, позиции разные, то есть при одном создании такого вейпонта, когда точка старта в другой раз поменяется - этот вейпонт будет уже неактуален, ибо позиция машины сменилась и он просто может упереться в стену, не войти в поворот..

7
Всем привет...
Есть гонки, с разными картами/препятствиями, другими игроками.
Нужно проехать трассу.
Учитывая что: карты разные. Точки старта разные.
Из своих соображений:
1. Анализировать название трассы ( ждать картинку ) -> после, исходя из полученного результата, запускать один из заранее подготовленных вариантов нажатий для прохождения, некий "Вейпонт".
Но в связи  с разными точками старта ( они конечно в рамках площади какого-то квадрата ),разным ракурсом при старте - попросту может упереться в стену

2. Анализировать цвет ( ник ) оппонентов и ехать за ними. Ники разные, то есть, учитывать только цвет, а их ( оппонентов )много , видимо будет путаница. Плюс, чтобы  корректно за ним ехать, нужно ещё и крутить мышкой, иначе будет потеря обзора при первом же повороте и как следствие потеря цвета и стоп.

3. До других вариантов не додумался.

Можно ли средствами кликермана реализовать как-то прохождение трассы? Вейпонты..

8
Либо второй вариант ( может проще будет для моей головы )
Скрипт поставлен на постоянное бесконечное выполнение одних и тех же кликов. Более-менее быстро.
Нужно в этот же скрипт "внедрить" другие действия, но которые будут выполняться только в определенное время или через определенный промежуток времени..Например раз в час. Если wait использовать не подойдет, тк полагаю конфликтовать между собой будут, ибо основные действия выполняются каждые несколько секунд,  а новые нужны на одноразовое выполнение раз в час.
В общем, как проще будет, простыми словами поясните пожалуйста.

9
День добрый, подскажите пожалуйста, такой вопрос:
Собственно есть простой скрипт,  например "скрипт_1"
Он поставлен на постоянное выполнение бесконечное в приложении.
Как мне сделать так, чтобы  в определенное время скрипт_1 остановился,
После чего запустился скрипт2, на одноразовое выполнение.
После выполнения скрипт_2 останавливается.
Запускается вновь скрипт_1 на бесконечное.
Можно такое просто сделать?
То далёк от этих дел, хватило только на запись повтора действий мыши..
Спасибо.



Pages: [1]