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

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


**

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



Здравствуйте,я только вчера узнал за программу и начал разбираться в ней,за основу я взял скрипт для кача
https://forum.uokit.com/index.php?showtopic=21166 и собственно всё работает,но есть пару проблем которые я не могу решить(наброски есть):
1) Скрипт не работает,если игру перекрывает другая программа(любой браузер и т.д.) как это можно решить?
2) Бывает такое что берёт в таргет дальнего моба,хотя есть мобы и ближе ко мне. Можно ли перед тем как атаковать,проверять расстояние до цели по всем макросам и атаковать кто ко мне ближе?желательно пример привести
3) Можно ли исключить из таргета определённого моба по нику,берётся в таргет через /targetnext(опыта с него нет,а затраты на его убийство большие).
Интересует больше всего 1 и 2 вопрос
Код

// Кнопка с макросом /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

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

set #nMob 1

while #xMobHP, #yMobHP #mobColorHP // Пока видим хп - лупим
    send %attack [#nAttack]
    if #nAttack < #Attacksize
        set #nAttack #nAttack + 1
    else
        set #nAttack 1
    end_if
    wait 500
    wait random (1000)
end_while

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

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


**********

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



1. Можно. Запустить код, чтобы узнать смещение координат:
код
Код
// Сделать привязку к окну Ctrl + A
// Указать цвет крайней левой точки полоски хп моба.
set #mobColorHP 1121401
// Указать координаты крайней левой точки полоски хп моба.
set #xMobHP 536
set #yMobHP 49

set #marker 0
for #i 0 20
   for #j 0 40
       set #x #xMobHP + #i
       set #y #yMobHP + #j
       get color #color2 #x #y workwindow
       if #color2 = #mobColorHP
          log Смещение по X = #i   по Y = #j
          set #marker 1
       end_if
   end_for
end_for
if #marker = 0
    log Смещение не найдено
end_if
end_script

В скрипте исправить:
Код
set #xMobHP 536 + 8  // + смещение по X, может быть другим
set #yMobHP 49 + 31 // + смещение по Y, может быть другим

Код
while_not #xMobHP, #yMobHP #mobColorHP workwindow  // дописать workwindow
while #xMobHP, #yMobHP #mobColorHP workwindow  // дописать workwindow

2. Проверить расстояние можно по точке на радаре, а вот как вернуться к тому же мобу это хз.
3. Сделать картинку с именем ненужного моба. После нажатия NextTarget через Findimage искать эту картинку, если найдена, значит выделен ненужный моб, снова жмём NextTarget.
Пример картинки: Прикрепленный файл  1.bmp ( 2,34 килобайт ) Кол-во скачиваний: 431

Левый верхний пиксель и весь фон нужно закрасить в любой цвет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 23.12.2017, 22:54
Сообщение #3


**

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



хм,вставил твой код как отдельный скрипт,действие прерывается на выделенной части и перескакивает вниз и так заново
// Сделать привязку к окну Ctrl + A
// Указать цвет крайней левой точки полоски хп моба.
set #mobColorHP 1121401
// Указать координаты крайней левой точки полоски хп моба.
set #xMobHP 536
set #yMobHP 49

set #marker 0
for #i 0 20
for #j 0 40
set #x #xMobHP + #i
set #y #yMobHP + #j
get color #color2 #x #y workwindow
if #color2 = #mobColorHP
log Смещение по X = #i по Y = #j
set #marker 1
end_if
end_for
end_for
if #marker = 0
log Смещение не найдено
end_if
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 23.12.2017, 23:09
Сообщение #4


**

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



Цитата(cirus @ 23.12.2017, 23:09) *

1. Можно. Запустить код, чтобы узнать смещение координат:
код
Код
// Сделать привязку к окну Ctrl + A
// Указать цвет крайней левой точки полоски хп моба.
set #mobColorHP 1121401
// Указать координаты крайней левой точки полоски хп моба.
set #xMobHP 536
set #yMobHP 49

set #marker 0
for #i 0 20
   for #j 0 40
       set #x #xMobHP + #i
       set #y #yMobHP + #j
       get color #color2 #x #y workwindow
       if #color2 = #mobColorHP
          log Смещение по X = #i   по Y = #j
          set #marker 1
       end_if
   end_for
end_for
if #marker = 0
    log Смещение не найдено
end_if
end_script

В скрипте исправить:
Код
set #xMobHP 536 + 8  // + смещение по X, может быть другим
set #yMobHP 49 + 31 // + смещение по Y, может быть другим

Код
while_not #xMobHP, #yMobHP #mobColorHP workwindow  // дописать workwindow
while #xMobHP, #yMobHP #mobColorHP workwindow  // дописать workwindow

2. Проверить расстояние можно по точке на радаре, а вот как вернуться к тому же мобу это хз.
3. Сделать картинку с именем ненужного моба. После нажатия NextTarget через Findimage искать эту картинку, если найдена, значит выделен ненужный моб, снова жмём NextTarget.
Пример картинки: Прикрепленный файл  1.bmp ( 2,34 килобайт ) Кол-во скачиваний: 431

Левый верхний пиксель и весь фон нужно закрасить в любой цвет.

убрал workwindows и заработало,в логи пришло вот такое
Код
22:05:12 2 (autosaved_2.txt, 14): Смещение по X = 0   по Y = 0
22:05:36 2 (autosaved_2.txt, 14): Смещение по X = 1   по Y = 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.12.2017, 23:29
Сообщение #5


**********

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



Цитата
хм,вставил твой код как отдельный скрипт,действие прерывается на выделенной части и перескакивает вниз и так заново

Так и должно быть. Отключить слежение за ходом скрипта, задержку между строк 0. Дождаться когда скрипт становится.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 23.12.2017, 23:40
Сообщение #6


**

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



Цитата(cirus @ 24.12.2017, 0:29) *

Так и должно быть. Отключить слежение за ходом скрипта, задержку между строк 0. Дождаться когда скрипт становится.

в общем если оставить как ты написал,ничего не происходит,как только я убираю workwindow сразу же начинается процесс
Код
22:30:54 1 (autosaved_2.txt, 14): Смещение по X = 0   по Y = 0
22:30:56 1 (autosaved_2.txt, 14): Смещение по X = 1   по Y = 0
22:30:57 1 (autosaved_2.txt, 14): Смещение по X = 2   по Y = 0
22:30:58 1 (autosaved_2.txt, 14): Смещение по X = 3   по Y = 0
22:31:00 1 (autosaved_2.txt, 14): Смещение по X = 4   по Y = 0
22:31:01 1 (autosaved_2.txt, 14): Смещение по X = 5   по Y = 0
22:31:03 1 (autosaved_2.txt, 14): Смещение по X = 6   по Y = 0
22:31:04 1 (autosaved_2.txt, 14): Смещение по X = 7   по Y = 0
22:31:06 1 (autosaved_2.txt, 14): Смещение по X = 8   по Y = 0
22:31:07 1 (autosaved_2.txt, 14): Смещение по X = 9   по Y = 0
22:31:09 1 (autosaved_2.txt, 14): Смещение по X = 10   по Y = 0
22:31:10 1 (autosaved_2.txt, 14): Смещение по X = 11   по Y = 0
22:31:12 1 (autosaved_2.txt, 14): Смещение по X = 12   по Y = 0
22:31:13 1 (autosaved_2.txt, 14): Смещение по X = 13   по Y = 0
22:31:14 1 (autosaved_2.txt, 14): Смещение по X = 14   по Y = 0
22:31:16 1 (autosaved_2.txt, 14): Смещение по X = 15   по Y = 0
22:31:17 1 (autosaved_2.txt, 14): Смещение по X = 16   по Y = 0
22:31:19 1 (autosaved_2.txt, 14): Смещение по X = 17   по Y = 0
22:31:20 1 (autosaved_2.txt, 14): Смещение по X = 18   по Y = 0
22:31:22 1 (autosaved_2.txt, 14): Смещение по X = 19   по Y = 0
22:31:23 1 (autosaved_2.txt, 14): Смещение по X = 20   по Y = 0

делать я так понял нужно по последним значениям,в моём случае вышло вот так
set #xMobHP 536 + 20
set #yMobHP 49 + 0
но ничего не поменялось,если поставить workwindow то вообще не работает,указываю окно с помощью ctrl+a
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.12.2017, 23:51
Сообщение #7


**********

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



Цитата
ничего не происходит

Так трудно дождаться окончания работы скрипта?
Либо напишет смещение, либо что смещение не найдено.
Не надо трогать workwindow. Убирая его вы делаете бессмысленным скрипт.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 24.12.2017, 0:03
Сообщение #8


**

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



Цитата(cirus @ 24.12.2017, 0:51) *

Так трудно дождаться окончания работы скрипта?
Либо напишет смещение, либо что смещение не найдено.
Не надо трогать workwindow. Убирая его вы делаете бессмысленным скрипт.

вот что вышло в итоге
22:54:56 1 (autosaved_2.txt, 14): Смещение по X = 20 по Y = 30
переделав уже основной скрипт
Код
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 + 20
set #yMobHP 49 + 30

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

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

set #nMob 1

while #xMobHP, #yMobHP #mobColorHP workwindow // Пока видим хп - лупим
    send %attack [#nAttack]
    if #nAttack < #Attacksize
        set #nAttack #nAttack + 1
    else
        set #nAttack 1
    end_if
    wait 500
    wait random (1000)
end_while

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

goto start

запустив его доходит до перебора макросов и на этом всё заканчивается,что в открытом и также если сверху будет браузер
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 24.12.2017, 0:11
Сообщение #9


**********

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



Цитата
Смещение по X = 20 по Y = 30

Это всё что было в логе? Или это последнее значение? Нужно какое-то из первых. Также смещение можно проверить на какой-то другой точке. На хп, мп персонажа или ещё чём-то.
Если было X = 8, Y = 31, то пробуйте его в основном скрипте.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 24.12.2017, 0:13
Сообщение #10


**

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



Цитата(cirus @ 24.12.2017, 1:11) *

Это всё что было в логе? Или это последнее значение? Нужно какое-то из первых. Также смещение можно проверить на какой-то другой точке. На хп, мп персонажа или ещё чём-то.
Если было X = 8, Y = 31, то пробуйте его в основном скрипте.

Код
22:54:09 1 (autosaved_2.txt, 14): Смещение по X = 0   по Y = 30
22:54:10 1 (autosaved_2.txt, 14): Смещение по X = 1   по Y = 30
22:54:12 1 (autosaved_2.txt, 14): Смещение по X = 2   по Y = 30
22:54:13 1 (autosaved_2.txt, 14): Смещение по X = 3   по Y = 30
22:54:14 1 (autosaved_2.txt, 14): Смещение по X = 4   по Y = 30
22:54:16 1 (autosaved_2.txt, 14): Смещение по X = 5   по Y = 30
22:54:17 1 (autosaved_2.txt, 14): Смещение по X = 6   по Y = 30
22:54:27 1 (autosaved_2.txt, 14): Смещение по X = 7   по Y = 30
22:54:39 1 (autosaved_2.txt, 14): Смещение по X = 8   по Y = 30
22:54:40 1 (autosaved_2.txt, 14): Смещение по X = 9   по Y = 30
22:54:42 1 (autosaved_2.txt, 14): Смещение по X = 10   по Y = 30
22:54:43 1 (autosaved_2.txt, 14): Смещение по X = 11   по Y = 30
22:54:44 1 (autosaved_2.txt, 14): Смещение по X = 12   по Y = 30
22:54:46 1 (autosaved_2.txt, 14): Смещение по X = 13   по Y = 30
22:54:47 1 (autosaved_2.txt, 14): Смещение по X = 14   по Y = 30
22:54:49 1 (autosaved_2.txt, 14): Смещение по X = 15   по Y = 30
22:54:50 1 (autosaved_2.txt, 14): Смещение по X = 16   по Y = 30
22:54:52 1 (autosaved_2.txt, 14): Смещение по X = 17   по Y = 30
22:54:53 1 (autosaved_2.txt, 14): Смещение по X = 18   по Y = 30
22:54:55 1 (autosaved_2.txt, 14): Смещение по X = 19   по Y = 30
22:54:56 1 (autosaved_2.txt, 14): Смещение по X = 20   по Y = 30

вот все логи,какие брать?остальное попробую завтра


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


**********

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



Ну с Y понятно 30. Попробуйте ещё не на полоске хп, на чём-то другом, чтобы с X определиться.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 24.12.2017, 11:04
Сообщение #12


**

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



Цитата(cirus @ 24.12.2017, 1:19) *

Ну с Y понятно 30. Попробуйте ещё не на полоске хп, на чём-то другом, чтобы с X определиться.

вот первый тест,проверял на полоске мп в своём таргете
Код
9:57:36 1 (autosaved_2.txt, 14): Смещение по X = 6   по Y = 31
9:57:57 1 (autosaved_2.txt, 14): Смещение по X = 17   по Y = 31
9:57:58 1 (autosaved_2.txt, 14): Смещение по X = 18   по Y = 31
9:57:59 1 (autosaved_2.txt, 14): Смещение по X = 19   по Y = 31
9:58:00 1 (autosaved_2.txt, 14): Смещение по X = 20   по Y = 31


а вот второй тест,где я проверял мп уже в окошке в левом углу

Код
9:59:15 1 (autosaved_2.txt, 14): Смещение по X = 0   по Y = 30
9:59:17 1 (autosaved_2.txt, 14): Смещение по X = 1   по Y = 30
9:59:18 1 (autosaved_2.txt, 14): Смещение по X = 2   по Y = 30
9:59:20 1 (autosaved_2.txt, 14): Смещение по X = 3   по Y = 30
9:59:21 1 (autosaved_2.txt, 14): Смещение по X = 4   по Y = 30
9:59:43 1 (autosaved_2.txt, 14): Смещение по X = 5   по Y = 30
9:59:45 1 (autosaved_2.txt, 14): Смещение по X = 6   по Y = 30
10:00:11 1 (autosaved_2.txt, 14): Смещение по X = 7   по Y = 30
10:00:13 1 (autosaved_2.txt, 14): Смещение по X = 8   по Y = 30
10:00:14 1 (autosaved_2.txt, 14): Смещение по X = 9   по Y = 30
10:00:15 1 (autosaved_2.txt, 14): Смещение по X = 10   по Y = 30
10:00:17 1 (autosaved_2.txt, 14): Смещение по X = 11   по Y = 30
10:00:18 1 (autosaved_2.txt, 14): Смещение по X = 12   по Y = 30
10:00:20 1 (autosaved_2.txt, 14): Смещение по X = 13   по Y = 30
10:00:32 1 (autosaved_2.txt, 14): Смещение по X = 14   по Y = 30
10:00:34 1 (autosaved_2.txt, 14): Смещение по X = 15   по Y = 30
10:00:35 1 (autosaved_2.txt, 14): Смещение по X = 16   по Y = 30
10:00:37 1 (autosaved_2.txt, 14): Смещение по X = 17   по Y = 30
10:00:39 1 (autosaved_2.txt, 14): Смещение по X = 18   по Y = 30
10:00:41 1 (autosaved_2.txt, 14): Смещение по X = 19   по Y = 30
10:00:43 1 (autosaved_2.txt, 14): Смещение по X = 20   по Y = 30


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


**********

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



Проверяйте не на полосках. На вещах в инвентаре или скилах. Посмотрите какое чаще всего встречается. Скорее всего что-то близко к этому: Смещение по X = 6 по Y = 31.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 25.12.2017, 12:17
Сообщение #14


**

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



Цитата(cirus @ 24.12.2017, 12:39) *

Проверяйте не на полосках. На вещах в инвентаре или скилах. Посмотрите какое чаще всего встречается. Скорее всего что-то близко к этому: Смещение по X = 6 по Y = 31.

проверял множество положений 6.31\6.30\0....10.30-31 все равно если браузер будет сверху игры,ничего не происходит. Еще заметил что при добавлении workwindow в проверку хп и атаку скрипт перестаёт работать даже без смещений (IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 25.12.2017, 12:46
Сообщение #15


**********

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



А так:
код
Код
// Кнопка с макросом /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

: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)
end_while

set #nMob 1

while #hp > 0 // Пока видим хп - лупим
    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)
end_while

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

goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 25.12.2017, 13:14
Сообщение #16


**

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



Цитата(cirus @ 25.12.2017, 13:46) *

А так:
код
Код
// Кнопка с макросом /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

: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)
end_while

set #nMob 1

while #hp > 0 // Пока видим хп - лупим
    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)
end_while

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

goto start



хм,так заработало,спасибо. Осталось что-то с радаром пошаманить и попробовать убрать из списка ненужного моба
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
VALHALLA
сообщение 25.12.2017, 13:48
Сообщение #17


**

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



примерно так будет выглядеть поиск по картинке?
Код
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr 2)//узнавать координаты открыв картинку и задав через ctrl+a?
if  #a > 0
    send escape
    end_if

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


**********

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



Цитата
//узнавать координаты открыв картинку и задав через ctrl+a?

Да.
Цитата
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr 2)

Для перекрытого окна:
Код
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr workwindow 80 1 5)

Т. е. вместо 2 указать workwindow.
80 - это точность поиска.
1- количество картинок для поиска.
5 - % погрешности в цвете, возможно надо ставить больше, т. к. окно с именем моба прозрачное цвет букв может меняться на разном фоне.
Прежде чем в основной код добавлять потестите отдельно поиск. Чтобы точно находилась картинка.
Код
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr workwindow 80 1 5)  // указать координаты
log #a   // результат поиска, показывает точность, с которой найдена картинка, или 0, если не найдена
if  #a > 0
    send escape
end_if
wait 300

Цитата
и засунуть это перед тем как отправить бить,я правильно понял?

Код
send %mob [#nMob]
wait 500 // пауза чтоб моб успел выделиться
set #a findimage...


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


**

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



Цитата(cirus @ 25.12.2017, 15:15) *

Да.

Для перекрытого окна:
Код
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr workwindow 80 1 5)

Т. е. вместо 2 указать workwindow.
80 - это точность поиска.
1- количество картинок для поиска.
5 - % погрешности в цвете, возможно надо ставить больше, т. к. окно с именем моба прозрачное цвет букв может меняться на разном фоне.
Прежде чем в основной код добавлять потестите отдельно поиск. Чтобы точно находилась картинка.
Код
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr workwindow 80 1 5)  // указать координаты
log #a   // результат поиска, показывает точность, с которой найдена картинка, или 0, если не найдена
if  #a > 0
    send escape
end_if
wait 300

Код
send %mob [#nMob]
wait 500 // пауза чтоб моб успел выделиться
set #a findimage...


собственно,первый блин комом (IMG:style_emoticons/default/sad.gif) в логи показывает 0
я взял моба в таргет,сделал скриншот,в фотошопе закрасил все ненужное(скорее всего скриншот прикреплю) и сохранил. Потом открыл картинку и снял координаты max XY и min XY, указал их в коде. Вроде бы всё правильно сделал. картинка
Еще интересует отмена цели если застрял,как это реализовать в твоей доработке?взял код с форума
Код
set #detected 0

start
if (последняя точка хп моба)// что должно быть тут?
    if #detected = 1 // Велось ли наблюдение за данным мобом уже(таргет не сбрасывался)
        if #targetTime < timer // Время на первый удар по мобу вышло
            set #detected 0
            send escape
            msg Застрял
        end_if
    else
       set #targetTime timer + 25000
       set #detected 1
    end_if
else
    set #detected 0
end_if
goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 26.12.2017, 16:14
Сообщение #20


**********

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



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

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

 

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