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

Pages: [1]
1
Бот для kenshin impact
Другие кликеры типа Keyran записывают в относительных координатах в других не работает
Пример;
KeyUp 68 1
Delay 217 ms
KeyUp 225 1
Delay 647 ms
MoveR 1 0
Delay 3 ms
MoveR 1 -1
Delay 3 ms
KeyDown 68 1
Но есть проблемы движение мыши через раз возвращается в ту же точку и других кликеров функционал маловат
То есть кликер сдвигает на пару пикселей мышку, что кстати и подтверждает кликерман координатами(работает даже а окне, но работает коряво mover(1000,0) мышь вниз, а также mover(-1000,0) не возвращает обратно).

В общем надо записать сценарий с mover с добавлением переменной пинга, которая будет меняться при воспроизведении

Еще что то непонятное с пингом в игре и логом кликермана
Сервер удаленный 8.209.64.31:22101, локальный 192.168.1.10
Проверяю
$ms = $_ms
$a = HTTPGET ("8.209.64.31:2210")
LOGWRITE ("Пинг: ", $_ms-$ms)
HALT
К логах 17-29 в игре 40-45

2
Спасибо, понял что файл ini должен лежать в корневой папке программы, а не в date, программа похоже не переваривает корректно другое расположение.

3
INIWRITE ("D:\Torrent\cm413_32\Clickermann v4.13 x32\data\test.ini", "tik", 30, [hotkey] )
Такое ошибку интерпретации строки выдает с квадратами вместо кавычек
INIWRITE ("test.ini", "tik", 30, [hotkey] )
Почему то ничего не меняет
INIREAD тоже не читает
И что я делаю не так, вроде все правильно. Может с виндой что то не то
В файле  test.ini
[hotkey]
tik=50

4
В общих чертах наверное да.
Шаг 1. Автокликер кликает мышкой, копирует тект в буфер обмена сверяется с базой.
Если есть 2 совпадение (допустим нашло +48% to Cold Resistance и +45% to Lightning Resistance) переход к шагу 3
        если нет ищет 1 совпадение (допустим +48% to Cold Resistance) переход к шагу 2
               если нет преход к шагу 1
Шаг 2. Кликаем мышкой, сверяемся с базой
Если есть 2 совпадение (допустим нашло +48% to Cold Resistance и +45% to Lightning Resistance) переход к шагу 3
        если нет преход к шагу 1
Шаг 3. Кликаем мышкой, сверяемся с базой
Если есть 3 совпадения остановка (допустим нашло +45% to Cold Resistance и +45% to Lightning Resistance и 15% increased Rarity of Items found)
        если нет переход к шагу 1

Фишка в том что меня устроят значения выше +45% to Cold Resistance и +45% to Lightning Resistance и 15% increased Rarity of Items found, но не ниже. То есть в диапазоне 45-50 и 15-20 соответственно.
Различных модификатор довольно много, пример для ботинок

Дополнительная сложность, если присмотреться к картинке есть позиция "52% increased Armour" и "41% increased Armour 17% increased Stun and Block Recovery" - в буфер обмена сохранилось как "93% increased Armour", т.е.
В шаге 1
если появляется "17% increased Stun and Block Recovery" и "93% increased Armour" от 41 до 60 щаг 2
        если "100% increased Armour" переход к 3 шагу.

Так же хотелось бы ролл на желаемые модификаторы до шага 3.
Я думаю логику отдать exel, в нем результаты отобразить в цвете, от туда уже подхватывать шаги.
Пока застрял на проверки истины, не как не пойму рядом считает цифры, а в таблице полученные значения не хочет. Отсоединить значения от текста получилось макросом.

5
Path of Exule поддерживает копипаст вещей в текст  свойств вещей в буфер обмена получает что то в таком виде:
Rarity: Rare
Ghoul Goad
Titan Greaves
--------
Armour: 465 (augmented)
--------
Requirements:
Level: 68
Str: 120
--------
Sockets: R-B
--------
Item Level: 85
--------
93% increased Armour
8% increased Rarity of Items found
+32% to Fire Resistance
+48% to Cold Resistance
+45% to Lightning Resistance
17% increased Stun and Block Recovery

Надо заставит сверяться с большим списком(массивом) последнии абзацы.

Модификации можно менять сферами в сундуке, обычно все начинается со сферы превращения которая добавляет 1-2 мода, если не устравает сфера перемен которая изменяет вещь на 1-2 мода, если все устраивает делается еще шаг на 3 мод сферой царей. Если не устраивает, чистится и по новой, дальше лучше процесс делать ручками, но до этого момента может занять очень много времени. Особенно обидно если не впопыхах не уследишь и уничтожишь вожделенный рол.
Цифры разбросаны в диапозонах "tier", который и надо ловить. Также бывает мод в две строки 41% increased Armour и 17% increased Stun and Block Recovery, отдельный 52% increased Armour намного больше.

Что то мне подсказывает что обработка результатов не задача автокликера или все же есть какая-то возможность?
Тогда идея засунуть данные в эксел, и сделать проверку по совпадению из массива и количества этих совпадений. В итоге какая то ячейка будет менять цвет в зависимости от условий.
Так то мне процесс понятен, кроме одного, я не знаю как работать с числами в диапазоне с текстом. Походу стоит как то вытаскивать из одной ячейки цифры и текст.

7
можно конечно еще извратиться и дописать бота, раз есть массивы и потоки
Сейчас в Еве мини игра, пока летишь играешь. Игра про поиск планет по спадам светового излучения посредством перекрытия этими планетами светил. По факту горизонтальный ломаный амплитудный график, сезонные большие отклонения светила можно усреднить кнопкой, остаются мелкие, имеющие наверное какое-то усредненное значение, ну и наши отклонение усреднение отклонения на одном или нескольких участках с определенным шагом.
Ну и мои идеи, надо как то извратиться и поделить картинку на массив с шагом, считаем пиксели, делим на количество  участков, вставляем погрешность, считаем кол-во участков которые больше, если один - выделяем, если больше одного, условие на одинаковый шаг, с погрешностью - выделение.
Вообщем будет чем на следующий недели поломать голову, ну хотя бы с математической точки зрения.

8
В общем то что получилось, рабочий бот для Eve online, курьерские миссии
П.С. Окно агенства и окно склада должны быть открыты.
Code: [Select]
//=============================================
sub(qwer)
   LCLICK(944,17)  // Клик на окно
   WAIT(3)
   MOVE(1551,264)
   WAIT(3)
   LCLICK(1551,264)  // клик на чтроку оверлея
   WAIT(3)
   
   skip1:
   $check_yellow = 0
   WHILE($check_yellow = 0) // пока есть  желтый
      GETSCREEN
      COLORMODE(7, 655,46, 1717,1011)
      LOGWRITE ("Проверяем желтый варп")
      IF_PIXEL_IN(1511,257, 1530,270, 8388607, 8388350, 8388093) //Проверям желтый пиксель
         LOGWRITE ("Желтый варп найден")
         MOVE(1574,134)    //если есть: действие мышью
         WAIT(4)
         LCLICK(1574,134)
         WAIT(15)
         
         $check_blue = 0
         WHILE($check_blue = 0) // пока есть  синий ничего не делаем
            GETSCREEN
            COLORMODE(7, 890,970, 910,990)
            LOGWRITE ("Проверка синего")
            $Найденый цвет = PXL(893,984)
            LOGWRITE ("Найденый цвет:", $Найденый цвет)
            IF_PIXEL_IN(893,984, 8355711)
               LOGWRITE ("Ожидание")
               WAIT(6)
            ELSE
               $check_blue = 1  //если нет:  возврат к проверке желтого пикселя
               LOGWRITE ("Синий не найден")
               WAIT(4)
            END_IF
         END_CYC
         
      else
         $check_yellow = 1 //Если нету: конец кольца
         LOGWRITE ("Желтый варп не  найден")
      END_IF
   END_CYC
   
   
   GETSCREEN
   COLORMODE(7, 1333,409 , 1482,460)
   LOGWRITE ("Проверка входа в док")
   IF_PICTURE_IN (1333,409 , 1482,460, "Enter dock 7.bmp", -1, 90)
      MOVE($_return1, $_return2)
      WAIT(2)
      LCLICK($_return1, $_return2)
      LOGWRITE ("Вход в док")
      WAIT(15)
   ELSE
      LOGWRITE ("Вход в док не найден")
   END_IF
   
   $check_pic_2 = 0
   WHILE($check_pic_2 = 0)
      GETSCREEN
      COLORMODE(8, 1623,167 , 1708,215)
      LOGWRITE ("Проверка окончания стыковки")
      IF_PICTURE_IN (1623,167 , 1708,215, "Exit 8.bmp", -1, 80)
         $check_pic_2 = 1   //  если есть: ничего не делаем
         WAITMS(100)
      ELSE
         WAIT(15)  //Если нет: ждем
         LOGWRITE ("Стыковка не окончена")
         goto(skip1)
         
      END_IF
   END_CYC
   LOGWRITE ("Конец стыковки")
end_sub
//=============================================

LOGWRITE ("Начало скрипта")
LCLICK(867,22)  // 15128779

MOVE(754,122)
WAIT(1)
LCLICK(754,122)  // 3156759

GETSCREEN
COLORMODE(8, 45,45, 1700,1000)
LOGWRITE ("Проверка присутствия агента на стации")
IF_PICTURE_IN (1333,409 , 1482,460, "Talk 8.bmp", -1, 98)
   LOGWRITE ("Агент на базе - начать разговор")
   MOVE($_return1, $_return2)
   WAIT(1)
   LCLICK($_return1, $_return2)
   WAIT(1)
   
   GETSCREEN
   COLORMODE(8, 72,43, 1766,1018)
   LOGWRITE ("Проверка запросить задание")
   IF_PICTURE_IN (72,43, 1766,1018, "Requiest 8.bmp", -1, 100)
      LOGWRITE ("Удачно")
      WAITMS(100)
      MOVE($_return1, $_return2)
      WAIT(2)
      LCLICK($_return1, $_return2)
      WAIT(3)
   else
      LOGWRITE (Не найдено")
   END_IF
   
   GETSCREEN
   COLORMODE(8, 72,43, 1766,1018)
   LOGWRITE ("Проверка просмотрара заданий")
   IF_PICTURE_IN (72,43, 1766,1018, "Look mission 8.bmp", -1, 100)
      LOGWRITE ("Удачно")
      WAITMS(100)
      MOVE($_return1, $_return2)
      WAIT(2)
      LCLICK($_return1, $_return2)
      WAIT(3)
   else
      LOGWRITE ("Не найдено")
   END_IF
   
   
   GETSCREEN
   COLORMODE(8, 14,43, 1766,1018)
   LOGWRITE ("Проверка статуса мисии")
   IF_PICTURE_IN (14,43, 1766,1018, "Accept 8.bmp", -1, 100)
      MOVE($_return1, $_return2)
      WAIT(1)
      LCLICK($_return1, $_return2)
      LOGWRITE ("Мисиия принята")
   else
      LOGWRITE ("Статус миссии - не известен")
   END_IF
   
   GETSCREEN
   COLORMODE(8, 51,43, 1766,1018)
   LOGWRITE ("Проверка расположения груза")
   //SCREENSHOTEX(14,43, 1766,1018)
   IF_PICTURE_IN (51,43, 1766,1018, "Okey 8.bmp", -1, 98)
      LOGWRITE ("Груз на станции")
      WAIT(1)
     
      GETSCREEN
      COLORMODE(8, 14,43, 1766,1018)
      LOGWRITE ("Прокладка маршрута доставки")
      //SCREENSHOTEX(14,43, 1766,1018)
      IF_PICTURE_IN (14,43, 1766,1018, "Place of delivery 8.bmp", -1, 95)
         MOVE($_return1+120, $_return2+3)
         WAIT(1)
         RCLICK($_return1+120, $_return2+3)
         WAIT(1)
         MOVE($_return1+200, $_return2+30)
         WAIT(1)
         LCLICK($_return1+200, $_return2+30)
         LOGWRITE ("Место доставки задано")
         
         
         LCLICK(952,16)  // 14865606
         GETSCREEN
         COLORMODE(6, 14,43, 1766,1018)
         LOGWRITE ("Окончание работы с агентом")
         //SCREENSHOTEX(14,43, 1766,1018)
         IF_PICTURE_IN (14,43, 1766,1018, "Window talk 6.bmp", -1, 99)
            MOVE($_return1+3, $_return2+3)
            WAIT(1)
            LCLICK($_return1+3, $_return2+3)
            GETSCREEN
            COLORMODE(5, 14,43, 1766,1018)
            IF_PICTURE_IN (14,43, 1766,1018, "X 5.bmp", -1, 99)
               MOVE($_return1+40, $_return2+4)
               WAIT(1)
               LCLICK($_return1+40, $_return2+4)
               LOGWRITE ("Закрыть окно разговора с агентом")
            else
               LOGWRITE ("ошибка не найден крест")
            END_IF
         else
            LOGWRITE ("ошибка не найдет разговор с агентом")
         END_IF
         
         LCLICK(952,16)  // 14865606
         GETSCREEN
         COLORMODE(6, 67,641, 280,921)
         LOGWRITE ("Погрузка товара")
         //SCREENSHOTEX(14,43, 1766,1018)
         IF_PICTURE_IN (67,641, 280,921, "Storage 6_1.bmp", -1, 90)
            MOVE($_return1+4, $_return2+4)
            WAIT(1)
            LCLICK($_return1+4, $_return2+4)
            MOVE(335,736)
            WAIT(1)
            LDOWN(335,736)
            WAIT(1)
            MOVE(124,691)
            WAIT(1)
            LUP(124,691)
            LOGWRITE ("Товар загружен")
         else
            LOGWRITE ("Ошибка проверки расположения груза")
         END_IF
         
         
         MOVE(1671,193)
         WAIT(2)
         LCLICK(1671,193)
         LOGWRITE ("Вылет")
         WAIT(15)
         qwer()
         
         
         LCLICK(867,22)
         GETSCREEN
         COLORMODE(8, 1018,359, 1081,402)
         LOGWRITE ("Проверка статуса миссии")
         IF_PICTURE_IN (1018,359, 1081,402, "Accept 8_2.bmp", -1, 100)
            MOVE($_return1, $_return2)
            WAIT(2)
            LCLICK($_return1, $_return2)
            LOGWRITE ("Мисиия принята")
            WAIT(1)
           
            GETSCREEN
            COLORMODE(8, 14,43, 1766,1018)
            SCREENSHOTEX(535,570, 662,595)
            LOGWRITE ("Проверка возможности сдачи миссии")
            IF_PICTURE_IN (14,43, 1766,1018, "Complete the mission.bmp", -1, 98)
               MOVE($_return1, $_return2)
               WAIT(2)
               LCLICK($_return1, $_return2)
               LOGWRITE ("Мисиия сдана успешно")
            else
               LOGWRITE ("Ошибка")
            END_IF
           
           
            WAIT(1)
            LCLICK(952,16)  // 14865606
            GETSCREEN
            COLORMODE(6, 14,43, 1766,1018)
            LOGWRITE ("Окончание работы с агентом")
            //SCREENSHOTEX(14,43, 1766,1018)
            IF_PICTURE_IN (14,43, 1766,1018, "Window talk 6.bmp", -1, 99)
               MOVE($_return1+3, $_return2+3)
               WAIT(1)
               LCLICK($_return1+3, $_return2+3)
               GETSCREEN
               COLORMODE(5, 14,43, 1766,1018)
               IF_PICTURE_IN (14,43, 1766,1018, "X 5.bmp", -1, 99)
                  MOVE($_return1+40, $_return2+4)
                  WAIT(1)
                  LCLICK($_return1+40, $_return2+4)
                  LOGWRITE ("Закрыть окно разговора с агентом")
               else
                  LOGWRITE ("ошибка не найден крест")
               END_IF
            else
               LOGWRITE ("ошибка не найдет разговор с агентом")
            END_IF
         END_IF
      else
         LOGWRITE ("Ошибка проверки статуса миссии")
      END_IF
   else
      LOGWRITE ("Груз в другом месте")
      GETSCREEN
      COLORMODE(8, 14,43, 1766,1018)
      LOGWRITE ("Проверка маршрута погрузки")
      //SCREENSHOTEX(14,43, 1766,1018)
      IF_PICTURE_IN (14,43, 1766,1018, "Place of loding.bmp", -1, 98)
         MOVE($_return1+120, $_return2+3)
         WAIT(2)
         RCLICK($_return1+120, $_return2+3)
         WAIT(2)
         MOVE($_return1+200, $_return2+30)
         WAIT(2)
         LCLICK($_return1+200, $_return2+30)
         LOGWRITE ("Место погрузки задано")
      else
         LOGWRITE ("ошибка")
         halt
      END_IF
     
      GETSCREEN
      COLORMODE(6, 14,43, 1766,1018)
      //SCREENSHOTEX(14,43, 1766,1018)
      LOGWRITE ("Окончание работы с агентом")
      IF_PICTURE_IN (14,43, 1766,1018, "Window talk 6.bmp", -1, 100)
         MOVE($_return1+3, $_return2+3)
         WAIT(2)
         LCLICK($_return1+3, $_return2+3)
         GETSCREEN
         COLORMODE(6, 14,43, 1766,1018)
         IF_PICTURE_IN (14,43, 1766,1018, "X.bmp", -1, 100)
            MOVE($_return1+1, $_return2+1)
            WAIT(2)
            LCLICK($_return1+1, $_return2+1)
            LOGWRITE ("Закрыть окно разговора с агентом")
         END_IF
      END_IF
      MOVE(1671,193)
      WAIT(2)
      LCLICK(1671,193)
      LOGWRITE ("Вылет")
      WAIT(15)
      qwer()
   END_IF
   
else
   LOGWRITE ("Начать разговор не найдено")
   LOGWRITE ("Поиск места назначения")
   IF_PICTURE_IN (65,65, 1755,1000, "set destination.bmp", -1, 85)
      MOVE($_return1, $_return2)
      WAIT(2)
      LCLICK($_return1, $_return2)
      LOGWRITE ("Задано место назначения агента")
      MOVE(1671,193)
      WAIT(2)
      LCLICK(1671,193)
      LOGWRITE ("Вылет")
      WAIT(15)
      qwer()
   else
      LOGWRITE ("Ошибка не найдено место назначение")
   END_IF
END_IF
//////COLORMODE(5, 1511,257, 1530,270)
/////8355711 - синий для мода 7, 16777215 - белый,  цвет скорости   диапазон 862,962, 874,984
/////2080703 цвет оверлея  диапазон 1511,257, 1530,270

9
Можно попробовать везде расставить Move, перед Wait(1-3 сек), Lclick, что бы прокликиловалось. Лично у меня в игрушке в начали подсветка кнопки прорисовывается при наведении, только потом можно нажать.

10
ООооо спс человече, шаблон есть, сегодня, завтра буду тестировать, подставлять клики мыши. Уже выявлена проблема с цветопередачей, т.к. она слегка меняется, вроде получилось определить цвета, подставить COLORMODE. 
Это кстати бот для Eve online для набития стендинга(отношения фракции) на курьерских миссиях
В подпрорамме полет в пространстве, картинки 1 - вариация окончания прокладки маршрута, с мисиией или без(вход в док в окне агентва), картинка 2 проверка на готовность стыковки со станцией,, потом клики мыши со здачей задания, картинка 3 вариация если агент на тойже станции что и ты, или другой. Тут или выполняем подподграму с полетом, или начинаем с начало скрипт по принятию миссии.
Что из этого выйдет отпишу.


11
Действие мышью

//sub(qwer)
Проверям желтый пиксель
  если есть: действие мышью
             WAIT(10)
             проверяем синий пиксель (можно интерпретировать как, пока есть  синий ничего не делаем)
             если есть: ожидание
                        возврат к проверке синего пикселя
             если нет:  возврат к проверке желтого пикселя
  Если нету: конец кольца

Проверка картинки 1
  если есть: клик мышью по картинке 1
Проверка картинки 2
  если есть: ничего не делаем
  Если нет: ждем
            возврат к проверки картинки 2
end_sub
qwer()

//
Манипуляции мышью
Проверка картинки 3
  если есть: возврат к началу скрипта
Манипуляции с мышкой
qwer()
возврат к началу скрипта

Pages: [1]