Пользуюсь пилотом уже года два, но хочется научиться использовать Findimage или findcolor
каждая новая попытка это сделать не увенчалась успехом, то есть находя подобные темы нет ничего для новичка так сказать.
можно ли:
1. показать пример скрипта очень простого,
2. описать очередность действии, т.е. необходимо чтоб пилот находил вот такую вот картинку, делаем скрин сохраняем в пейнте в формате бмп ( там их очень много) запускаем игру, привязываем её к пилоту,
пишем в скрипт путь к картинке и если можно самый простой пример скрипта, который просто находит картинку .
3 если можно про диапазон поиска, какие команды для этого используются.
4. мне очень хочется написать скрипт для игры eve online для простой копки руды. есть кое какие наброски но без findimage это просто не реально.
http://uopilot.tati.pro/index.php?title=Findimage
Читали?
if $a > 0
Если число в переменой $a больше чем 0
у меня даже в школе на бейсике были проблемы с массивами.
а у меня в школе даже бэйсик не проходили... в универе тоже(..
вообще у меня диплом по "автоматизации и управлению" но знаю я не больше школьника.
стыдно и работу не найти, зато приятно быть частью этого изучая пилот)
в общем
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 345
set #startY 345
set #endX 345
set #endY 345
set $path C:\Program Files\UOPilot\images\
set %cash[1] картинка
// будем искать картинку из файла C:\Program Files\UOPilot\images\картинка.bmp
set $a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2)
if $a > 0
msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2]. Кликнем на нём...
left %crds[1 1] %crds[1 2] // кликнули
else
msg Изображение не найдено
end_if
если честно то даже не верится что пилот это может. удивительно.
у меня вопрос, могу я вырезать картинку из того что заскринил, и использовать её в координатах поиска
я никогда не писал один скрипт на действия, скорее это было по 15-20 , но очень простых.
чем проще скрипт тем лучше он работает.
респект вам ребята. удивительно, что люди так мало знают о пилоте, даже те кто играет можно сказать каждый день и по многу. хотя пилот можно использовать и в работе.
set $a findimage (0 0 1280 1024 (c:\uopilot\картинка.bmp) %crds 2 100 1)
if $a > 0
msg картинка найдена
else
msg картинка не найдена
end_if
set $a findimage (0 0 1280 1024 (c:\uopilot\картинка.bmp) %crds 2 100 1)
set $a findimage (0 0 1280 1024 (c:\uopilot\картинка.bmp) %crds 2 100 1)
в %crds [ 1 3 ] %crds [ 1 4 ] содержатся конечные координаты.Вроде именно там, почитайте последние 1-2 версию ченжлога, если сразу не получится.
фон картинки постоянно меняется, так как она прозрачна % на 10
можно ли найти картинку, повысив погрешность или еще как нибудь?
на панели тексты с названиями станций, но так как фон меняется из-за небольшой прозрачности найти и выбрать нужную не получается
[#deviation] - Погрешность оттенка. Пример: есть погрешность 3%. точка имеет цвет 100 120 130, 255*3%=7, соответственно 100+/-7. При этом все цвета в пределах (93 113 123)-(107 127 137) будут считаться совпадением.
Какую ошибку то?
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
move %crds [ 1 1 ] %crds [ 1 2 ]
left %crds [ 1 1 ] %crds [ 1 2 ]
wait 1s
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 2 1 ] %crds [ 2 2 ]
left %crds [ 2 1 ] %crds [ 2 2 ]
wait 1s
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 3 1 ] %crds [ 3 2 ]
left %crds [ 3 1 ] %crds [ 3 2 ]
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
move %crds [ 4 1 ] %crds [ 4 2 ]
left %crds [ 4 1 ] %crds [ 4 2 ]
if 1263, 77 255
else
move 1266, 78
left 1266, 78
wait 10s
end_if
end_if
можно ли упростить этот скрипт?
for используйте, а в обращениях к массиву задавайте переменной индекс массива.
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
for #i 1 4
move %crds [ #i 1 ] %crds [ #i 2 ]
left %crds [ #i 1 ] %crds [ #i 2 ]
wait 1s
if_not 1263, 77 255
move 1266, 78
left 1266, 78
wait 10s
end_if
end_for
end_if
set $a findimage (0, 0 1366, 719 (d:\uopilot\астероид.bmp) %crds 2 100 4)
if $a > 0
for #i 1 4
move %crds [ #i 1 ] %crds [ #i 2 ]
left %crds [ #i 1 ] %crds [ #i 2 ]
wait 1s
if_not 1263, 77 255
move 1266, 78
left 1266, 78
wait 10s
end_if
end_for
end_if
а так?
msg Начинаем...
for #i 2 4
msg Значение i равняется #i
end_for
msg Закончили!
msg Начинаем...
for #i 2 4
msg Значение i равняется #i
end_for
msg Закончили!
for #i 5 100 5
for #<имя> <начало> <конец> [шаг]
for #i 5 100 5
for #<имя> <начало> <конец> [шаг]
// Пример 5
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
set #startX 0
set #startY 0
set #endX 1920
set #endY 1080
set $path "C:\Program Files\UOPilot\images\" // путь к картинкам
set %image [1] картинка1 // имя изображения
set %image [2] картинка2 // имя второго изображения
set %image [3] картинка3 // третьего
set %image [4] карти // имена могут быть любыми
set #size size(%image) // всего картинок
hint Всего картинок #size
:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_for
wait 3000 // ждать 3 секунды
goto metka
Нужно условие- если найдена картинка3, то:
Как прописать?
if #a > 0
if #i = 3
специфические действия для 3 изображения
else
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_if
if #a > 0
if #i = 3
специфические действия для 3 изображения
else
move %arr[1 1] %arr[1 2] // переместить курсор на найденную картинку
wait 500 // ждать 0,5 секунды
end_if
end_if
if #a > 0
log %image [#i] совпала
end_if
if #a > 0
log %image [#i] совпала
end_if
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
log %image [#i] совпала
if #i = 3 // если найдена 3-я картинка
set $aa 00
end_if
end_if
end_for
log $aa
end_script
if %image [#i] = 0
set $a 00
end_if
вот так получилось нормально.
Еще вопросик:
set #startX 0
set #startY 0
set #endX 1920
set #endY 1080
set $path "C:\Program Files\UOPilot\images\" // путь к картинкам
set %image [1] картинка1 // имя изображения
set %image [2] картинка2 // имя второго изображения
set %image [3] картинка3 // третьего
set %image [4] карти // имена могут быть любыми
set #size size(%image) // всего картинок
hint Всего картинок #size
:metka
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
истина
else
log Картинка не найдена a #i
end_if
end_for
wait 300 // ждать 3 секунды
goto metka
Этот цикл METKA выполняется бесконечно если картинка не найдена.
Если я впишу в else чтото то этот цикл только 1 картинку просканирует.
Как сделать чтобы цикл метка сканировал максимум 4 раза (4 картинки) и потом останавливался
if %image [#i] = 0
set $a 00
end_if
repeat 4 // повторить 4 раза
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2)
if #a > 0
log истина
else
log Картинка не найдена a #i
end_if
end_for
wait 300 // ждать 3 секунды
end_repeat
end_script
Он выполняется независимо от того что внутри, нашлась картинка, не нашлась или поиска нет вовсе. Метку вообще можно убрать.
Во спасиб, а я его зацикливаю, чтоб он все картинки прогнал)
wait 1125 + random (157)
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
// #a $a Валюта a
// #b $b Валюта b
// #c $c Валюта c
set #startXa 1162
set #startYa 396
set #endXa 1183
set #endYa 404
set #startXb 1116
set #startYb 396
set #endXb 1146
set #endYb 404
set #startXc 1081
set #startYc 393
set #endXc 1107
set #endYc 409
set $path "\img\" // путь к картинкам
set %image [1] 0 // имя изображения
set %image [2] 1 // имя изображения
set %image [3] 2 // имя изображения
set %image [4] 3 // имя изображения
set %image [5] 4 // имя изображения
set %image [6] 5 // имя изображения
set %image [7] 6 // имя изображения
set %image [8] 7 // имя изображения
set %image [9] 8 // имя изображения
set %image [10] 9 // имя изображения
//------------------------------------------------------------------------------
for #AA 1 #size 1 // цикл для поиска картинок
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arra 2 80)
if #a > 0
log Картинка a %image [#AA] совпала
goto peremenkia
else
log Картинка не найдена a #AA
end_if
end_for
wait 10
:peremenkia
if %image [#AA] = 0
set %image [#AA] 00
end_if
if %image [#AA] = 1
set %image [#AA] 01
end_if
if %image [#AA] = 2
set %image [#AA] 02
end_if
if %image [#AA] = 3
set %image [#AA] 03
end_if
if %image [#AA] = 4
set %image [#AA] 04
end_if
if %image [#AA] = 5
set %image [#AA] 05
end_if
if %image [#AA] = 6
set %image [#AA] 06
end_if
if %image [#AA] = 7
set %image [#AA] 07
end_if
if %image [#AA] = 8
set %image [#AA] 08
end_if
if %image [#AA] = 9
set %image [#AA] 09
end_if
wait 300
//------------------------------------------------------------------------------
for #BB 1 #size 1 // цикл для поиска картинок
set #b findimage (#startXb #startYb #endXb #endYb ($path%image[#BB].bmp) %arrb 2 80)
if #b > 0
log Картинка b %image [#BB] совпала
goto peremenkib
else
log Картинка не найдена b #BB
end_if
end_for
wait 10
:peremenkib
if %image [#BB] = 0
set %image [#BB] 00
end_if
if %image [#BB] = 1
set %image [#BB] 01
end_if
if %image [#BB] = 2
set %image [#BB] 02
end_if
if %image [#BB] = 3
set %image [#BB] 03
end_if
if %image [#BB] = 4
set %image [#BB] 04
end_if
if %image [#BB] = 5
set %image [#BB] 05
end_if
if %image [#BB] = 6
set %image [#BB] 06
end_if
if %image [#BB] = 7
set %image [#BB] 07
end_if
if %image [#BB] = 8
set %image [#BB] 08
end_if
if %image [#BB] = 9
set %image [#BB] 09
end_if
wait 300
//------------------------------------------------------------------------------
:ccc
for #CC 1 #size 1 // цикл для поиска картинок
set #c findimage (#startXc #startYc #endXc #endYc ($path%image[#CC].bmp) %arrc 2 80)
if #c > 0
log Картинка c %image [#CC] совпала
goto peremenkic
else
log Картинка не найдена c #CC
end_if
end_for
wait 10
:peremenkic
if %image [#CC] = 0
set %image [#CC] 00
end_if
if %image [#CC] = 1
set %image [#CC] 01
end_if
if %image [#CC] = 2
set %image [#CC] 02
end_if
if %image [#CC] = 3
set %image [#CC] 03
end_if
if %image [#CC] = 4
set %image [#CC] 04
end_if
if %image [#CC] = 5
set %image [#CC] 05
end_if
if %image [#CC] = 6
set %image [#CC] 06
end_if
if %image [#CC] = 7
set %image [#CC] 07
end_if
if %image [#CC] = 8
set %image [#CC] 08
end_if
if %image [#CC] = 9
set %image [#CC] 09
end_if
set clipboard %image [#AA]%image [#BB]%image [#CC] // Копируем в буфер 3 переменных ABC
if %image [#CC] = not or %image [#BB] = not or %image [#AA] = not
log Пропуск
end_if
get clipboard $d // Получаем число из буфера в переменную D
log Переменная %image [#AA] / %image [#BB] / %image [#CC] / $d
end_script
set #size size(%image)
for #AA 1 size(%image) 1
for #AA 1 size(%image) 1 // цикл для поиска картинок
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arra 2 80)
if #a > 0
log Картинка a %image [#AA] совпала
set %resultA [1] 0#i
break
else
log Картинка не найдена a #AA
end_if
end_for
// Также для остальных поисков.
set clipboard %resultA [1]%resultB [1]%resultC [1]
Зачем использовать буфер. Можно сразу переменной присвоить значения.
set $d %image [#AA]%image [#BB]%image [#CC]
set #size size(%image)
Ну эта картинка больше чем область поиска.
Самое простое, проверить находятся ли вообще картинки по отдельности.
set #a findimage (0 0 1920 1080 (картинка.bmp) %arra 2 80)
log #a
end_script
set #a findimage (0 0 1920 1080 (картинка.bmp) %arra 2 80 -1 3) // 3 - это % отклонения в цвете
log #a
end_script
set #a findimage (1162 396 1183 404 (\img\0.bmp) %arra 2 80)
log #a
set #b findimage (1081 396 1110 404 (\img\0.bmp) %arra 2 80)
log #b
end_script
А в скрипте что выдаёт?
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arra 2 80)
log #a
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arra 2 80)
log #a
set $path "\img\" // путь к картинкам
set %image [1] 0 // имя изображения
set %image [2] 1 // имя изображения
set %image [3] 2 // имя изображения
set %image [4] 3 // имя изображения
set %image [5] 4 // имя изображения
set %image [6] 5 // имя изображения
set %image [7] 6 // имя изображения
set %image [8] 7 // имя изображения
set %image [9] 8 // имя изображения
set %image [10] 9 // имя изображения
set $path "\img\" // путь к картинкам
set %image [1] name0 // имя изображения
set %image [2] name1 // имя изображения
set %image [3] name2 // имя изображения
set %image [4] name3 // имя изображения
set %image [5] name4 // имя изображения
set %image [6] name5 // имя изображения
set %image [7] name6 // имя изображения
set %image [8] name7 // имя изображения
set %image [9] name8 // имя изображения
set %image [10] name9 // имя изображения
Да хоть 3000 поисков. Это вообще не имеет значения, также как имена файлов.
Закиньте папку с картинками на диск C. Назовите картинки 0.bmp, 1.bmp и т.д. Запустите код.
set $path "C:\img\" // путь к картинкам
init_arr %image 0 1 2 3 4 5 6 7 8 9 // имена картинок
for #i 1 size(%image)
set #a findimage(0 0 1920 1080 ($path%image[#i].bmp) %arr)
log #a
if #a > 0
log Нашлась картинка %image [#i]
end_if
end_for
end_script
set $path "C:\img\" // путь к картинкам
init_arr %image 0 1 2 3 4 5 6 7 8 9 // имена картинок
for #i 1 size(%image)
set #a findimage(0 0 1920 1080 ($path%image[#i].bmp) %arr)
log #a
if #a > 0
log Нашлась картинка %image [#i]
end_if
end_for
end_script
Вот видите, картинки находятся и названия не причём.
Предлагаю ещё раз, хотя бы для начала, увеличить область поиска.
Ох не знаю в чем трабла, уже весь мозг сломал(
wait 1125 + random (157)
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
// #a $a Медь
// #b $b Серебро
// #c $c Золото
set #startXa 1162
set #startYa 396
set #endXa 1183
set #endYa 404
set #startXb 1116
set #startYb 396
set #endXb 1146
set #endYb 404
set #startXc 1081
set #startYc 396
set #endXc 1110
set #endYc 404
set $path "\img\" // путь к картинкам
set %image [1] 10 // имя изображения
set %image [2] 20 // имя изображения
set %image [3] 30 // имя изображения
set %image [4] 40 // имя изображения
set %image [5] 50 // имя изображения
set %image [6] 60 // имя изображения
set %image [7] 70 // имя изображения
set %image [8] 80 // имя изображения
set %image [9] 90 // имя изображения
set %image [10] 0 // имя изображения// открыта картинка 0 [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
set %image [11] 11 // имя изображения
set %image [12] 22 // имя изображения
set %image [13] 33 // имя изображения
set %image [14] 44 // имя изображения
set %image [15] 55 // имя изображения
set %image [16] 66 // имя изображения
set %image [17] 77 // имя изображения
set %image [18] 88 // имя изображения
set %image [19] 99 // имя изображения
set %image [20] 6 // имя изображения
set %image [21] 2 // имя изображения
set %image [22] 3 // имя изображения
set %image [23] 4 // имя изображения
set %image [24] 5 // имя изображения
set %image [25] 6 // имя изображения
set %image [26] 7 // имя изображения
set %image [27] 8 // имя изображения
set %image [28] 9 // имя изображения
set %image [29] 12 // имя изображения
set %image [30] 13 // имя изображения
set %image [31] 14 // имя изображения
set %image [31] 15 // имя изображения
set %image [33] 16 // имя изображения
set %image [34] 17 // имя изображения
set %image [35] 18 // имя изображения
set %image [36] 19 // имя изображения
set %image [37] 21 // имя изображения
set %image [38] 23 // имя изображения
set %image [39] 24 // имя изображения
set %image [40] 25 // имя изображения
set %image [41] 26 // имя изображения
set %image [42] 27 // имя изображения
set %image [43] 28 // имя изображения
set %image [44] 29 // имя изображения
set %image [45] 31 // имя изображения
set %image [46] 32 // имя изображения
set %image [47] 34 // имя изображения
set %image [48] 35 // имя изображения
set %image [49] 36 // имя изображения
set %image [50] 37 // имя изображения
set %image [51] 38 // имя изображения
set %image [52] 39 // имя изображения
set %image [53] 41 // имя изображения
set %image [54] 42 // имя изображения
set %image [55] 43 // имя изображения
set %image [56] 45 // имя изображения
set %image [57] 46 // имя изображения
set %image [58] 47 // имя изображения
set %image [59] 48 // имя изображения
set %image [60] 49 // имя изображения
set %image [61] 51 // имя изображения
set %image [62] 52 // имя изображения
set %image [63] 53 // имя изображения
set %image [64] 54 // имя изображения
set %image [65] 55 // имя изображения
set %image [66] 56 // имя изображения
set %image [67] 57 // имя изображения
set %image [68] 58 // имя изображения
set %image [69] 59 // имя изображения
set %image [70] 61 // имя изображения
set %image [71] 62 // имя изображения
set %image [72] 63 // имя изображения
set %image [73] 64 // имя изображения
set %image [74] 65 // имя изображения
set %image [75] 67 // имя изображения
set %image [76] 68 // имя изображения
set %image [77] 69 // имя изображения
set %image [78] 71 // имя изображения
set %image [79] 72 // имя изображения
set %image [80] 73 // имя изображения
set %image [81] 74 // имя изображения
set %image [82] 75 // имя изображения
set %image [83] 76 // имя изображения
set %image [84] 78 // имя изображения
set %image [85] 79 // имя изображения
set %image [86] 81 // имя изображения
set %image [87] 82 // имя изображения
set %image [88] 83 // имя изображения
set %image [89] 84 // имя изображения
set %image [90] 85 // имя изображения
set %image [91] 86 // имя изображения
set %image [92] 87 // имя изображения
set %image [93] 89 // имя изображения
set %image [94] 91 // имя изображения
set %image [95] 92 // имя изображения
set %image [95] 93 // имя изображения
set %image [96] 94 // имя изображения
set %image [97] 95 // имя изображения
set %image [98] 96 // имя изображения
set %image [99] 97 // имя изображения
set %image [100] 98 // имя изображения
//set %image [101] 0 // имя изображения закрыта картинка 0 [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
//set %image [102] 0 // имя изображения закрыта картинка 0 [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
set %image [103] XX // имя изображения
set #size size(%image) // всего картинок
//goto bbb
//goto aaa
//log #size
//end_script
////////////////////////////////////////////////////////////////////////////////
move 1361 311 3 3 // перемещаем курсор
wait 105 + random (32)
set MouseClickDelay 54 + random(36)
left 1361 311 3 3 // жмем *ЛКМ* (СБРОС)
wait 98 + random (29)
set clipboard золото // Копируем в буфер слово
//move 1117 310 3 3 // перемещаем курсор
wait 98 + random (29)
set MouseClickDelay 51 + random(32)
left 1117 310 3 3 // жмем ЛКМ
wait 221 + random (79)
sendex ^v // жмем ctrl+v
wait 297 + random (103)
//move 1288 310 3 3 // перемещаем курсор
wait 102 + random (34)
set MouseClickDelay 64 + random(40)
left 1288 310 3 3 // жмем ЛКМ
wait 512 + random (97)
if 1060, 410 2827811 // Если в координатах найден цвет то:
move 1361 311 3 3 // перемещаем курсор
wait 105 + random (32)
set MouseClickDelay 54 + random(36)
left 1361 311 3 3 // жмем *ЛКМ* (СБРОС)
wait 108 + random (114)
else
end_if
:aaa
//------------------------------------------------------------------------------
for #AA 1 size(%image) 1 // цикл для поиска картинок
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arr 2 80)
if #a > 0
log Картинка a %image [#AA] совпала
goto peremenkia
else
log Картинка не найдена a #AA
end_if
end_for
wait 10
:peremenkia
if %image [#AA] = 0
set %image [#AA] 00
end_if
if %image [#AA] = 1
set %image [#AA] 01
end_if
if %image [#AA] = 2
set %image [#AA] 02
end_if
if %image [#AA] = 3
set %image [#AA] 03
end_if
if %image [#AA] = 4
set %image [#AA] 04
end_if
if %image [#AA] = 5
set %image [#AA] 05
end_if
if %image [#AA] = 6
set %image [#AA] 06
end_if
if %image [#AA] = 7
set %image [#AA] 07
end_if
if %image [#AA] = 8
set %image [#AA] 08
end_if
if %image [#AA] = 9
set %image [#AA] 09
end_if
wait 300
:bbb
//------------------------------------------------------------------------------
for #BB 1 size(%image) 1 // цикл для поиска картинок
set #b findimage (#startXb #startYb #endXb #endYb ($path%image[#BB].bmp) %arr 2 80)
if #b > 0
log Картинка b %image [#BB] совпала
goto peremenkib
else
log Картинка не найдена b #BB
end_if
end_for
wait 10
:peremenkib
if %image [#BB] = 0
set %image [#BB] 00
end_if
if %image [#BB] = 1
set %image [#BB] 01
end_if
if %image [#BB] = 2
set %image [#BB] 02
end_if
if %image [#BB] = 3
set %image [#BB] 03
end_if
if %image [#BB] = 4
set %image [#BB] 04
end_if
if %image [#BB] = 5
set %image [#BB] 05
end_if
if %image [#BB] = 6
set %image [#BB] 06
end_if
if %image [#BB] = 7
set %image [#BB] 07
end_if
if %image [#BB] = 8
set %image [#BB] 08
end_if
if %image [#BB] = 9
set %image [#BB] 09
end_if
wait 300
//------------------------------------------------------------------------------
:ccc
for #CC 1 size(%image) 1 // цикл для поиска картинок
set #c findimage (#startXc #startYc #endXc #endYc ($path%image[#CC].bmp) %arr 2 80)
if #c > 0
log Картинка c %image [#CC] совпала
goto peremenkic
else
log Картинка не найдена c #CC
end_if
end_for
wait 10
:peremenkic
if %image [#CC] = 0
set %image [#CC] 00
end_if
if %image [#CC] = 1
set %image [#CC] 01
end_if
if %image [#CC] = 2
set %image [#CC] 02
end_if
if %image [#CC] = 3
set %image [#CC] 03
end_if
if %image [#CC] = 4
set %image [#CC] 04
end_if
if %image [#CC] = 5
set %image [#CC] 05
end_if
if %image [#CC] = 6
set %image [#CC] 06
end_if
if %image [#CC] = 7
set %image [#CC] 07
end_if
if %image [#CC] = 8
set %image [#CC] 08
end_if
if %image [#CC] = 9
set %image [#CC] 09
end_if
if %image [#CC] = XX or %image [#BB] = XX or %image [#AA] = XX
log Одна из переменных не найдена
end_if
set $d %image [#CC]%image[#BB]%image [#AA] // Получаем число d из 3 переменных cba
log Переменная %image [#CC] %image [#BB] %image [#AA] / $d
log #size Какойто текст
end_script
wait 1125 + random (157)
// поиск нескольких картинок
// перед запуском скрипта не забываем привязать скрипт к рабочему окну (Ctrl+A)
// #a $a Медь
// #b $b Серебро
// #c $c Золото
set #startXa 1162
set #startYa 396
set #endXa 1183
set #endYa 404
set #startXb 1116
set #startYb 396
set #endXb 1146
set #endYb 404
set #startXc 1081
set #startYc 396
set #endXc 1110
set #endYc 404
set $path "\img\" // путь к картинкам
set %image [1] 10 // имя изображения
set %image [2] 20 // имя изображения
set %image [3] 30 // имя изображения
set %image [4] 40 // имя изображения
set %image [5] 50 // имя изображения
set %image [6] 60 // имя изображения
set %image [7] 70 // имя изображения
set %image [8] 80 // имя изображения
set %image [9] 90 // имя изображения
set %image [10] 0 // имя изображения// открыта картинка 0 [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
set %image [11] 11 // имя изображения
set %image [12] 22 // имя изображения
set %image [13] 33 // имя изображения
set %image [14] 44 // имя изображения
set %image [15] 55 // имя изображения
set %image [16] 66 // имя изображения
set %image [17] 77 // имя изображения
set %image [18] 88 // имя изображения
set %image [19] 99 // имя изображения
set %image [20] 6 // имя изображения
set %image [21] 2 // имя изображения
set %image [22] 3 // имя изображения
set %image [23] 4 // имя изображения
set %image [24] 5 // имя изображения
set %image [25] 6 // имя изображения
set %image [26] 7 // имя изображения
set %image [27] 8 // имя изображения
set %image [28] 9 // имя изображения
set %image [29] 12 // имя изображения
set %image [30] 13 // имя изображения
set %image [31] 14 // имя изображения
set %image [31] 15 // имя изображения
set %image [33] 16 // имя изображения
set %image [34] 17 // имя изображения
set %image [35] 18 // имя изображения
set %image [36] 19 // имя изображения
set %image [37] 21 // имя изображения
set %image [38] 23 // имя изображения
set %image [39] 24 // имя изображения
set %image [40] 25 // имя изображения
set %image [41] 26 // имя изображения
set %image [42] 27 // имя изображения
set %image [43] 28 // имя изображения
set %image [44] 29 // имя изображения
set %image [45] 31 // имя изображения
set %image [46] 32 // имя изображения
set %image [47] 34 // имя изображения
set %image [48] 35 // имя изображения
set %image [49] 36 // имя изображения
set %image [50] 37 // имя изображения
set %image [51] 38 // имя изображения
set %image [52] 39 // имя изображения
set %image [53] 41 // имя изображения
set %image [54] 42 // имя изображения
set %image [55] 43 // имя изображения
set %image [56] 45 // имя изображения
set %image [57] 46 // имя изображения
set %image [58] 47 // имя изображения
set %image [59] 48 // имя изображения
set %image [60] 49 // имя изображения
set %image [61] 51 // имя изображения
set %image [62] 52 // имя изображения
set %image [63] 53 // имя изображения
set %image [64] 54 // имя изображения
set %image [65] 55 // имя изображения
set %image [66] 56 // имя изображения
set %image [67] 57 // имя изображения
set %image [68] 58 // имя изображения
set %image [69] 59 // имя изображения
set %image [70] 61 // имя изображения
set %image [71] 62 // имя изображения
set %image [72] 63 // имя изображения
set %image [73] 64 // имя изображения
set %image [74] 65 // имя изображения
set %image [75] 67 // имя изображения
set %image [76] 68 // имя изображения
set %image [77] 69 // имя изображения
set %image [78] 71 // имя изображения
set %image [79] 72 // имя изображения
set %image [80] 73 // имя изображения
set %image [81] 74 // имя изображения
set %image [82] 75 // имя изображения
set %image [83] 76 // имя изображения
set %image [84] 78 // имя изображения
set %image [85] 79 // имя изображения
set %image [86] 81 // имя изображения
set %image [87] 82 // имя изображения
set %image [88] 83 // имя изображения
set %image [89] 84 // имя изображения
set %image [90] 85 // имя изображения
set %image [91] 86 // имя изображения
set %image [92] 87 // имя изображения
set %image [93] 89 // имя изображения
set %image [94] 91 // имя изображения
set %image [95] 92 // имя изображения
set %image [95] 93 // имя изображения
set %image [96] 94 // имя изображения
set %image [97] 95 // имя изображения
set %image [98] 96 // имя изображения
set %image [99] 97 // имя изображения
set %image [100] 98 // имя изображения
set %image [101] 0 // имя изображения открыта картинка 0 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
set %image [102] 0 // имя изображения открыта картинка 0 ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
set %image [103] XX // имя изображения
set #size size(%image) // всего картинок
//goto bbb
//goto aaa
//log #size
//end_script
////////////////////////////////////////////////////////////////////////////////
move 1361 311 3 3 // перемещаем курсор
wait 105 + random (32)
set MouseClickDelay 54 + random(36)
left 1361 311 3 3 // жмем *ЛКМ* (СБРОС)
wait 98 + random (29)
set clipboard золото // Копируем в буфер слово
//move 1117 310 3 3 // перемещаем курсор
wait 98 + random (29)
set MouseClickDelay 51 + random(32)
left 1117 310 3 3 // жмем ЛКМ
wait 221 + random (79)
sendex ^v // жмем ctrl+v
wait 297 + random (103)
//move 1288 310 3 3 // перемещаем курсор
wait 102 + random (34)
set MouseClickDelay 64 + random(40)
left 1288 310 3 3 // жмем ЛКМ
wait 512 + random (97)
if 1060, 410 2827811 // Если в координатах найден цвет то:
move 1361 311 3 3 // перемещаем курсор
wait 105 + random (32)
set MouseClickDelay 54 + random(36)
left 1361 311 3 3 // жмем *ЛКМ* (СБРОС)
wait 108 + random (114)
else
end_if
:aaa
//------------------------------------------------------------------------------
for #AA 1 size(%image) 1 // цикл для поиска картинок
set #a findimage (#startXa #startYa #endXa #endYa ($path%image[#AA].bmp) %arr 2 80)
if #a > 0
log Картинка a %image [#AA] совпала
goto peremenkia
else
log Картинка не найдена a #AA
end_if
end_for
wait 10
:peremenkia
if %image [#AA] = 0
set %image [#AA] 00
end_if
if %image [#AA] = 1
set %image [#AA] 01
end_if
if %image [#AA] = 2
set %image [#AA] 02
end_if
if %image [#AA] = 3
set %image [#AA] 03
end_if
if %image [#AA] = 4
set %image [#AA] 04
end_if
if %image [#AA] = 5
set %image [#AA] 05
end_if
if %image [#AA] = 6
set %image [#AA] 06
end_if
if %image [#AA] = 7
set %image [#AA] 07
end_if
if %image [#AA] = 8
set %image [#AA] 08
end_if
if %image [#AA] = 9
set %image [#AA] 09
end_if
wait 300
:bbb
//------------------------------------------------------------------------------
for #BB 1 size(%image) 1 // цикл для поиска картинок
set #b findimage (#startXb #startYb #endXb #endYb ($path%image[#BB].bmp) %arr 2 80)
if #b > 0
log Картинка b %image [#BB] совпала
goto peremenkib
else
log Картинка не найдена b #BB
end_if
end_for
wait 10
:peremenkib
if %image [#BB] = 0
set %image [#BB] 00
end_if
if %image [#BB] = 1
set %image [#BB] 01
end_if
if %image [#BB] = 2
set %image [#BB] 02
end_if
if %image [#BB] = 3
set %image [#BB] 03
end_if
if %image [#BB] = 4
set %image [#BB] 04
end_if
if %image [#BB] = 5
set %image [#BB] 05
end_if
if %image [#BB] = 6
set %image [#BB] 06
end_if
if %image [#BB] = 7
set %image [#BB] 07
end_if
if %image [#BB] = 8
set %image [#BB] 08
end_if
if %image [#BB] = 9
set %image [#BB] 09
end_if
wait 300
//------------------------------------------------------------------------------
:ccc
for #CC 1 size(%image) 1 // цикл для поиска картинок
set #c findimage (#startXc #startYc #endXc #endYc ($path%image[#CC].bmp) %arr 2 80)
if #c > 0
log Картинка c %image [#CC] совпала
goto peremenkic
else
log Картинка не найдена c #CC
end_if
end_for
wait 10
:peremenkic
if %image [#CC] = 0
set %image [#CC] 00
end_if
if %image [#CC] = 1
set %image [#CC] 01
end_if
if %image [#CC] = 2
set %image [#CC] 02
end_if
if %image [#CC] = 3
set %image [#CC] 03
end_if
if %image [#CC] = 4
set %image [#CC] 04
end_if
if %image [#CC] = 5
set %image [#CC] 05
end_if
if %image [#CC] = 6
set %image [#CC] 06
end_if
if %image [#CC] = 7
set %image [#CC] 07
end_if
if %image [#CC] = 8
set %image [#CC] 08
end_if
if %image [#CC] = 9
set %image [#CC] 09
end_if
if %image [#CC] = XX or %image [#BB] = XX or %image [#AA] = XX
log Одна из переменных не найдена
end_if
set $d %image [#CC]%image[#BB]%image [#AA] // Получаем число d из 3 переменных cba
log Переменная %image [#CC] %image [#BB] %image [#AA] / $d
log #size Какойто текст
end_script
set %image
if %image [#AA] = 0
set %image [#AA] 00
end_if
set %image
if %image [#AA] = 0
set %image [#AA] 00
end_if
Для поиска чисел есть готовый скрипт. https://forum.uokit.com/index.php?showtopic=30000
Вашим скриптом, скорее всего, не найдете нужные числа. Если нужно найти 11, то картинка 1 тоже будет найдена. Или число 23, будет найдена и 2, и 3, и 21.
Всем привет. помогите написать скрипт.
Есть поле 3 на 3. В нем при нажатие кнопки меняються картинки. Надо сделать так, чтобы когда во всех 9 клетках появилась одна картинка, скрипт остановился, если не выпало 9 одинаковых, продолжать обновлять.
Заранее спасибо
set #b 0
while #b < 9 // пока не найдено 9 картинок
set %a GetImage (136, 365 152, 391 abs ) // сделать скрин (координаты абсолютные)
set $bmp SaveImage (%a [1 1] C:\picture.bmp) // сохранить скрин (можно убрать)
set #b FindImage (8, 8 201, 209 (%a[1 1]) %arr 2 80 9 5) // поиск
hint #b // сколько найдено
set #a DeleteImage (%a [1 1]) // удалить скрин
wait 100
end_while
end_script
set #b 0
while #b < 9 // пока не найдено 9 картинок
set %a GetImage (136, 365 152, 391 abs ) // сделать скрин (координаты абсолютные)
set $bmp SaveImage (%a [1 1] C:\picture.bmp) // сохранить скрин (можно убрать)
set #b FindImage (8, 8 201, 209 (%a[1 1]) %arr 2 80 9 5) // поиск
hint #b // сколько найдено
set #a DeleteImage (%a [1 1]) // удалить скрин
wait 100
end_while
end_script
сократил до поиска картинок чтобы проверить.
НО почему то выдает #b=80
И еще немного не понимаю, как воткнуть команду, что если картинок меньше допустим 2 он жал кнопку обновить
Эскизы прикрепленных изображений
set #b 0
while #b < 9 // пока не найдено 9 картинок
set %a GetImage (136, 365 152, 391 abs ) // сделать скрин (координаты абсолютные)
set $bmp SaveImage (%a [1 1] C:\picture.bmp) // сохранить скрин (можно убрать)
set #b FindImage (8, 8 201, 209 (%a[1 1]) %arr 2 80 9 5) // поиск
hint size(%arr) // сколько найдено
set #b size(%arr)
set #a DeleteImage (%a [1 1]) // удалить скрин
wait 100
end_while
end_script
if size(%arr) < 2
// нужное действие
end_if
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)