Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Джек Водогрей on December 22, 2016, 10:28:05 AM
-
Добрый день. Подскажите как сделать так чтобы кликер по происшествии заданного события перемещался в заданный раздел кода, а затем в заданном разделе кода по происшествии события описанного в этом куске кода, перемещался в следующий заданный кусок кода? Таких кусков будешь штук 30.
С while пробовал, но там я так понял прикрутить дополнительные переходы либо нельзя, либо я не знаю как.
Спасибо за ответы)
-
закрываешь свои участки кода в вот такие условия
$f=1
while($f)
твой код
if(условие)
выполнено
$f=0
end_if
end_cyc
это пример с ожиданием картинки, можно написать включение кода по флагу $f можно повторение до отключения флага
главное не ищи легких путей с метками, это путь к хаосу
-
твой вопрос так и напрашивает использвание GOTO
но лучше ненадо, постарайся даже не читать что это такое. а скинь сюда сваи наработки, побольше опиши свою задачу, и с помощью циклов и условий все получится.
-
Поздно ребят) я уже нашел goto)))))) пути назад видимо нет)
-
а вообще вопрос:
1:
GETSCREEN
IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611) //
WAITMS(700)
LCLICK($_return1, $_return2) //
WAITMS(1000)
goto(2)
else
LCLICK(409,175) //
WAITMS(700)
LCLICK(638,512) //
goto(1)
END_IF
END_IF
2:
GETSCREEN
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611) //
WAITMS(1000)
LCLICK($_return1, $_return2) //
goto(2)
ELSE
LCLICK(505,424) //
WAITMS(1500)
goto(1)
END_IF
END_IF
У меня проблема с куском 2:
Выполняется действие когда находит пиксель, но затем делает действие которое забиндено на else
Я что-то не так сделал или goto не возвращается вверх кода для повтора куска?)
-
Вообще если вы говорите циклы лучше я попробую по циклам все переписать. Но всеравно интересно почему у меня с goto не заработало как я хотел)
-
У тебя там лишние END_IF
Вот верный код, за одно выкинул бессмысленные переходы гото
a:
GETSCREEN
IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611)
WAITMS(700)
LCLICK($_return1, $_return2)
WAITMS(1000)
else
LCLICK(409,175)
WAITMS(700)
LCLICK(638,512)
goto(a)
END_IF
b:
GETSCREEN
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
WAITMS(1000)
LCLICK($_return1, $_return2)
goto(b)
ELSE
LCLICK(505,424)
WAITMS(1500)
END_IF
То же самое через циклы
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN (686,537, 756,554, 16449279,15528177,14672611)
WAITMS(700)
LCLICK($_return1, $_return2)
WAITMS(1000)
$check = 1
else
LCLICK(409,175)
WAITMS(700)
LCLICK(638,512)
WAITMS(100)
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
WAITMS(1000)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
LCLICK(505,424)
WAITMS(1500)
$check = 1
END_IF
END_CYC
-
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN (308,416, 411,433, 16449279,15528177,14672611)
WAITMS(1000)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
LCLICK(505,424)
WAITMS(1500)
$check = 1
END_IF
END_CYC
Красный кусок не очень понимаю. За что отвечает $check и почему в первой части кода он до else, а здесь после?
Хотелось бы бесконечное повторение зеленого куска до тех пор пока не произойдет потеря пикселя
-
$check это переменная, имя может быть любым. И если в цикл вложен еще цикл с подобным "ожиданием" то имя естественно должно быть другим
$check = 0 // присваиваем значение 0 переменной $check
WHILE($check = 0) // цикл выполняется если $check равна 0
$check = 1 // если по условию значение $check изменится то цикл перестанет повторяться
END_CYC
-
Поздно ребят) я уже нашел goto)))))) пути назад видимо нет)
;D ;D ;D
Мы его потеряли...