Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Orotund on June 07, 2015, 04:14:52 PM
-
Пользуюсь Кликермунам довольно давно, но что-то не могу найти ошибку самостоятельно.
#ps2_mouse
#ps2_keyboard
#name "AA autoposadka"
#logfile
DEFINE($X, 0)
DEFINE($Y, 0)
DEFINE($Plant_Wait, 1600)
SUB (Plant)
KEYPRESS(#1)
WAITMS(100)
LCLICK(690,300)
KEYPRESS(#1)
WAITMS(100)
LCLICK(690,300)
WAITMS($Plant_Wait)
END_SUB
SUB (Move_W)
KEYDOWN(#W)
WAITMS(200)
KEYUP(#W)
END_SUB
SUB (Move_S)
KEYDOWN(#S)
WAITMS(200)
KEYUP(#S)
END_SUB
SUB (Move_D_S)
KEYDOWN(#D)
WAITMS(250)
KEYUP(#D)
KEYDOWN(#S)
WAITMS(250)
KEYUP(#S)
END_SUB
SUB (Move_D_W)
KEYDOWN(#D)
WAITMS(250)
KEYUP(#D)
KEYDOWN(#W)
WAITMS(250)
KEYUP(#w)
END_SUB
///сценарий
FOR ($i, $i < 10)
Plant()
Move_W()
END_CYC
Move_D_S()
LOGWRITE ("Переступил")
FOR ($i, $i < 10)
Plant()
Move_S()
END_CYC
Move_D_W()
Значит проблема вот в чем: сценарий доходит до саба Move_D_S() и выполняет его бесконечное кол-во раз вместе с "LOGWRITE ("Переступил")".
-
всё просто, в цикле for нужно обнулять $i, так как в версии 4.11 "Цикл FOR не обнуляет индекс, если он (индекс) уже был инициализирован ранее".
///сценарий
FOR ($i=0, $i < 10)
Plant()
Move_W()
END_CYC
Move_D_S()
LOGWRITE ("Переступил")
FOR ($i=0, $i < 10)
Plant()
Move_S()
END_CYC
Move_D_W()
-
Ох спасибо, наверно моя ошибка в том что я не ознакомился с изменениями в 11й версии.
Не зря сценарий заработал когда я откатил программу до 10й версии = /