Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Optibater on October 11, 2016, 01:09:14 AM
-
Доброй ночи всем!
Вот пытаюсь не спеша скрипт собрать бегая по форуму, вроде бы выходит, но в одной подпрограмме образовалась ошибка.
Подскажите что не так...
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // находит 10.bmp и кликает на 7.bmp
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
ELSE
$check = 1
wait(500)
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_SUB
-
посчитай, сколько у тебя условий IF_PICTURE_IN, и сколько завершений этих условий END_IF. чегото не хватает.
используй кнопку "расставить отсупы" (волшебная палочка) в редакторе, и все встанет на свои места. и станет ясно, что чегото не хватает.
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // находит 10.bmp и кликает на 7.bmp
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
ELSE
$check = 1
wait(500)
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
END_SUB
возможно я вставил END_IF не там где требуется, зависит от поставленной задачи.
а вот судя по этой цитате:
Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
то должно быть вот так
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // находит 10.bmp и кликает на 7.bmp
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
END_IF
END_IF
END_IF
END_IF
END_IF
ELSE
$check = 1
wait(500)
END_IF
END_CYC
END_SUB
-
а вот судя по этой цитате:
Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
то должно быть вот так
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // находит 10.bmp и кликает на 7.bmp
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
END_IF
END_IF
END_IF
END_IF
END_IF
ELSE
$check = 1
wait(500)
END_IF
END_CYC
END_SUB
Теперь последние 3 условия IF_PICTURE_IN не работают... Эх ладно, буду уже днем ковырять дальше.
-
Теперь последние 3 условия IF_PICTURE_IN не работают... Эх ладно, буду уже днем ковырять дальше.
используй логирование, чтобы точно знать, какие картинки у тебя находит, а какие нет. если не срабатывают последние 3 условия, то скорее всего "7.bmp" не находит, а значит не ищет и "1.bmp","5.bmp","vernutsia.bmp". немного поджредактируем, но не факт что так правильно. ты бы подробнее пояснил что должен делать скрипт и при каких условиях. так как "// находит 10.bmp и кликает на 7.bmp" лишено смысла. ели ты уверен что "10.bmp" и "7.bmp" должны быть одновременно на экране, то какой смысл искать "10.bmp", можно же сразу искать "7.bmp".
ну да ладно, мои экстрасенсорные способности подсказывают что нужно делать так:
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если на экране есть 6.bmp то цыкл выполняется по кругу, иначе идет дальше
KEYPRESS(#ENTER)
WAITMS(300)
KEYPRESS(#ENTER)
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // находит 10.bmp и кликает на 7.bmp
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
END_IF
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) //просто кликает 1.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) //просто кликает 5.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
END_IF
END_IF
END_IF
END_IF
ELSE
$check = 1
wait(500)
END_IF
END_CYC
END_SUB
-
Не работает :(....
Логирование еще ни разу не пробовал применять.
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // Если видит эту картинку, то делает удары и применяет приемы усиления, если картинку не видит, то цыкл останавливается.
KEYPRESS(#ENTER) // делает удары
WAITMS(300)
KEYPRESS(#ENTER) // делает удары
WAITMS(100)
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // На персонаже висит ослабление
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100) // этот прием снимает ослабление (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
WAITMS(RND(500,600))
END_IF
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
WAITMS(300)
END_IF
END_IF
END_IF
END_IF
ELSE
$check = 1
wait(500)
END_IF
END_CYC
END_SUB
-
ну сейчас вроде более менее понятно.
SUB(boy, 2)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (841,128, 886,156, "6.bmp", -1, 95) // пока есть на экране "коврики" 6.бмп, то дубасим на энтер
KEYPRESS(#ENTER) // делает удары
WAITMS(300)
KEYPRESS(#ENTER) // делает удары
WAITMS(100)
print("идет бой, жмем энтер")
IF_PICTURE_IN (65,104, 211,274, "10.bmp", -1, 100) // На персонаже висит ослабление
print("на персонаже висит ослабление")
IF_PICTURE_IN (676,318, 742,361, "7.bmp", -1, 100) // этот прием снимает ослабление (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
print("снимаем ослабление")
WAITMS(RND(500,600))
END_IF
END_IF
IF_PICTURE_IN (432,316, 479,353, "1.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
print("прием усиления 1.бмп")
WAITMS(300)
END_IF
IF_PICTURE_IN (475,319, 522,353, "5.bmp", -1, 95) // прием усиления (Появляется в процесе боя)
LCLICK($_return1+7, $_return2+7)
print("прием усиления 5.бмп")
WAITMS(300)
END_IF
IF_PICTURE_IN (510,104, 864,237, "vernutsia.bmp", -1, 95) //просто кликает vernutsia.bmp если есть
LCLICK($_return1+7, $_return2+7)
print("просто кликает vernutsia.bmp")
WAITMS(300)
END_IF
ELSE
$check = 1
print("коврика нет. ждем 500сек.!!! :/")
wait(500)
END_IF
END_CYC
END_SUB
в каждом условии вставил вывод в лог, так что можно наблюдать, какие картинки находит, а какие нет. окно лога, надеюсь, знаешь как открыть.
-
ну сейчас вроде более менее понятно.
в каждом условии вставил вывод в лог, так что можно наблюдать, какие картинки находит, а какие нет. окно лога, надеюсь, знаешь как открыть.
Да, открыл лог, посмотрел. Так все работает.
Огромное спасибо! Жизнь моя стала теперь чуточку проще 8)