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

 
Ответить в эту темуОткрыть новую тему
> Ловим рыбку WoW, Пальцы просто отваливаются, еле поймал 100 рыбок
bumer
сообщение 2.11.2021, 1:44
Сообщение #1


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Понадобилась поймать около 700 рыбок одинакового типа и я просто сдох, пальцы отваливаются после поимки 100 рыбок.
Что то надо с этим делать.., вот и создал эту тему тут. Надеюсь получится...
Так выглядит поплавок после заброса:
(IMG:https://cdn.discordapp.com/attachments/863440082669010944/904945783940468756/0.jpg)
Задумка такая, заброс снасти, далее в большой области экрана ищется поплавок.
Выбираем точку опознания цвета на поплавке в середине, вроде жёлтый.
(IMG:https://cdn.discordapp.com/attachments/863440082669010944/904945804945539072/1.jpg)
Так как поиск большой области наверно очень прожорлив, это на картинке обведено красным.
Как только поплавок будет найден, нужно уменьшить область сканирования, до зеленого квадрата.
Тут для меня сложность, надо рассчитать эти координаты относительно найденной точки на поплавке
Далее выжидаем момента когда жёлтый цвет почти пропадёт, это и есть поклёвка.
(IMG:https://cdn.discordapp.com/attachments/863440082669010944/904945824142852106/k0.jpg)
Данное действие происходит не дольше секунды, так что переход сканирования маленькой области необходимость. Далие курсор мыши перемешается и нажимает на поплавок...
Вот этот кусок кода работает и находит поплавок в большой области моментально:
Цитата

// Рыбалка WoW

set #handle findwindow (World of Warcraft) // поиск окна с именем World of Warcraft
set #a findcolor (558, 274 1347, 646 (2359295-5373951) %arr #handle)
//log #a // количество найденных цветов
if #a > 0 // если цвет найден
msg %arr [1 1] %arr [1 2] // сообщает координаты поплавка
End_script

Его же можно использовать для малой области.
Нужно добавить переход поиска сканирования маленькой области, вокруг поплавка...
П.С. Прошу помощи (IMG:style_emoticons/default/blink.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 4.11.2021, 22:48
Сообщение #2


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Ещё дополнительный вопрос. Код может работать со звуком, его опознавать и на него реагировать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 4.11.2021, 23:36
Сообщение #3


**********

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



Цитата
Код может работать со звуком, его опознавать и на него реагировать?

Нет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 16.11.2021, 11:06
Сообщение #4


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



попробовал формировать координаты вот так
Код

                 // Рыбалка WoW

set #handle findwindow (World of Warcraft)                // поиск окна с именем Google
set #a findcolor (558, 274 1347, 646 (10082553-7054536) %arr #handle)
//log #a                                         // количество найденных цветов
if #a > 0                                      // если цвет найден
    msg %arr [1 1] %arr [1 2]                // просто месяга
    set #x=%arr [1 1]-100
    set #у=%arr [1 2]+100
    msg #x #у

end_if
End_script

Место ожидаймого сообщения новых координат выводит просто
Код

10:00:48 0 (0.txt, 6): msg - 784 379
10:00:50 0 (0.txt, 9): msg - #x #у

Что не так, почему невычесляются новые значения координат?
Думал будет вот так
Код

10:00:48 0 (0.txt, 6): msg - 784 379
10:00:50 0 (0.txt, 9): msg - 684 479
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 16.11.2021, 11:15
Сообщение #5


**********

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



Цитата
set #x=%arr [1 1]-100

Код
set #x %arr [1 1]-100
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 16.11.2021, 11:52
Сообщение #6


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



угу, понятно. Вот сделал вот так
Код

                 // Рыбалка WoW

set #handle findwindow (World of Warcraft)                // поиск окна с именем Google
set #a findcolor (558, 274 1347, 646 (10082553-7054536) %arr #handle)
//log #a                                         // количество найденных цветов
if #a > 0                                      // если цвет найден
//    msg %arr [1 1] %arr [1 2]                // переместить курсор на первый найденный цвет
    set #b %arr [1 1]-100
    set #c %arr [1 2]-100
//    msg #b #c
    set #d %arr [1 1]+100
    set #e %arr [1 2]+100
//    msg #d #e
set #f findcolor (#b, #c #d, #e (10082553-7054536) %arr #handle)
if #f > 70
    msg поймана
end_if
end_if
// End_script

Почему то он не замыкается в поске области
Код

set #f findcolor (#b, #c #d, #e (10082553-7054536) %arr #handle)
if #f > 70
    msg поймана
end_if

а обрабыатывает сверху вниз. Что можно сделать, а луче переделать чтоб логика работы была верной.
Сначало скан большой облости, при нахождении цвета свормировать новую область сканирования, более маленкую и обрабатывать только её, смотрим значение if #f > 70 и как поплавок скрывается под водой это значение снижается, надо потсекать рыбку, тут у меня вставлена поймана мы двигаем туда мыш и нажимаем...

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


**********

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



Цитата
Почему то он не замыкается в поске области

Потому что в коде этого нет.
Код
while 1 = 1    // бесконечный цикл
    set #f findcolor (#b, #c #d, #e (10082553-7054536) %arr #handle)
    if #f > 70
        msg поймана
        break  // выход из цикла
    end_if
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 16.11.2021, 12:25
Сообщение #8


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Получилось почти идеально. Но вот всплыла проблема
Сразу после заброса, попловок проявляется плавно. из за этого ложные срабатывания.
Можно как то придумать, чтоб после заброса скрипт выжидал секунды три, а после начинал работать в своём цикле?
Код

                     // Рыбалка WoW

set #handle findwindow (World of Warcraft)                // поиск окна World of Warcraft
set #a findcolor (558, 274 1347, 646 (10082553-7054536) %arr #handle)
//log #a                                         // количество найденных цветов
if #a > 0                                      // если цвет найден
//    msg %arr [1 1] %arr [1 2]                // месяга для теста
    set #х %arr [1 1]
    set #y %arr [1 2]
    set #b %arr [1 1]-100
    set #c %arr [1 2]-100
//    msg #b #c
    set #d %arr [1 1]+100
    set #e %arr [1 2]+100
//    msg #d #e
while 1 = 1    // бесконечный цикл
    set #f findcolor (#b, #c #d, #e (10082553-7054536) %arr #handle)
    if #f < 70
double_right #х #y
double_right #х #y
        break  // выход из цикла
    end_if
end_while
end_if
send217_down 1 [100]
wait 5000
// End_script

Пока что выглядит вот так...
Вот добавил так
Код

send217_down 1
wait 5000

Но не уверен что это правельно
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 16.11.2021, 14:18
Сообщение #9


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Есть проблема с прожатием мыши, что то нетак.
Мне кажется замедлить как то сам процес нажатие удержания и отпукания правой кнопки мыши.
Как это воплатить?
Оказалось в варианте по умолчанию, нажатие мыши срабатывает 1-3 раза. Далие мыш двигается а на нажатия неотрабатывает...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 16.11.2021, 16:29
Сообщение #10


****

Apprentice
Сообщений: 282
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 8296
Пользователь №: 19.451
Возраст: 32



Во вкладке "Еще" увеличить паузу в кликах мыши
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 21.12.2021, 10:21
Сообщение #11


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



Windows 7 64bit, почему то перестало видеть цвета. Вообще ни какие, что это может быть? (IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kyja
сообщение 22.12.2021, 0:01
Сообщение #12


***

Novice
Сообщений: 85
Регистрация: 29.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.164



Скорее всего не перестал видеть а не правильно определяет
масштабирование в параметрах экрана не 100% вероятно стало
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
bumer
сообщение 22.12.2021, 0:37
Сообщение #13


****

Apprentice
Сообщений: 167
Регистрация: 2.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 14.998



немного поменял скрипт
Код

                 // Рыбалка WoW

set #handle findwindow (World of Warcraft) // поиск окна World of Warcraft
set workwindow #handle // сделать его рабочим
set #a findcolor (558, 274 1347, 646 1 1 (7177348-7571849) %arr 2 -1 3)
//log #a                                         // количество найденных цветов
if #a > 0                                      // если цвет найден
//    msg %arr [1 1] %arr [1 2]                // месяга для теста
    set #х %arr [1 1]
    set #y %arr [1 2]
//    msg #х #y
     move #х #y
    set #b %arr [1 1]-100
    set #c %arr [1 2]-100
//    msg #b #c
    set #d %arr [1 1]+100
    set #e %arr [1 2]+100
//    msg #d #e
while 1 = 1    // бесконечный цикл
    set #f findcolor (#b, #c #d, #e 1 1 (7177348-7571849) %arr 2 -1 3)
    if #f < 10
right #х #y
        break  // выход из цикла
    end_if
end_while
end_if
wait 5000
send 1
wait 3000

В результате находит какие то цвета, но за пределами координат. Сильно право и внизу...
Да что же это случилось то?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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