Здравствуйте,я только вчера узнал за программу и начал разбираться в ней,за основу я взял скрипт для кача
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
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
хм,вставил твой код как отдельный скрипт,действие прерывается на выделенной части и перескакивает вниз и так заново
// Сделать привязку к окну 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
// Сделать привязку к окну 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
22:05:12 2 (autosaved_2.txt, 14): Смещение по X = 0 по Y = 0
22:05:36 2 (autosaved_2.txt, 14): Смещение по X = 1 по Y = 0
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 %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
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
Ну с 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
Проверяйте не на полосках. На вещах в инвентаре или скилах. Посмотрите какое чаще всего встречается. Скорее всего что-то близко к этому: Смещение по X = 6 по Y = 31.
А так:
// Кнопка с макросом /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
// Кнопка с макросом /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
примерно так будет выглядеть поиск по картинке?
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr 2)//узнавать координаты открыв картинку и задав через ctrl+a?
if #a > 0
send escape
end_if
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr 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...
set #a findimage (#startX #startY #endX #endY (D:\папка\картинка.bmp) %arr 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...
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
Скиньте код, которым ищете картинку. И скрин в 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
Картинки вообще разные. На nokill2.bmp буква 'П' высотой 9 пикселей, на Shot00004.bmp 8 пикселей. Надписи даже по длине отличаются.
http://rgho.st/7KhDvnZBF вот переделал,тоже самое(ничего не растягивал,просто вырезал на новую вкладку и закрасил)
Теперь нормально.
Для начала координаты укажите 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
571 429 707 475
// не забываем сделать привязку 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
571 429 707 475
Можно и оставить конечно. В окне пилота есть кнопка 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
// Кнопка с макросом /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
set #endX #xMobHP + 10
set #endX #xMobHP + 400
set #endX #xMobHP + 10
set #endX #xMobHP + 400
set #endX #xMobHP + 10
set #endX #xMobHP + 400
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)