Нужно осуществить поиск по иконке(есть свечение вокруг ее). Не подойдет поиск по цвету и координатам, так как она плавает меняется на протяжении дня. Как сделать поиск иконки Каменный рудник?
Далее собираем камни в количестве 10 штук. И после того как камни собраны, нужно будет 5 из их разбить. Вот тут должна быть логика. Что бы скрипт выбирал лучший камень и разбивал. Ценность камней идет по возрастанию. Слева самые дешевые, справа дорогие и редкие.
http://savepic.ru/12916119.jpg
//тут должен быть скрипт по поиску иконки.
For #i 1 9 // Получить 9 камней
while 1138, 582 1201343
left 1138, 582 //получить один камень
wait 1s
end_while
while_not 1138, 582 1201343 //ожидаем отката кнопки
wait 5m
end_while
end_for
//Прописываем эти строки на получения последнего камня так как кнопка не откатывается
while_not 1138, 582 1201343 //ожидаем отката кнопки
wait 3s
end_while
while 1138, 582 1201343
left 1138, 582 //получить последний камень
wait 1s
end_while
//тут должна быть логика по разбивке 5 камней.
end_script
left 444, 590 12173243 //Алунит, самый дешовый
left 564, 598 1517833 //Аквамарин
left 673, 596 15377514 //Иолит
left 815, 587 16759038 //Родонит
left 934, 595 4612012 //Рубин, самый редкий и дорогой
left 750, 493 7772634 //Кнопка РАЗБИТЬ
Делаем картинку в формате bmp без свечения и ищем.
set #a findimage (0 0 1920 1080 (C:\имякартинки.bmp) %a )
if #a > 0 // если картинка нашлась
move %a [1 1] %a [1 2] // навести на неё курсор
end_script
end_if
условие ЕСТЬ БЕСПЛАТНЫЕ ПОПЫТКИ
//параметры логики
скан 5го камня
значение не совподает с 0
разбить камни пока данное значение не станет 0
end
значение совподает
переходим к скану 4го камня
end
end
скан 4го камня
значение не совподает с 0
разбить камни пока данное значение не станет 0
end
значение совподает
переходим к скану 3го камня
end
end
скан 3го камня
значение не совподает с 0
разбить камни пока данное значение не станет 0
end
значение совподает
переходим к скану 2го камня
end
end
скан 2го камня
значение не совподает с 0
разбить камни пока данное значение не станет 0
end
значение совподает
переходим к скану 1го камня
end
end
скан 1го камня
значение не совподает с 0
разбить камни пока данное значение не станет 0
end
значение совподает
закрываем окно //выполнение не возможно так как все 10 камней не открыть. Лимит 5 камней
end
end
условие не совподает(потраченны 5 попыток)
закрыть окно
end
конец скрипта
разбили камень
set #count #count + 1 // увеличили переменную на 1
if #count = 5 // если переменная равна 5
end_script // остановить скрипт
end_if
set #a findimage (0 0 1920 1080 (C:\имякартинки.bmp) %a )
Вот еще вопрос. Почему в скрипте когда есть несколько условий If то первую скрипт обрабатывает как положено ждет пока не появится значение и приступает к выполнению когда есть она, а остальные условия if просто игнорирует. Как это лечится?
Если нет больного, то и лечить не кого. Код где?
set #x 1547
set #y 480
set #x0 595
set #y0 359
set #x1 546
set #y1 442
set #x2 1395
set #y2 461
set #x3 660
set #y3 321
set #x4 1134
set #y4 191
set #x5 618
set #y5 443
//ДЕЛАЕМ ЗАДАНИЯ ГИ НА 5 ЗВЕЗД
left #x #y
for #i 1 5
if #x0 #y0 3133184 //проверка кнопки
wait 1s
left #x0 #y0 //Получить квест
end_if
while_not #x5 #y5 3394287 //Если нет 5 звезд, x5 y5 rgb5
left #x #y //то отправить приглашение
wait 5s
end_while
while #x5 #y5 3394287 //если есть 5 звезд, x5 y5 rgb5
left #x2 #y2 //выполнить задание
wait 35s
end_while
end_for
while #x3 #y3 65535 //Все задания выполнены rgb3
left #x4 #y4 //закрыть окно заданий ГИ
wait 3s
end_while
end_script
if #x0 #y0 3133184 //проверка кнопки
wait 1s
left #x0 #y0 //Получить квест
end_if
Не срабатывает и не нажимает это не одно и тоже.
get color #color #x0 #y0
log Цвет в точке #color // должен совпадать с тем что в if указан
if #x0 #y0 3133184 //проверка кнопки
log !!!!! // если напишет в лог значит if сработал
wait 1s
left #x0 #y0 //Получить квест
wait 100 // добавить паузу
end_if
Log срабатывал. Но проблему я решил заменив условие. Так работает идеально:
//Для получения данных x0 y0 rgb0 нужно навести курсор в центр буквы О (должен быть черный цвет)
//Данные x1 y1 rgb1 нужно брать тогда - когда получены все 5 звезд!!!
set #x XXX //Вместо XXX вставить значение x
set #y XXX //Вместо XXX вставить значение y
set #x0 XXX //Вместо XXX вставить значение x0
set #y0 XXX //Вместо XXX вставить значение x0
set #x1 XXX //Вместо XXX вставить значение x1
set #y1 XXX //Вместо XXX вставить значение y1
set #x2 XXX //Вместо XXX вставить значение x2
set #y2 XXX //Вместо XXX вставить значение y2
set #x3 XXX //Вместо XXX вставить значение x3
set #y3 XXX //Вместо XXX вставить значение y3
set #x4 XXX //Вместо XXX вставить значение x4
set #y4 XXX //Вместо XXX вставить значение y4
//ДЕЛАЕМ ЗАДАНИЯ ГИ НА 5 ЗВЕЗД
left #x #y //Получить
for #i 1 5
while_not #x0 #y0 XXX // Вместо XXX вставить значение rgb0
wait 1s
end_while
while #x0 #y0 XXX //Вместо XXX вставить значение rgb0
wait 1s
left #x0 #y0 //Получить квест
end_while
while_not #x1 #y1 XXX //Вместо XXX вставить значение rgb1.Если нет 5 звезд.
left #x #y //то отправить приглашение
wait 5s
end_while
while #x1 #y1 XXX //Вместо XXX вставить значение rgb1.Eсли есть 5 звезд.
left #x2 #y2 //выполнить задание
wait 30s
end_while
end_for
while #x3 #y3 XXX //Вместо XXX вставить значение rgb3. Все задания выполнены.
left #x4 #y4 //закрыть окно заданий ГИ
wait 3s
end_while
end_script
set #x
set #y
set #color
set #x 100
set #y 200
set #color 6172673
if #x #y #color
log +++
end_if
init_arr %a (1) 100 200 6172673 // координаты и цвет
if %a [1 1] %a [1 2] %a [1 3]
log +++
end_if
Благодарю но, с Colorом разобрался уже))
set %a [1 1] 100
set %a [1 2] 200
set %a [1 3] 6172673
log %a [1 1] %a [1 2] %a [1 3]
end_script
init_arr %a (1) 100 200 6172673
log %a [1 1] %a [1 2] %a [1 3]
end_script
Можно ли сделать 2скрипта в одно окно скрипта? Определенное время повторялся один цикл действий...а после 45...делал 2 часть 1 раз...затем снова цикл в время
//1 часть
Время 45с
клик
пауза 3с
клик
пауза 2с
конец
//2 часть
клик
пауза 1с
клик
//цикл
set #timeout timer + 5000 // 5000 = 5 секунд
while #timeout > timer
log Первая часть
wait 1000
end_while
log Вторая часть
Отлично
Как сделать что бы пилот клацал по найденной картинке или по картинке по заданным координатам? .
Например для одного изображения но в разных точках должен быть произведен клик. Точки клика отмечены красным цветом:
В SikuliX это реализовано так там можно задавать точку клика перемещая крестик. А в пилоте через координаты скорее всего...
set #a findimage (0 0 0 0 (C:\имя.png) %a )
if #a > 0 // если картинка нашлась
move %a [1 1] %a [1 2] // навести на неё курсор
left %a [1 1] %a [1 2] //сделать клик
end_script
end_if
set #a findimage (0 0 1920 1080 (C:\имякартинки.bmp) %a )
if #a > 0 // если картинка нашлась
set #x %a [1 1] + 10 // прибавить 10 пикселей к координате X
set #y %a [1 2] + 20 // прибавить 20 пикселей к координате Y
move #x #y
end_script
end_if
set #x %a [1 1] + 5 + random(15) // прибавить 5 пикселей + рандомно от 0 до 14 пикселей
move %a [1 1] %a [1 2] 10 15 // прибавить к координате X от 0 до 9 пикселей и к Y от 0 до 14
set #a findimage (0 0 1920 1080 (C:\имякартинки.bmp) %a )
if #a > 0 // если картинка нашлась
set #x (%a [1 1] + %a [1 3]) / 2
set #y (%a [1 2] + %a [1 4]) / 2
move #x #y
end_script
end_if
set #a findimage (0 0 1920 1080 (C:\имякартинки.bmp) %a 2 80)
И можно ли заменить set #a findimage для нескольких картинок массивом Init arr???
0=2
Как правильно работать с командой While для картинки??? Нужно ожидать появления заданной картинки.
init_arr %pol (1) 1544, 408
set delimiter ' '
set #a findimage (0 0 1920 1080 (D:\_PILOT\1489166708086.png) %a )
left %pol [1] //Получить
while_not #a > 0
wait 10
end_while
if #a > 0 // если картинка нашлась
set #x (%a [1 1] + %a [1 3]) / 2
set #y (%a [1 2] + %a [1 4]) / 2
move #x #y
left #x #y //атака(взять)
end_script
end_if
end_script
set #a 0
while #a = 0 // пока не нашлась картинка
set #a findimage (0 0 1920 1080 (D:\_PILOT\1489166708086.png) %a )
wait 10
end_while
МужЫки...Слышал, что есть способ, делать проверку(поиск) по нескольким точкам вместо картинки Это и в правду можно делать? И если можно то как?
Искать нужно статичный объект или меняющийся?
Сколько кликов вы сможете сделать вручную за секунду? Ну максимум 7-10. За секунду пилот найдёт картинку и кликнет по ней не меньше 10 раз. Особенно, если не искать картинку размером на пол экрана с большим отклонением по цвету. Не нужно делать картинку всей статуи, достаточно небольшого кусочка. Уменьшите область поиска, если статуя появляется не во всех местах на экране.
Проверять несколько точек выйдет дольше, чем искать с помощью findimage.
if X Y Color - 16мсек
if X Y Color and X1 Y1 Color - 32 мсек
if X Y Color and X1 Y1 Color and X2 Y2 Color2 - 48 мсек
set #handle findwindow(имя окна)
set #a findimage (0 0 1920 1080 (D:\_PILOT\1489166708086.png) %a #handle)
Вот... еще, что нужно автоматизировать.
Необходимо что бы персонаж перемещался по локации и собирал одни предметы и обходил другие. Трудность заключается в том что препятствия появляются рандомно(в начале и затем остаются неподвижными) и нужные предметы так же падают случайно. Еще трудность заключается в том что персонаж перемещается на одну клетку(вверх, вниз, влево, вправо).
Нужно что бы скрипт собирал 7 цепей и убил 11 монстров, попутно собирая сундуки. Затем после сбора замков и убийства монстров открываются блоки и нужно убить в правом верхнем углу основного непися.
1. Найти координаты персонажа.
2. Найти ближайший к персу предмет.
3. Найти ближайший к предмету оранжевый квадрат.
4. На этот квадрат сделать ход.
Повторять действия 1-4 пока перс не окажется на определённом расстоянии от предмета.
5. Собрать предмет.
Повторять действия 1-5.
http://uopilot.tati.pro/index.php?title=Point_distance - расстояние между двумя точками.
//Определяем координаты Главного героя
set #gg findimage (0 50 1598 790 (D:\_PILOT\PNS\gg.bmp) %arr 2 80)
set #w size (%arr) // получим число найденных картинок
log Найден ГГ: #w
for #i 1 #w
set #x %arr [#i 1]
set #y %arr [#i 2]
log ГГ находится в координатах: #x #y
end_for
//Сундук
set #syndyk findimage (0 50 1598 790 (D:\_PILOT\PNS\syndyk.bmp) %arr 2 80)
set #z size (%arr) // получим число найденных картинок
log Найдено сундуков: #z
for #i 1 #z
set #x1 %arr [#i 1]
set #y1 %arr [#i 2]
log Сундук находится в координатах: #x1 #y1
end_for
//Моб
set #mob findimage (0 50 1598 790 (D:\_PILOT\PNS\mob.png) %arr 2 80)
set #m size (%arr) // получим число найденных картинок
log Найдено Мобов: #m
for #i 1 #m
set #x2 %arr [#i 1]
set #y2 %arr [#i 2]
log Моб находится в координатах: #x2 #y2
end_for
//Цепь
set #cep findimage (0 50 1598 790 (D:\_PILOT\PNS\cep.bmp) %arr 2 80)
set #c size (%arr) // получим число найденных картинок
log Найдено Цепей: #c
for #i 1 #c
set #x3 %arr [#i 1]
set #y3 %arr [#i 2]
log Цепей находится в координатах: #x3 #y3
end_for
По умолчанию findimage ищет 1 картинку и поиск останавливается. Нужно указать максимальное число картинок или искать все.
set #syndyk findimage (0 50 1598 790 (D:\_PILOT\PNS\syndyk.bmp) %arr 2 80 -1) // -1 искать все картинки
set #dist round(point_distance(100 100 500 500)) // расстояние между координатами 100 100 и 500 500
log #dist
end_script
Примерно так.
set #z 0
set size(%itemarray) // массив, в который будут сохраняться координаты мобов и итемов
set #gg findimage (0 50 1598 790 (D:\_PILOT\PNS\gg1.bmp) %pers 2 80)
if #gg = 0 // если не найден в одном положении, ищем во втором
set #gg findimage (0 50 1598 790 (D:\_PILOT\PNS\gg2.bmp) %pers 2 80)
end_if
if #gg > 0 // если перс найден
log Перс найден
// поиск сундуков
set #syndyk findimage (0 50 1598 790 (D:\_PILOT\PNS\syndyk.bmp) %sunduk 2 80 -1 7)
log Нашлось сундуков size(%sunduk)
if #syndyk > 0
for #i 1 size(%sunduk)
set #z #z + 1
init_arr %itemarray (#z) %sunduk [#i 1] %sunduk [#i 2] // записываем в массив координаты всех сундуков
end_for
end_if
// поиск цепей
set #cep findimage (0 50 1598 790 (D:\_PILOT\PNS\cep.bmp) %cep 2 80 -1 7)
log Нашлось цепей size(%cep)
if #cep > 0
for #i 1 size(%cep)
set #z #z + 1
init_arr %itemarray (#z) %cep [#i 1] %cep [#i 2] // записываем в массив координаты всех цепей
end_for
end_if
// дописать поиск мобов, принцип тот же
// теперь, в массиве %itemarray содержатся координаты всех итемов и мобов
save_array %itemarray C:\item.txt // сохранить массив, можно посмотреть что в нём сохранилось, потом можно убрать
// нужно найти ближайшего к персу моба или предмет
if size(%itemarray) > 0 // если массив не пустой
set #min 9999999
set #minNum -1
for #i 1 size(%itemarray)
set #dist round(point_distance(%pers[1 1] %pers [1 2] %itemarray [#i 1] %itemarray [#i 2]))
if #dist < #min
set #min #dist
set #minNum #i
end_if
end_for
end_if
if #minNum > 0
hint Ближайшая точка #minNum, расстояние = #min
move %itemarray[#minNum 1] %itemarray [#minNum 2] // переместить курсор к ближайшей точке
end_if
// %itemarray[#minNum 1] %itemarray [#minNum 2] - координаты ближайшего к персу моба или итема
// дальше поиск ближайшего оранжевого квадрата
end_if
end_script
Вот решил вернуться к этой теме и так сказать с новыми идеями. А точнее можно ли решить эту задачу при помощи Алгоритма A?
по сути задача аналогична поиску выхода из лабиринта...
Оригинал карта:
http://www.imageup.ru/img2/3030447/screenshot_1.jpg
Упрощенный вариант:
http://www.imageup.ru/img2/3030449/screenshot_2.png.html
Перемещение по клеткам - без диагонали!
К сообщению картинку прикрепите.
Толку от ссылки в спойлере, которая у меня не открывается.
Когда пишите сообщение, чуть ниже 'Прикрепление файлов', выберите файл и добавьте в сообщение.
Набросал заново по быстрому
Screenshot_1.bmp ( 2,82 мегабайт )
Кол-во скачиваний: 254
Screenshot_2.bmp ( 369,15 килобайт )
Кол-во скачиваний: 254
Одна картинка 32 бита, вторая 8. А потом пишут findimage не находит картинки
В архиве видео и скрипт.
Astar.zip ( 659,41 килобайт )
Кол-во скачиваний: 184
А чо если сразу работать с окном игры. к примеру...брать клетки препятствия обозначить вместо точек...нуно попробовать запихнуть)) а чо пиксель масштабом с клетку... только еще получается направления переиначить, то есть вместо влево вправо вниз вверх заменить только движением по диагонали (это для человеческого глаза ось вниз-вверх, а для пилота диагональ...плоскость видения)
Screenshot_1__2_.bmp ( 2,11 мегабайт )
Кол-во скачиваний: 208
Написан скрипт на прохождение ПГ. но вся бяка, что он ни как не делает 6 проходов, а гоняет до бесконечности пока не остановить. Через For также не вышло, не уж-то делать счетчик циклов
//типа уже пати собрано
left 1000, 97 // подхожу
wait 2500 // ближе
left 388, 266 // к
wait 2500 // НПС
left 429, 616 //клик на НПС
left 429, 616 //вызвать окно с кнопкой Вызов
repeat 6
while 1024, 617 1202119 //кнопка Вызов
left 1025, 618 //клик Вызов
if 1231, 846 727077 //если не красная АФК
left 1229, 849 //активировать АФК
end_if
while_not 1024, 617 1202119
left 429, 616 //вызвать окно с кнопкой Вызов
left 1025, 618 //клик Вызов
end_while
end_while
end_repeat
end_script
left 1025, 618 //клик Вызов
log Клик1
if 1231, 846 727077 //если не красная АФК
log Цвет найден
left 1229, 849 //активировать АФК
log Клик2
end_if
end_script
В ручную подвести или(оставлять окола непися) героя. Окно пати(команды переместить из цента в бок) Координаты клика атаки НПС делать с помощью findimage. по поводу количества проходов..тут уже могут быть варианты..если кого-то водить то счетчик, если для себя то надежней через findimage.
плин, про логи забыл совсем. в итоге исправил на
......// подготовка к задаче
repeat 6
left 1025, 618 //клик Вызов
wait
if 1231, 865 1319214 //если не красная АФК
left 1228, 846 //активировать АФК
end_if
while_not 1024, 617 1202119
left 425, 587 //вызвать окно с кнопкой Вызов
end_while
end_repeat
.......//закрыть все и выйти
все оказалось проще, спасибки
//Перемещаем окно с попытками в бок(вправо)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***картинка окна Создать отряд(верхняя левая салатовая точка)
while #so = 0 // пока не нашлась картинка c окном Создать отряд(собранное пати)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
wait 500
end_while
set #s findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %s 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
if #s > 0
left_down %s[1 1] %s[1 2] //зажать мышку на окне
wait 200
left_up XXX YYY //***вставить свои координаты куда будем перетаскивать окно
end_if
while 0 = 0
set #nps findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-моба.bmp) %nps 2 70) //***картинка моба-подземелья на котором будем сливать попытки(только его имя с закрашеным фоном)
if #nps > 0
set #x (%nps [1 1] + %nps [1 3]) / 2
set #y (%nps [1 2] + %nps [1 4]) / 2 + 60 //***
wait 100
move #x #y //навести мышку на моба которого будем бить
//left #x #y //*Атака моба
wait 1s
end_if
if 1024, 617 1202119 //***кнопка Начать вызов (сделать проверку цвета Ctrl+B)
left 1025, 618 //***клик Вызов
else
log Не могу найти кнопку НАЧАТЬ ВЫЗОВ //***
end_if
if 1231, 846 727077 //***если не красная АФК
left 1229, 849 //***активировать АФК
end_if
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***картинка ника твоего персанажа в окне Создать отряд(с закр.фон)
if #ger > 0 //Ищем героя в отряде и проверяем...
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***дублируем картинку ника
set #StartX %ger [1 1]
set #StartY %ger [1 2]
set #EndX %ger [1 1] + 150 //***
set #EndY %ger [1 2] + 150 //***
set #p findimage (#StartX #StartY #EndX #EndY (C:\путь\имя-картинки-ноль.bmp) %p 2 70) //***картинка когда у твоего персанажа 0 попыток(с закр.фон)
if #p > 0 //Если мы главному герою слили все попытки, то..
set #X %ger [1 1] + 210 //***
set #Y %ger [1 2] + 15 //***
left #X #Y //распустить отряд
//left//***выйти из подземелья
//*** свое действие
end_script //остановить скрипт
end_if
end_if
end_while
//Перемещаем окно с попытками в бок(вправо)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***картинка окна Создать отряд(верхняя левая салатовая точка)
while #so = 0 // пока не нашлась картинка c окном Создать отряд(собранное пати)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
wait 500
end_while
set #s findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %s 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
if #s > 0
left_down %s[1 1] %s[1 2] //зажать мышку на окне
wait 200
left_up XXX YYY //***вставить свои координаты куда будем перетаскивать окно
end_if
while 0 = 0
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***картинка ника твоего персанажа в окне Создать отряд(с закр.фон)
if #ger > 0 //Ищем героя в отряде и проверяем...
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***дублируем картинку ника
set #StartX %ger [1 1]
set #StartY %ger [1 2]
set #EndX %ger [1 1] + 150 //***
set #EndY %ger [1 2] + 150 //***
set #p findimage (#StartX #StartY #EndX #EndY (C:\путь\имя-картинки-ноль.bmp) %p 2 80) //***картинка когда у твоего персанажа 0 попыток(с закр.фон)
if #p > 0 //Если мы главному герою слили все попытки, то..
set #X %ger [1 1] + 210 //***
set #Y %ger [1 2] + 15 //***
move #X #Y //навести на кнопку распустить
left #X #Y //распустить отряд
//left//***выйти из подземелья
//*** свое действие
end_script //остановить скрипт
else
set #nps findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-моба.bmp) %nps 2 70) //***картинка моба-подземелья на котором будем сливать попытки(только его имя с закрашеным фоном)
if #nps > 0
set #x (%nps [1 1] + %nps [1 3]) / 2
set #y (%nps [1 2] + %nps [1 4]) / 2 + 60 //***
wait 100
move #x #y //навести мышку на моба(подсветить) которого будем бить
wait 500
left #x #y //*Атака моба
wait 1s
end_if
if 1024, 617 1202119 //***кнопка Начать вызов (сделать проверку цвета Ctrl+B)
left 1025, 618 //***клик Вызов
else
log Не могу найти кнопку НАЧАТЬ ВЫЗОВ //***
end_if
end_if
end_if
if 1231, 846 727077 //***если не красная АФК
left 1229, 849 //***активировать АФК
end_if
wait 100
end_while
//Перемещаем окно с попытками в бок(вправо)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***картинка окна Создать отряд(верхняя левая салатовая точка)
while #so = 0 // пока не нашлась картинка c окном Создать отряд(собранное пати)
set #so findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %so 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
wait 500
end_while
set #s findimage (0, 0 1920, 1080 (C:\путь\имя-картинки.bmp) %s 2 80) //***дублируем картинку Создать отряд(только путь и имя,координаты)
if #s > 0
left_down %s[1 1] %s[1 2] //зажать мышку на окне
wait 200
left_up XXX YYY //***вставить свои координаты куда будем перетаскивать окно
end_if
while 0 = 0
set #nps findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-моба.bmp) %nps 2 70) //***картинка моба-подземелья на котором будем сливать попытки(только его имя с закрашеным фоном)
if #nps > 0
set #x (%nps [1 1] + %nps [1 3]) / 2
set #y (%nps [1 2] + %nps [1 4]) / 2 + 60 //***
wait 100
move #x #y //навести мышку на моба которого будем бить
//left #x #y //*Атака моба
wait 1s
end_if
if 1024, 617 1202119 //***кнопка Начать вызов (сделать проверку цвета Ctrl+B)
left 1025, 618 //***клик Вызов
else
log Не могу найти кнопку НАЧАТЬ ВЫЗОВ //***
end_if
if 1231, 846 727077 //***если не красная АФК
left 1229, 849 //***активировать АФК
end_if
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***картинка ника твоего персанажа в окне Создать отряд(с закр.фон)
if #ger > 0 //Ищем героя в отряде и проверяем...
set #ger findimage (0, 0 1920, 1080 (C:\путь\имя-картинки-ник.bmp) %ger 2 70) //***дублируем картинку ника
set #StartX %ger [1 1]
set #StartY %ger [1 2]
set #EndX %ger [1 1] + 150 //***
set #EndY %ger [1 2] + 150 //***
set #p findimage (#StartX #StartY #EndX #EndY (C:\путь\имя-картинки-ноль.bmp) %p 2 70) //***картинка когда у твоего персанажа 0 попыток(с закр.фон)
if #p > 0 //Если мы главному герою слили все попытки, то..
set #X %ger [1 1] + 210 //***
set #Y %ger [1 2] + 15 //***
left #X #Y //распустить отряд
//left//***выйти из подземелья
//*** свое действие
end_script //остановить скрипт
end_if
end_if
end_while
Интуитивно догадывался. терь учту, И такой же финт с перетаскиванием окна пробну сделать на Зведочках Задания ГИ. Прикольно, спасибки. оч помогаеш. Щас постепенно буду изучать дальше. Здорого тем что не надо запускать Вэйт на минуту, и сразу под контролем будеут кнопки и на раздачу и на помощь и сами звездочки.
И ещо вопрос назрел, Ни как не выходит найти findimage текст в чате, как ни пыжился, так и не выходи, на слова типа Помочь или Алхимия/ И закрашивал и не закрашивал, и если наводить мышака то начинает подсвечиыаться, то избавлялся от подсветки. И смотрел уже другие посты на эту тему, и скриптами проганял, и ни как, а в Логе выдает Нолик, значит не нашло.
Прикрепленные файлы
Help..bmp ( 38,12 килобайт )
Кол-во скачиваний: 101
написал скрипт на гобов
while ( hour >= 14 and min >= 00 and sec >= 04 ) and ( hour <= 19 and min <= 30 and sec <= 20 )
........// и пошол прыгать по локе
начало старта в 14,00,04 и финиш в 19,30,20
там разница моего времени и игрового в 4 сек, ну это не так важно
когда запускаю, все идет нормально, смиренно дожидаеться начала старта и весело работает, но вчером после 18,00 начинает жить сам по себе, перестает работать и все. стоит заменить на while_not - начинает работать, в чем прикол, так и не понял, может я крышей поехал уже. Тут нет перехода через 24 часа, и конечное время больше начального, И если даже заменю While на if - все точно также, постаdлю if_not - работает. До этого работал в течении недели - проблем небыло, как куранты, тока время задержки проверять надо.
set #hour 16
set #min 20
set #sec 30
// 16 часов 20 минут 30 секунд
// условие не выполнится потому что sec <= 20 не истина
if #hour >= 14 and #min >= 00 and #sec >= 04 and #hour <= 19 and #min <= 30 and #sec <= 20
log +++
else
log ---
end_if
end_script
set #hour 16
set #min 20
set #sec 30
// 16 часов 20 минут 30 секунд
// условие не выполнится потому что sec <= 20 не истина
if #hour >= 14 and #min >= 00 and #sec >= 04 and #hour <= 19 and #min <= 30 and #sec <= 20
log +++
else
log ---
end_if
end_script
Можно так сделать:
set #start_time TimeStamp (14:00:04) // с 14:00:04
set #end_time TimeStamp (19:30:20) // до 19:30:20
set #t TimeStamp (18:50:30) // для теста, потом убрать и раскомментировать строку ниже
//set #t TimeStamp (TimeNow) // таймштамп текущего времени
if #t > #start_time and #t < #end_time
log +++
else
log ---
end_if
end_script
set #start_time TimeStamp (14:00:04) // с 14:00:04
set #end_time TimeStamp (19:30:20) // до 19:30:20
set #t TimeStamp (18:50:30) // для теста, потом убрать и раскомментировать строку ниже
//set #t TimeStamp (TimeNow) // таймштамп текущего времени
if #t > #start_time and #t < #end_time
log +++
else
log ---
end_if
end_script
Привет друзья!
Я хотел бы помочь написать сценарий для выполнения следующей задачи:
double_right %arr[1 1] %arr[1 2]
wait 500
Как показано на изображениях, я хочу, чтобы указанная выше задача была выполнена, когда я найду следующее изображение.
Привет друзья!
Я хотел бы помочь написать сценарий для выполнения следующей задачи:
double_right %arr[1 1] %arr[1 2]
wait 500
Как показано на изображениях, я хочу, чтобы указанная выше задача была выполнена, когда я найду следующее изображение.
Эскизы прикрепленных изображений
Прикрепленные файлы
dino.bmp ( 4,24 килобайт )
Кол-во скачиваний: 83
def.bmp ( 5,21 килобайт )
Кол-во скачиваний: 94
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)