Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: NightWanted on April 18, 2016, 05:48:01 PM
-
Доброго дня! Прошу помощи! Что нужно добавить в код? Суть: если PXL(638,328) = 11845568, то LCLICK(735,464), если нет, то LCLICK(523,466) до тех пор, пока не будет найден искомый цвет. Уже разные варианты пробывал, но че-то не то все. Заранее спасибо!
$count = 0
WHILE ($count = 0)
LCLICK(523,466)
WAIT(1)
GETSCREEN
IF PXL(638,328) = 11845568
$count = 1
END_IF
END_CYC
WAIT(1)
LCLICK(735,464)
-
Огромное спасибо! Все работает!
-
Доброго времени суток
Пытаюсь написать сценарий для фарма кадавра в ГОРОД МЕРТВЫХ
не могу разобраться с циклом
-
В цикле не хватает параметра начального значения FOR($a=0,$a<5) иначе у тебя он на втором проходе просто не будет срабатывать.
Кроме того тебе нужен цикл ожидания окончания боя по каким то признакам. А до тех пор кликер должен просто долбить по кнопке ударить.
$check = 0
WHILE($check = 0) // ожидание окончания боя
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1 // если найдено выходим из цикла
ELSE // если не найдено
LCLICK(10,10) // кнопка удара
WAITMS(200)
END_IF
END_CYC
-
$count = 0
WHILE ($count = 0)
GETSCREEN
IF(PXL(638,328) = 11845568)
$count = 1
LCLICK(735,464)
LOGWRITE ("цвет обнаружен")
ELSE
LCLICK(523,466)
END_IF
WAIT(1)
END_CYC
Зачем лишние сущности? Цикл WHILE и так цикл с условием, без всяких дополнительных условий и переменных-флагов
GETSCREEN
WHILE(PXL(638,328) ! 11845568)
LCLICK(523,466)
WAIT(1)
GETSCREEN
END_CYC
LCLICK(735,464)
-
Ну да. Только иногда "исходники" - это нагромождение лишних команд на пару сотен строк, которые можно заменить десятком.
Просто здесь задача была описана словами нормально, а не как обычно :D Можно даже по тексту всё сделать.
-
Доброго дня! Помогите еще немного... Суть вопроса: В игре есть различные противники, и сильные и слабые. Одних надо с трех заходов убивать, а другим хватит и одного. Что нужно добавить, чтобы при обнаружении PXL(665,339) = 0 (смерти первого противника), кликер переходил сразу ко второму противнику? На данный момент получается так, что после смерти первого противника, до окончания цикла, они начинают беспорядочно бить всех остальных, вместо одного. Заранее спасибо!
LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)
FOR ($i, $i<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)
FOR ($a, $a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
-
SUB(died)
GETSCREEN
IF(PXL(665,339) = 0)
$a=999
END_IF
END_SUB
LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)
FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
skip:
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)
FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
skip:
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
-
Спасибо. Но чего-то не хватает. Кликер видит смерть 1-ого противника, но потом почему-то сначала делает первым персом удар наугад, потом переключается на второго противника и останавливается. Через несколько секунд включает режим автобоя (он должен срабатывать, но только после смерти второго противника). Я выложу полностью весь код... Пришлось добавить еще вэйты между ударами, чтобы он успевал остановиться и переключиться на другого противника...
WAIT(1)
LCLICK(674,14)//КЛИК НА ОКНО
WAIT(2)
LCLICK(110,324)//РЕЙДЫ
WAIT(2)
LCLICK(719,488)//НАЙТИ ПРОТИВНИКА
WAIT(2)
$count = 0//ПЕРЕМЕННАЯ
WHILE ($count = 0)//ПОИСК БОТА
GETSCREEN
IF (PXL(638,328) = 11845568)
$count = 1
LCLICK(735,464)//АТАКА
LOGWRITE ("цвет обнаружен")
ELSE
LCLICK(523,466)//НАЙТИ ДРУГОГО
WAIT(3)
END_IF
WAIT(1)
END_CYC//КОНЕЦ ПОИСКА
WAIT(1)
LCLICK(946,526)//АТАКА
WAIT(2)
SUB(died)
GETSCREEN
IF(PXL(665,339) = 0)
$a=999
END_IF
END_SUB
LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)
FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
skip:
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)
FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
IF($a=999)
GOTO(skip)
END_IF
WAITMS(500)
GETSCREEN
IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
LOGWRITE ("цвет обнаружен")
WAIT(4)
ELSE
LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
END_IF
WAITMS(500)
died()
skip:
WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(95,535)//ВКЛЮЧЕНИЕ РЕЖИМА АВТОБОЯ
WAIT(110)//ПРОДОЛЖИТЕЛЬНОСТЬ БОЯ
GETSCREEN
IF (PXL(579,475) = 9805730)//ПРОВЕРКА ПОБЕДЫ
LCLICK(579,475)//ПРИ ПОБЕДЕ
ELSE
LCLICK(658,474)//ПРИ ПОРАЖЕНИИ
END_IF
WAIT(2)
LCLICK(992,61)//ВЫХОД ИЗ РЕЙДОВ
WAIT(2)
-
Потому что в коде две одинаковых метки skip:
-
все равно не получается( извините за нубство... вот видео, как должно быть в идеале https://youtu.be/ZzLBVkfDk60 (https://youtu.be/ZzLBVkfDk60). Я думаю, может сделать два потока? Первый поток будет отвечать за удары, а второй переключаться между противниками. Т.е. запускаем первый поток, как только нужный пиксел приобретает нужный цвет, поток приостанавливается. В это время второй поток кликает на другого противника, и первый поток после этого возобновляется. Подскажите, как это осуществить. Заранее спасибо!
-
все равно не получается( извините за нубство... вот видео, как должно быть в идеале https://youtu.be/ZzLBVkfDk60 (https://youtu.be/ZzLBVkfDk60). Я думаю, может сделать два потока? Первый поток будет отвечать за удары, а второй переключаться между противниками. Т.е. запускаем первый поток, как только нужный пиксел приобретает нужный цвет, поток приостанавливается. В это время второй поток кликает на другого противника, и первый поток после этого возобновляется. Подскажите, как это осуществить. Заранее спасибо!
Не нужно заниматься ерундой. Какие потоки? Зачем?
-
В цикле не хватает параметра начального значения FOR($a=0,$a<5) иначе у тебя он на втором проходе просто не будет срабатывать.
Кроме того тебе нужен цикл ожидания окончания боя по каким то признакам. А до тех пор кликер должен просто долбить по кнопке ударить.
$check = 0
WHILE($check = 0) // ожидание окончания боя
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1 // если найдено выходим из цикла
ELSE // если не найдено
LCLICK(10,10) // кнопка удара
WAITMS(200)
END_IF
END_CYC
Спасибо, буду экперементировать
-
чем вас не устраивает имеющийся на форуме скрипт фарма кадавров в ГМ?
Зачем вообще их фармить? это только портит персонажа, гараздо полезнее прокачиваться на арене и груповых боях, а фармить на цитадели и убивая простых зомби.
зачем нужен цикл FOR ведь сила перса постоянно меняется и живучесть разных кадавров тоже и сколько ударов будет сделано до победы угадать трудно.
Спасибо за совет, но скрипт написан под контакт, я же играю на одноклассниках
-
Не нужно заниматься ерундой. Какие потоки? Зачем?
Vint, а что Вы можете предложить? Вот, что делает кликер https://youtu.be/QMaa2Vm3JcE (https://youtu.be/QMaa2Vm3JcE)
Все равно после первого противника идет переключение на второго, а дальше почему-то включается сразу автобой... Подскажите, как это исправить?
-
Еще один вопросик, в плане реализации... Есть какая-нибудь возможность перевести цифры из изображения в текст? Или нужно будет обязательно пользоваться доп. программами по распознаванию?
-
Vint, а что Вы можете предложить? Вот, что делает кликер https://youtu.be/QMaa2Vm3JcE (https://youtu.be/QMaa2Vm3JcE)
Все равно после первого противника идет переключение на второго, а дальше почему-то включается сразу автобой... Подскажите, как это исправить?
Предлагаю всё переделать.
Куча повторяющегося лишнего кода.
Зачем при поиске адреналин/не адреналин используются разные точки с разными цветами?
Не учтены все задержки. 500 мс перед скрином на смерть мало, от там падает не меньше секунды.
В итоге получится что-то типа такого кода (пример)
SUB(battle)
WAITMS(500)
GETSCREEN
WHILE(PXL(665,339) ! 0)
IF (PXL(795 - ($xx*$pers), 444) = 14145500) //УДАР ПЕРСА
LCLICK(795 - ($xx*$pers),444) //ПРИ АДРЕНАЛИНЕ
WAIT(4)
ELSE
LCLICK(814 - ($xx*$pers),509) //БЕЗ АДРЕНАЛИНА
END_IF
INC($pers)
IF($pers = 5)
$pers = 0
WAIT(13) //ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_IF
WAITMS(1000)
GETSCREEN
END_CYC
END_SUB
$xx = 130
$pers = 0
LCLICK(738,238) //ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
battle()
LCLICK(790,310) //ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
battle()
Для вычисления координат нужен полноразмерный не сжатый скриншот.
P.S. Мне не очень понятен выбор координат для атаки противника и для поиска смерти. Если они всегда одни, то OK
Ещё не очень нравится всё на задержках. Лучше определять зарядился наш перс или нет.
-
Предлагаю всё переделать.
Куча повторяющегося лишнего кода.
Зачем при поиске адреналин/не адреналин используются разные точки с разными цветами?
Не учтены все задержки. 500 мс перед скрином на смерть мало, от там падает не меньше секунды.
P.S. Мне не очень понятен выбор координат для атаки противника и для поиска смерти. Если они всегда одни, то OK
Ещё не очень нравится всё на задержках. Лучше определять зарядился наш перс или нет.
Vint, спасибо за ответ. Адреналин у каждого перса срабатывает в разное время. И один и тот же пиксел при адреналине (в кружочке) имеет почему-то разный цвет. Поэтому, пришлось координату при адреналине прописывать каждому в отдельности. По поводу задержек, Вы сами говорите, что времени на определение смерти мало + в те моменты когда идет ход соперника, она сам может применять адреналин, а тогда включается анимация, что тоже отнимает время (а когда у противника будет адреналин то же неизвестно). Координаты для противников 1 или 2, я выбрал произвольно. Просто если сразу включить автобой, они ударяют беспорядочно, и шанс выиграть очень мал. Поэтому нужно избавиться от двоих, а потом уже включать автобой. Координаты противника всегда одинаковы, а смерть я определяю по тени, когда он падает. Огромное спасибо за код, сейчас поиграюсь с ним, я в принципе именно это и хотел. Я уже все в игре систематизировал, осталось только с рейдами разобраться). Еще раз огромное спасибо!