Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Andrey_S on November 15, 2015, 05:21:52 PM
-
Смысл скрипта следующий. Сначала делается цикл действий 7 раз. Потом идет перестановка состава и снова цикл 7 раз и т.д. Таких перестановок 15 шт. Когда выполнение программы доходит до конца и начинается с начала, циклы не повторяются. Т.е. я так понимаю переменная отбилась 7 раз и даже если выполнение идет повторно, считается что переменная уже обнулилась.
Для каждого цикла у каждой перестановки соответственно своя переменная.
Как сделать так, что когда скрипт заканчивается и начинается сначала, переменные бы также выполнялись заново.
FOR ($i, $i<7) //Oeee 1
MOVE(701,423)
LCLICK(702,423) // 3355392
LCLICK(702,423) // 3355392
WAITMS(500)
MOVE(1003,331)
LCLICK(1004,327) // 3355392
LCLICK(1004,327) // 3355392
WAITMS(2000)
MOVE(887,738)
LCLICK(886,738) // 3355392
LCLICK(886,738) // 3355392
WAITMS(15000)
KEYPRESS(#A)
WAITMS(95000)
MOVE(1164,239) // 3355392
WAITMS(500)
LCLICK(1164,239)
LCLICK(1164,239)
WAITMS(4000)
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
WAITMS(500)
END_CYC
DELVAR($i)
KEYPRESS(#A) // ia?aoaniaea 1 A?oeiaa
WAITMS(500)
LCLICK(532,267) // 3355392
LCLICK(532,267) // 3355392
WAITMS(500)
LDOWN(712,320) // 10078419
WAITMS(500)
MOVE(720,632)
WAITMS(500)
DBLCLICK(720,632) // 12233647
WAITMS(500)
LDOWN(644,414) // 10078419
WAITMS(500)
MOVE(621,632)
WAITMS(500)
DBLCLICK(621,632) // 12233647
WAITMS(500)
LDOWN(712,412) // 10078419
WAITMS(500)
MOVE(819,632)
WAITMS(500)
DBLCLICK(819,632) // 12233647
WAITMS(3000)
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
-
пременную $i можно обнулять или задавать начальное значение в самом условии цикла
FOR ($i=0, $i<7)
я так понял, с помощью DELVAR($i) ты хотел удалить переменную (либо массив). правильно будет UNDEFINE ($i)
-
Больше циклов! ;D
FOR ($a=0,$a<7) //Oeee 1
MOVE(701,423)
LCLICK(702,423) // 3355392
LCLICK(702,423) // 3355392
WAITMS(500)
MOVE(1003,331)
LCLICK(1004,327) // 3355392
LCLICK(1004,327) // 3355392
WAITMS(2000)
MOVE(887,738)
LCLICK(886,738) // 3355392
LCLICK(886,738) // 3355392
WAITMS(15000)
KEYPRESS(#A)
WAITMS(95000)
MOVE(1164,239) // 3355392
WAITMS(500)
LCLICK(1164,239)
LCLICK(1164,239)
WAITMS(4000)
FOR($b=0,$b<2)
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
END_CYC
WAITMS(500)
END_CYC
KEYPRESS(#A) // ia?aoaniaea 1 A?oeiaa
WAITMS(500)
LCLICK(532,267) // 3355392
LCLICK(532,267) // 3355392
WAITMS(500)
LDOWN(712,320) // 10078419
WAITMS(500)
MOVE(720,632)
WAITMS(500)
DBLCLICK(720,632) // 12233647
WAITMS(500)
LDOWN(644,414) // 10078419
WAITMS(500)
MOVE(621,632)
WAITMS(500)
DBLCLICK(621,632) // 12233647
WAITMS(500)
LDOWN(712,412) // 10078419
WAITMS(500)
MOVE(819,632)
WAITMS(500)
DBLCLICK(819,632) // 12233647
WAITMS(3000)
FOR($a=0,$a<2)
GETSCREEN
IF_PICTURE_IN (45,150, 1505,750, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(300)
END_IF
END_CYC
-
Когда пишу FOR ($a=0,$a<7), вообще цикл не начинается.
У меня в чем проблема, вот прошли 7 циклов с переменной i, потом перестановка и далее 7 циклов с переменной g. Если я опять ставлю переменную i (а не g), то никаких действий не происходит, т.к. к этому моменту i уже равна нулю.
Эту проблему я победил тем что пишу i, потом g, потом другая буква и т.д. Но когда я использовал 13 букв и надо чтобы сценарий начинался заново, он не начинается, т.к. переменная уже отработала и равна была нулю.
Как это победить?
-
Покажи наконец уже весь свой код, а то мы так еще долго будем гадать что у тебя не так. Версия кликера кстати надеюсь последняя 4.11.003?
-
Тебе же написали, обнулить переменную в самом теле цикла.
Когда пишу FOR ($a=0,$a<7), вообще цикл не начинается.
Что там у тебя не начинается?
-
Никаких движений мышка не делает(
-
там 800 строк, кидать?
Я закинул 2 цикла, у меня их 13 идентичных и потом все заново.
Стоит отряд 3 юнита. Делается 7 боев, потом меняются 3 юнита на новых 3 и опять 7 боев. Итак 13 перестановок. Как только 13я заканчивается, заново 1я не начинается, не далаею опять 7 боев.
-
Прикрепи файл значит.
-
Файл во вложении
-
У тебя начального параметра в цикле нет поэтому переменная и не обнуляется, нет необходимости писать каждый раз новую переменную для цикла если только цикл не вложен в другой цикл.
У тебя есть зажатия клавиш но нет отжатий. В конце лишний END_CYC. Ну и код очень не оптимизирован.
Вот исправленный оптимизированный вариант с использованием подпрограммы. В местах где у тебя меняются координаты подпрограмма подставляет значения через переменные, В каждом вызове описаны эти значения. Код сократился до 88 строк
-
Все работает!!! Спасибо!!! Убрал только строчку где отжимается клавиша, как то не работает это в игре. Если что, напишу тогда!