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

Pages: [1] 2
1
Ну коры передалать над я там напутал пока в торопях писал..эт понятно сделаю.
Вот теперь над мне с циклами и подпрограммами разобраться. Какие функции для этого используют...можете подсказать как должна выглядить схема...сделаю под себя

2
Так сначала находим координаты первого пикселя первой стрелки
Code: (clickermann) [Select]
GETSCREEN
   COLORMODE(7)
IF_PIXEL_IN(372,333, 917,410,  16777215)
WAITMS(100)

Потом получается от полученного пикселя (я так понимаю это будет первый попавшийся левый верхний) указываю зону поиска и сравниваю с заранее подготовленным изображением. Так ?

Code: (clickermann) [Select]
IF_PICTURE_IN ($_return1 -45, $_return2 -35, $_return1 +96,  $_return2 +17, "verh.bmp", 0, 100)
      KEYPRESS(#W)
     
      WAITMS(100)
   else
   IF_PICTURE_IN ($_return1 -45, $_return2 -35, $_return1 +96,  $_return2 +17, "niz.bmp", 0, 100)
         KEYPRESS(#S)
         
         WAITMS(100)
      else
         IF_PICTURE_IN ($_return1 -45, $_return2 -35, $_return1 +96,  $_return2 +17, "levo.bmp", 0, 100)
            KEYPRESS(#A)
           
            WAITMS(100)
         else
            IF_PICTURE_IN ($_return1 -45, $_return2 -35, $_return1 +96,  $_return2 +17, "pravo.bmp", 0, 100)
               KEYPRESS(#D)
               
               WAITMS(100)
               
            END_IF
         END_IF
      END_IF
   END_IF
END_IF

3
Можно конечно попробывать нажать любую стрелку..и поиск картинки уже нажатой (она становится синей) если нет то следующую и поиск
потмо определить её начальным изображением и далее искать следующую со смещением.

Можете тогда скинуть пример как искать со смещением..попробую сделать так


Так. Вот посчитал количество пикселей каждой стрелки (в игре стрелки выглядят иначе)

colormode (7)

Направление   Цвет         Кол-во  Количество в правильно нажатой стрелке
право             16777215  325       наж 337
лево               16777215  315       наж 328
низ                 16777215  322       наж 335
верх               16777215  318       наж 331

Подскажите что сделать следующим пунктом. У меня проблема я еще не до конца понимаю всех команд. Справку перечитал но есть моменты в ваших примерах о которых в справке не написано, или не очень интуитивно понятно.
Сори если досаждаю своими вопросами...но очень хочется разобраться в происходящем.

4
Всё гораздо проще.
 Обычный поиск картинки в области появления первой (4 картинки), затем правее найденной на размер мертвой зоны. Так до момента пока не будет найдено. По ходу поиска прожимать с паузой.
Можно еще вариант... Сканпикчуре 4 раза по разным стрелкам. Затем все 4 массива в 1 общий добавив к каждой паре координат направление. Массив отсортировать по увеличению икс. Всё, схема прожимов есть.
Да ещё вагон вариантов.

Область появления первой картинки меняется постоянно в зависимости от количества. (Изображение по центру) если 10 стрелок то левее, если 5 правее.
Или можно что бы он определил любую из первой стрелок за начальную картинку ?
как говорится; Всё уже украдено до нас.....http://crapware.aidf.org/forum/index.php?topic=1768.0 :D
Что то мой мозг вскипел. Ща еще повникаю конечно

5
Здравствуйте
Есть изображение:


Нужно нажать клавиши на клавиатуре в направлении соответствующем изображению.
Порядок каждый раз разный.

Сначала думал над вариантом разделить картинку на блоки для сканирования и поочередного определения с соответствующим нажатием.
Но количество стрелок варьируется от 5 до 10, соответственно количество блоков может быть разное и они смещаются.
Плюс ко всему скрипт должен отрабатываться довольно быстро. на все про все около 10-15 секунд

Так же после правильного нажатия стрелка меняет цвет в течении 1 секунды.
При ошибочном нажатии сбрасывается на самое начало.

Подскажите как быть ?

6
спасибо
подскажите как сделать
есть картника с последовательностью букв

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

7
Посидел, полазал по форуму. Правильно делаю команды ?
Может можно все это оптимизировать ?

Code: (clickermann) [Select]
// Определение изображения и направление на необходимое действие

GETSCREEN
IF_PICTURE_IN (762, 354, 1138, 669, "1.bmp", 8455077, 100)
   GOSUB(1)
else
   IF_PICTURE_IN (762, 354, 1138, 669, "2.bmp", 8455077, 100)
      GOSUB(2)
   else
      IF_PICTURE_IN (762, 354, 1138, 669, "3.bmp", 8455077, 100)
         GOSUB(3)
      else
         IF_PICTURE_IN (762, 354, 1138, 669, "4.bmp", 8455077, 100)
            GOSUB(4)
         else
           
            HALT
         END_IF
      END_IF
   END_IF
END_IF


ELSE
HALT

sub(1)
// Необходимая задача
END_SUB

sub(2)
// Необходимая задача
END_SUB

sub(3)
// Необходимая задача
END_SUB

sub(4)
// Необходимая задача
END_SUB

8
все спасибо разобрался....и чего я тот цвет вписал...тупняк

Можете тыкнуть где почитать как делать ссылки на сценарии в зависимости от найденной картинки ?
Справка справкой..но когда есть пример разобратся легче.
И еще..не нашел на главной Ссылки на онлайн справку...было бы полезно её там увидеть )

9
Либо лыжи не едут либо я туплю.
Есть картинка 1
Обрезал, закрасил фон.
и не находит
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", 1116674, 90 )
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

10
Здравствуйте. Подскажите:
Надо определить изображение с разными текстами, но задний фон постоянно меняется.
Как сделать прозрачность или можно замазать все ненужное вокруг и указать цвет исключение ?
Как я понял кликер с форматом png не работает.
Можно конечно использовать colormode но все же удобней было бы с прозрачностью


Так же подскажите как правильней сделать
1) Кликаем по 2м известным картинкам
2) кликаем по известному цвету пикселя
2.1 если зеленый то продолжаем работу.
2.2 если красный то остановить,
2.3 если не найден то перетянуть окно, и снова поиск.
2.4 если после 3х перетягиваний окна не найдено, то остановить работу сценария)
3) Наводим мышку на заданную координату
4) Определяем появившуюся картинку с прозрачным фоном
5) Определяем содержание текста и в зависимости от этого запускаем сценарий 1, 2, 3, 4, или 5.
6)Сценарии разного содержания с этим думаю сам разберусь.
7)Далее в конце каждого сценария проверяем выполнено ли оно (находим картинку со словом)
7.1 Если нет то продолжаем его работу еще 1 мин \ Некоторые сценарии надо будет повторить
7.2 Если выполнено то клик по 2м известным координатами и заново с пункта 2
8) Выполнить разных сценариев в сумме 150 раз
9) Вариант выполнения сценариев полтора часа.


 


11
как сказал уже Джонни, есть более насущные задачи чем exe.  Ассоциация и так настраивается и никто не мешает запускать скрипты даблкликом.
Все же я спрашивал у Джонни.
 т.к ответ был дан более полугода назад, возможнон насущные задачи уже были решены и дело дошло до компиляции.

12
Подниму тему)

Скажите пожалуйса, планируется все же возможность компилировать готовые скрипты в exe ?
Кликер просто замечательный, но с компиляцией будет бриллиант  ::)

13
Вот так вот правильно ? )
Блин, Здоровский Кликер  ;D

Code: (clickermann) [Select]
$a = 0
FOR($a,$a<15)
   GETSCREEN
   IF_PIXEL_IN(10,10, 100, 100, цвет)
         LCLICK($_return1+70, $_return2)
      WAIT(1)
   ELSE
    LCLICK(10,10)
   WAIT(1)
         WAITMS(50)
   END_IF
END_CYC

LCLICK(10,10)
WAIT(2)
LCLICK(10,10)
WAITMS(2)

INC($stop,1)
IF($stop = 50)
   HALT
END_IF

Теперь новая идея )
Может ли кликер определять число с экрана.
Например...что бы работа кликера остановилась когда количество золота в игре будет меньше 1565 например ?

И нельзя ли сделать на основе скрипта отдельную программу что бы было окно где можно ввести переменные (координаты поиска, количество попыток или количество времени работы, пуск и стоп) Что бы открыть, ввести свои данные и пользоваться.
Так сказать нужен инструмент для создания графической оболочки под собственный скрипт.

Так на счет цифр нашел тему http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571

единственное как отредактировать команду stop, если найденное значение будет меньше 50000

14
Вот пробывал так, все работало, только больше 15 раз. Возможно он 15 раз искал пиксели и 15 раз кликал если не находил..не считал...но точно больше 15.

Рабочий вариант получился таким

Code: (clickermann) [Select]
$count = 0
WHILE($count < 15) // цикл будет крутиться пока функция IF_PIXEL_IN не найдет пиксел 15 раз
   GETSCREEN
   IF_PIXEL_IN(10,10, 100, 100, цвет)
      INC($count,1)
      LCLICK($_return1+70, $_return2)
      WAIT(1)
   ELSE
LCLICK(10,10)
   WAIT(1)
   INC($count,1)
      WAITMS(50)
   END_IF
END_CYC

LCLICK(10,10)
WAIT(2)
LCLICK(10,10)
WAITMS(2)


P.S Глупый вопрос ) Как вставить Код в Форум ? )

15
Так теперь у меня новая идея фикс.
Немного перерабатываю кликер.
Хочу что бы он искал пиксель и кликал на 70 пикселей правей него (с этим разобрался, к координате Х дописал +70)
А вот как сделать условие:
Если необходимый цвет не найден то кликать по другой заданной координате?

Так разобрался после команды ElSE добавил LCLICK (x, y)
Но теперь команда не выполняется 15 раз....я так понимаю надо переместить значение INC($count,1)..но что то не пойму куда
Ага..не переместить а добавить еще раз после значения LCLICK...все правильно сделал или можно умней ?

Pages: [1] 2