Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> FindImage проблемы скоординатами
Ericsson
сообщение 21.12.2021, 20:10
Сообщение #1


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Добрый день, есть скрипт, который повторяет действия в игре.
Когда запускаешь по новой, отрабатывает отлично, когда повторяется, происходит сбив по картинке, будто смещаются координаты.
скрипт длинный.
сюда можно его выложить?


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 21.12.2021, 20:13
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
сюда можно его выложить?

Можно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 21.12.2021, 20:17
Сообщение #3


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Вот думал может вначале поставить обнуление координат какое нибудь.
Спасибо, за такой быстрый ответ.
//дорога до руды
:Ore
:точка1
set findoffsetx 6 //смещение вправо на 50 пикселей
set findoffsety 15 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка1.bmp"
set #a findimage (1171, 112 1420, 362 ($path) %arr 2 90 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
wait 1500
kleft %arr[1 1] %arr[1 2]
wait 11500
end_if

:точка2
set findoffsetx 0 //смещение вправо на 50 пикселей
set findoffsety 3 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка2.bmp"
set #a findimage (1171, 112 1420, 362 ($path) %arr 2 80 1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 14500
end_if

set $path "C:\Users\Slava\Desktop\UO242\image\точка2.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if_not #a > 0
end_if
set $path "C:\Users\Slava\Desktop\UO242\image\точка3.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if_not #a > 0
goto точка1
end_if

set findoffsetx 0 //смещение вправо на 50 пикселей
set findoffsety 0 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка2.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 14500
end_if
:точка3

set findoffsetx 2 //смещение вправо на 50 пикселей
set findoffsety 2 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка3.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 14500
end_if

:точка4

set findoffsetx 13 //смещение вправо на 50 пикселей
set findoffsety 35 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка4.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 12000
end_if

set $path "C:\Users\Slava\Desktop\UO242\image\точка4.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if_not #a > 0
goto точка3
end_if
//добыча
kleft 886, 26
wait 500
set findoffsetx 30 //смещение вправо на 50 пикселей
set findoffsety 10 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\lopata.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
right %arr[#rand 1] %arr[#rand 2]
wait 1500
end_if

sendex ~{}
wait 1500
set findoffsetx 40 //смещение вправо на 50 пикселей
set findoffsety 40 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\unknownore.bmp"
set #a findimage (303, 179 1184, 772 ($path) %arr 2 30 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
wait 1000
end_if
wait 2000

set findoffsetx 100 //смещение вправо на 50 пикселей
set findoffsety 10 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Count.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
left_down %arr[#rand 1] %arr[#rand 2]
set Clickoffsetx -20 // смещение вправо на 50 пикселей
set Clickoffsety 0 // смещение вниз на 30 пикселей
move %arr[#rand 1] %arr[#rand 2]
wait 1000
left_up %arr[#rand 1] %arr[#rand 2]
wait 1000
end_if
send217 2
wait 1500
send217 5
wait 1500

set findoffsetx 10 //смещение вправо на 50 пикселей
set findoffsety 10 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\start.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
wait 1500
end_if

wait 500

sendex
wait 50000

//дорога назад

set findoffsetx 20 //смещение вправо на 50 пикселей
set findoffsety 5 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка5.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 13500
end_if

set findoffsetx 41 //смещение вправо на 50 пикселей
set findoffsety 20 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка6.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 14000
end_if

set findoffsetx 25 //смещение вправо на 50 пикселей
set findoffsety 10 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\точка7.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 16500
end_if
:Bankformune
set findoffsetx 30 //смещение вправо на 50 пикселей
set findoffsety 10 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Bankformune.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 50 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
kleft %arr[#rand 1] %arr[#rand 2]
wait 11000
end_if
if_not #a > 0
goto Bankformune
end_if

//поиск банкира
:Banker2
set findoffsetx 35 //смещение вправо на 50 пикселей
set findoffsety 30 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Banker2.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
wait 3500
end_if

set findoffsetx 40 //смещение вправо на 50 пикселей
set findoffsety 40 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Select dialog.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
wait 500
left %arr[#rand 1] %arr[#rand 2]
wait 3000
end_if
if_not 744, 372 9932563
goto Banker2
end_if
wait 1500

:Сумка
move 0 0 nooffset
set findoffsetx -50 //смещение вправо на 50 пикселей
set findoffsety 35 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Сумка.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
right %arr[#rand 1] %arr[#rand 2]
wait 3500
end_if

set findoffsetx 25 //смещение вправо на 50 пикселей
set findoffsety 50 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\SelectCount.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
wait 1500
end_if

set findoffsetx 25 //смещение вправо на 50 пикселей
set findoffsety 5 //смещение вниз на 30 пикселей
set $path "C:\Users\Slava\Desktop\UO242\image\Put.bmp"
set #a findimage (0 0 1920 1080 ($path) %arr 2 80 -1 5)
hint Найдено картинок: size(%arr)
if #a > 0
set #size size(%arr)
set #rand 1 + random (#size)
move %arr[#rand 1] %arr[#rand 2]
left %arr[#rand 1] %arr[#rand 2]
wait 2500
end_if


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 21.12.2021, 20:45
Сообщение #4


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



И ещё, я осуществляю поиск по мини карте, которая тоже двигается вместе с персонажем и если времени ожидания мне не хватает для того что бы добежал персонаж и начинается следующий следующий поиск findimage, точнее следующей картинки, то выскакивает ошибка, с чем это может быть связано?
вот по этому коду

while 1 = 1 // бесконечный цикл
set findoffsetx 4 //смещение вправо на 50 пикселей
set findoffsety 15 //смещение вниз на 30 пикселей
set #w FindImage (1169, 112 1420, 361 (C:\Users\Slava\Desktop\UO242\image\точка1.bmp) %crds 2)
if #w > 0 // если найдена первая картинка
while 1 = 1 // бесконечный цикл
left %crds[1 1] %crds[1 2] // клик по первой картинке
wait 10000 // пауза 1 сек.
set findoffsetx 80 //смещение вправо на 50 пикселей
set findoffsety 80 //смещение вниз на 30 пикселей
set #w FindImage (1169, 112 1420, 361 (C:\Users\Slava\Desktop\UO242\image\точка2.2.bmp) %crds2 2)
if #w > 0 // если найдена вторая картинка
while 1 = 1 // бесконечный цикл
left %crds2[1 1] %crds2[1 2] // клик по второй картинке
wait 12000
set #w FindImage (1169, 112 1420, 361 (C:\Users\Slava\Desktop\UO242\image\точка3.bmp) %crds3 2)
if #w > 0 // если найдена вторая картинка
while 1 = 1 // бесконечный цикл
left %crds3[1 1] %crds3[1 2] // клик по второй картинке
wait 12000
break // выход из цикла
break 2 // выход из цикла
break 3 // или выход из первого цикла если нужно
end_if
end_while
end_if
end_while
end_if
end_while
end_if
wait 100
end_while
end_script


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 21.12.2021, 21:19
Сообщение #5


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
будто смещаются координаты.

Куда смещаются? Если уменьшить скрипт, оставив 2-3 поиска, то тоже так будет?

По второму скрипту, количество enf_if больше if.
В меню пилота Скрипт, Форматировать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 21.12.2021, 21:30
Сообщение #6


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Цитата(cirus @ 21.12.2021, 21:19) *

Куда смещаются? Если уменьшить скрипт, оставив 2-3 поиска, то тоже так будет?

По второму скрипту, количество enf_if больше if.
В меню пилота Скрипт, Форматировать.


На коротком коде, такого не наблюдается работает исправно
По второму, да видимо где-то обсчитался, спасибо.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 21.12.2021, 23:00
Сообщение #7


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Можно попробовать убрать все:
Цитата
set findoffsetx 6
set findoffsety 15

и заменить:
Цитата
move %arr[#rand 1] %arr[#rand 2]

на:
Код
set #x %arr[#rand 1] + 6
set #y %arr[#rand 2] + 15
move #x #y

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 11.1.2022, 9:32
Сообщение #8


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Цитата(cirus @ 21.12.2021, 23:00) *

Можно попробовать убрать все:

и заменить:

на:
Код
set #x %arr[#rand 1] + 6
set #y %arr[#rand 2] + 15
move #x #y



Спасибо за помощь, вышел из ситуации немного подругому. Но возьму на вооружение. Спасибо.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 31.1.2022, 0:31
Сообщение #9


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Доброго времени суток.
Прошу помощи вас.
Как осуществить отслеживание полоски жизни и тому подобное, в ней присутствуют ещё цифровые показатели.
За ранее спасибо.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.1.2022, 0:53
Сообщение #10


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Код
// коориднаты поиска полоски хп
set #startX 623
set #startY 42
set #endX 850
set #endY 53

set #color 1121401  // цвет полоски

while 1 = 1
    set #a findcolor(#startX, #startY, #endX, #endY, #color %arr)
    set #percentHP (%arr [size(%arr) 1] - #startX) * 100 / (#endX - #startX)   // процент хп
    hint #percentHP
    wait 100
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 31.1.2022, 9:05
Сообщение #11


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Спасибо, а ещё как сделать чтобы он выполнял какое либо действие при уменьшении хп.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 31.1.2022, 9:48
Сообщение #12


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Цитата(Ericsson @ 31.1.2022, 9:05) *

Спасибо, а ещё как сделать чтобы он выполнял какое либо действие при уменьшении хп.


Я нашёл решение, спасибо ещё раз.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 3.2.2022, 0:18
Сообщение #13


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Цитата(cirus @ 21.12.2021, 23:00) *

Можно попробовать убрать все:

и заменить:

на:
Код
set #x %arr[#rand 1] + 6
set #y %arr[#rand 2] + 15
move #x #y



Нет, это не помогло, меняешь эти цифры а он всё в одну точку тычет. Помогает перезапуск пилота.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ericsson
сообщение 3.2.2022, 1:03
Сообщение #14


**

Neophyte
Сообщений: 12
Регистрация: 21.12.2021
Группа: Пользователи
Наличность: 0
Из: GB
Пользователь №: 20.155
Возраст: GB



Цитата(Ericsson @ 3.2.2022, 0:18) *

Нет, это не помогло, меняешь эти цифры а он всё в одну точку тычет. Помогает перезапуск пилота.


Нифига не помогает. 1 раз нормально и опять танцы с бубном. Смещение получается примерно по х - 20, на каждые точки. Я уже даже не знаю что делать. Помогите!!!


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 19.4.2024, 23:14
Designed by Nickostyle