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

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Проблемы с кликером на фарм
VALHALLA
сообщение 26.12.2017, 16:27
Сообщение #21


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 17:14) *

Скиньте код, которым ищете картинку. И скрин в bmp формате, где ищется картинка и искомую картинку тоже в bmp.


Код
set #a findimage (571 429 707 445 (D:\Games\nokill2.bmp) %arr workwindow 80 1 70)  // указать координаты
log #a   // результат поиска, показывает точность, с которой найдена картинка, или 0, если не найдена
if  #a > 0
    send escape
end_if
wait 300

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


**********

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



Картинки вообще разные. На nokill2.bmp буква 'П' высотой 9 пикселей, на Shot00004.bmp 8 пикселей. Надписи даже по длине отличаются.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 17:45
Сообщение #23


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 18:41) *

Картинки вообще разные. На nokill2.bmp буква 'П' высотой 9 пикселей, на Shot00004.bmp 8 пикселей. Надписи даже по длине отличаются.

похоже я случайно растянул надпись,попробую еще раз. А что насчёт застревания?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 18:13
Сообщение #24


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



новая картинка вот переделал,тоже самое(ничего не растягивал,просто вырезал на новую вкладку и закрасил)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.12.2017, 18:56
Сообщение #25


**********

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



Теперь нормально.
Для начала координаты укажите 0 0 1920 1080.
Код
// не забываем сделать привязку Ctrl + A
set #a findimage (0 0 1920 1080 (D:\Games\nokill2.bmp) %arr workwindow 80 1 10)  
log #a   // результат поиска, показывает точность, с которой найдена картинка, или 0, если не найдена
if  #a > 0
    send escape
end_if
wait 300

Если будет нормально, скорее всего, надо будет конечные координаты по Y указывать больше, где-то + 30.
Цитата
571 429 707 445

Код
571 429 707 475

Цитата
А что насчёт застревания?

Сначала с картинкой разберёмся.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 19:29
Сообщение #26


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 19:56) *

Теперь нормально.
Для начала координаты укажите 0 0 1920 1080.
Код
// не забываем сделать привязку Ctrl + A
set #a findimage (0 0 1920 1080 (D:\Games\nokill2.bmp) %arr workwindow 80 1 10)  
log #a   // результат поиска, показывает точность, с которой найдена картинка, или 0, если не найдена
if  #a > 0
    send escape
end_if
wait 300

Если будет нормально, скорее всего, надо будет конечные координаты по Y указывать больше, где-то + 30.

Код
571 429 707 475


Сначала с картинкой разберёмся.

если сделать с координатами 0 0 1920 1080 то в логи пишет 100 и сбрасывает цель,а если меняю на координаты со смещением,то в логи 0. Может оставить 0 0 1920 1080? на другие таргеты вроде бы не сбрасывает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.12.2017, 20:05
Сообщение #27


**********

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



Можно и оставить конечно. В окне пилота есть кнопка F. В окне отображается что видит пилот при поиске. Можно подобрать нужные координаты.
На счёт отмены цели можно так попробовать:
код
Код
// Кнопка с макросом /targetnext
set %mob [1] F1
// Кнопки с макросами на таргет мобов.
// При необходимости можно добавлять неограниченное количество.
// Пустые кнопки не оставлять! Если не нужно большое количество
// таргетов - лишние убрать!
set %mob [2] F2
set %mob [3] F3
set %mob [4] F4
set %mob [5] F5

// Кнопки со скилами атаки.
// При необходимости можно добавлять неограниченное количество.
// Пустые кнопки не оставлять! Если не нужно большое количество
// скилов - лишние убрать!
set %attack [1] F6
set %attack [2] F7

// Кнопка с подбором лута.
set $pickup F8

// Сколько выпавших итемов будет подбирать.
// Если упадет меньше, то все равно будет стоять и тыкать.
set #pickup 4

// Цвет крайней левой точки полоски хп моба.
set #mobColorHP 1121401
// Координата крайней левой точки полоски хп моба.
set #xMobHP 536
set #yMobHP 49

set #mobsize size (%mob)
set #attacksize size (%attack)
set #nMob 1
set #nAttack 1

set #endX #xMobHP + 10
set #endY #yMobHP + 35

set #detected 0

:start
set #hp 0
while #hp = 0  // Пока не увидим хп, ищем моба
    send %mob [#nMob]
    if  #nMob < #mobsize
        set #nMob #nMob + 1
    else
        set #nMob 1
    end_if
    wait 500 + random (1000)
    set #hp findcolor(#xMobHP #yMobHP #endX #endY (#mobColorHP) %arrHP workwindow -1 1)
end_while

set #nMob 1
set #maxHPmob %arrHP[size(%arrHP) 1]

while #hp > 0 // Пока видим хп - лупим
    set #HPmob %arrHP[size(%arrHP) 1]
    send %attack [#nAttack]
    if  #nAttack < #Attacksize
        set #nAttack #nAttack + 1
    else
        set #nAttack 1
    end_if
    wait 500 + random (1000)
    set #hp findcolor(#xMobHP #yMobHP #endX #endY (#mobColorHP) %arrHP workwindow -1 1)
    gosub detect    // переход к метке
end_while

repeat #pickup // Собираем дроп.
    send $pickup
    wait 200
    wait random (500)
end_repeat

goto start


:detect
    if  #maxHPmob = #HPmob  // если у моба полное хп
        if  #detected = 1 // Велось ли наблюдение за данным мобом уже(таргет не сбрасывался)
            if  #targetTime < timer // Время на первый удар по мобу вышло?
                set #detected 0
                //СЮДА ПИШЕМ ЧТО СДЕЛАТЬ ПРИ ЗАСТРЕВАНИИ.
                alarm // Будет пищать в колонки

                // отменяем таргет и берём в таргет следующего моба
                send escape

                if  #nMob < #mobsize
                    set #nMob #nMob + 1
                else
                    set #nMob 1
                end_if
                send %mob [#nMob]
                wait 500 + random (1000)
                //////////////////

            end_if
        else
            set #targetTime timer + 15000 // Сколько времени без дамага по мобу скажет о застревании. 15 секунд
            set #detected 1
        end_if
    else // Хп моба не видно
        set #detected 0 // Таргет был сброшен либо моба начали бить.
    end_if
return

Если моба не бьёт 15 секунд, то выделяет следующего. Особо не тестил.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 21:52
Сообщение #28


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 21:05) *

Можно и оставить конечно. В окне пилота есть кнопка F. В окне отображается что видит пилот при поиске. Можно подобрать нужные координаты.
На счёт отмены цели можно так попробовать:
код
Код
// Кнопка с макросом /targetnext
set %mob [1] F1
// Кнопки с макросами на таргет мобов.
// При необходимости можно добавлять неограниченное количество.
// Пустые кнопки не оставлять! Если не нужно большое количество
// таргетов - лишние убрать!
set %mob [2] F2
set %mob [3] F3
set %mob [4] F4
set %mob [5] F5

// Кнопки со скилами атаки.
// При необходимости можно добавлять неограниченное количество.
// Пустые кнопки не оставлять! Если не нужно большое количество
// скилов - лишние убрать!
set %attack [1] F6
set %attack [2] F7

// Кнопка с подбором лута.
set $pickup F8

// Сколько выпавших итемов будет подбирать.
// Если упадет меньше, то все равно будет стоять и тыкать.
set #pickup 4

// Цвет крайней левой точки полоски хп моба.
set #mobColorHP 1121401
// Координата крайней левой точки полоски хп моба.
set #xMobHP 536
set #yMobHP 49

set #mobsize size (%mob)
set #attacksize size (%attack)
set #nMob 1
set #nAttack 1

set #endX #xMobHP + 10
set #endY #yMobHP + 35

set #detected 0

:start
set #hp 0
while #hp = 0  // Пока не увидим хп, ищем моба
    send %mob [#nMob]
    if  #nMob < #mobsize
        set #nMob #nMob + 1
    else
        set #nMob 1
    end_if
    wait 500 + random (1000)
    set #hp findcolor(#xMobHP #yMobHP #endX #endY (#mobColorHP) %arrHP workwindow -1 1)
end_while

set #nMob 1
set #maxHPmob %arrHP[size(%arrHP) 1]

while #hp > 0 // Пока видим хп - лупим
    set #HPmob %arrHP[size(%arrHP) 1]
    send %attack [#nAttack]
    if  #nAttack < #Attacksize
        set #nAttack #nAttack + 1
    else
        set #nAttack 1
    end_if
    wait 500 + random (1000)
    set #hp findcolor(#xMobHP #yMobHP #endX #endY (#mobColorHP) %arrHP workwindow -1 1)
    gosub detect    // переход к метке
end_while

repeat #pickup // Собираем дроп.
    send $pickup
    wait 200
    wait random (500)
end_repeat

goto start
:detect
    if  #maxHPmob = #HPmob  // если у моба полное хп
        if  #detected = 1 // Велось ли наблюдение за данным мобом уже(таргет не сбрасывался)
            if  #targetTime < timer // Время на первый удар по мобу вышло?
                set #detected 0
                //СЮДА ПИШЕМ ЧТО СДЕЛАТЬ ПРИ ЗАСТРЕВАНИИ.
                alarm // Будет пищать в колонки

                // отменяем таргет и берём в таргет следующего моба
                send escape

                if  #nMob < #mobsize
                    set #nMob #nMob + 1
                else
                    set #nMob 1
                end_if
                send %mob [#nMob]
                wait 500 + random (1000)
                //////////////////

            end_if
        else
            set #targetTime timer + 15000 // Сколько времени без дамага по мобу скажет о застревании. 15 секунд
            set #detected 1
        end_if
    else // Хп моба не видно
        set #detected 0 // Таргет был сброшен либо моба начали бить.
    end_if
return

Если моба не бьёт 15 секунд, то выделяет следующего. Особо не тестил.

пикает даже если моба бью,скорее всего с полным хп неправильно что-то,может стоит вручную настроить как и минимальное хп?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.12.2017, 22:43
Сообщение #29


**********

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



Цитата
скорее всего с полным хп неправильно что-то

Исправить:
Код
set #endX #xMobHP + 10

На:
Код
set #endX #xMobHP + 400
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 22:52
Сообщение #30


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 23:43) *

Исправить:
Код
set #endX #xMobHP + 10

На:
Код
set #endX #xMobHP + 400


тоже самое,нужно больше подкрутить тогда?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 26.12.2017, 23:04
Сообщение #31


**

Neophyte
Сообщений: 18
Регистрация: 22.12.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.754
Возраст: 18



Цитата(cirus @ 26.12.2017, 23:43) *

Исправить:
Код
set #endX #xMobHP + 10

На:
Код
set #endX #xMobHP + 400


всё,вроде бы работает,спасибо большое, с радарами и прочим повременим,рано еще,есть что изучать (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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