Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Piglett on February 08, 2016, 11:10:44 PM
-
Доброго времени суток, проштудировал инструкцию, и понятного там мало для чайника. Накидал простенький скрипт, тычет мышкой как мне надо по кругу, но вот возникла необходимость ввести туда условие if, на этом я упёрся в стенку. Кстати, тут люди каким-то образом свои скрипты в компактное окошечко умещают - подскажите как =), я не хотел бы сюда всю программу пастить, а то ещё бан за огромное сообщение схлопочу.
Пробема вот в чём: у меня if не срабатывает как условие - он его просто прогоняет сперва в 1 варианте, потом во 2, и зацикливается, а выбор между 1 или 2 не делает.
Давным давно в школе был qbasic, там условие вроде писали IF(x,y,цвет)THEN GOTO номер строчки, и так сколько терпелки хватит на все варианты.
В скрипте я гетскрин не использовал, может условие "если" выполняется только из буфера со скриншотом? В общем запутался совсем.
-
Давным давно в школе был qbasic, там условие вроде писали IF(x,y,цвет)THEN GOTO номер строчки, и так сколько терпелки хватит на все варианты.
если делаешь проверк цвета, гескрин обязателен. а еще после каждого иф должен быть ендиф. скрипт в студию
-
Кстати, тут люди каким-то образом свои скрипты в компактное окошечко умещают - подскажите как =), я не хотел бы сюда всю программу пастить, а то ещё бан за огромное сообщение схлопочу.
Перейди в режим "Предварительный просмотр"
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста.
-
Переделал под гетскрин, всё работает как часы. Я боялся, что будет быстро забиваться оперативка, потом допёрло, что можно "щёлкать" всего 1 пиксель, а их уместится в 700000 раз больше полноэкранной фотки.
Старый скрипт смысла нет выкладывать в нём всё то же самое только без команды гетскрин.
BOSSCHECK:
PRINT(CHECKING)
MOVE(260,712)
WAIT(1)
GETSCREEN(260,712,260,712)
$CLR1=PXL(260,712)
WAIT(3)
PRINT("COLOR = ",$CLR1)
IF($CLR1=2741958)
GOTO(BOSSSTART)
ELSE
PRINT(GOINGTOBOSSCHECK)
GOTO(BOSSCHECK)
END_IF
BOSSSTART:
PRINT(BOSSSTARTING)
WAIT(10)
LCLICK(260,712) //CLICKBOSSINITIATE
WAIT(10)
LCLICK( 490,680) //ÍÀÏÀÑÒÜ
WAIT(10)
LCLICK(670,80) //CANCELINVITES
WAIT(5)
BOSSHIT:
GETSCREEN(925,147,925,147)
PRINT(SCREEN)
$CLR_HP=PXL(925,147)
IF($CLR_HP=178) //IF ALIVE
LCLICK(901,150) //HIT
WAITMS(300)
LCLICK(901,150)
WAITMS(950)
LCLICK(901,150)
WAITMS(930)
LCLICK(901,150)
WAITMS(940)
LCLICK(901,150)
WAITMS(500)
PRINT(HITSDONE)
GOTO(BOSSHIT)
ELSE
WAIT(5)
LCLICK(780,215) //CLOSINGSTATES
WAIT(5)
END_IF
GOTO(BOSSCHECK)
PRINT(HALT)
HALT
-
GETSCREEN на оперативку не влияет, ограничение лишь снимает нагрузку с процессора в скриптах с задержкой в несколько миллисекунд или меньше. в твоем случаи никакой пользы для тебя нет. Сроки следует всегда заключать в кавычки.
Пиши скрипт сразу по умному с циклами в место этих гото
PRINT("CHECKING")
$check = 0
WHILE($check = 0)
MOVE(260,712)
WAIT(1)
GETSCREEN(260,712,260,712)
$CLR1 = PXL(260,712)
PRINT("COLOR CLR1 = ",$CLR1)
IF($CLR1=2741958)
$check = 1
ELSE
WAIT(3)
END_IF
END_CYC
PRINT("BOSSSTARTING")
WAIT(10)
LCLICK(260,712) //CLICKBOSSINITIATE
WAIT(10)
LCLICK( 490,680) //IAIANOU
WAIT(10)
LCLICK(670,80) //CANCELINVITES
WAIT(5)
$check = 0
WHILE($check = 0)
GETSCREEN(925,147,925,147)
$CLR_HP = PXL(925,147)
PRINT("COLOR CLR_HP = ",$CLR_HP)
IF($CLR_HP=178) //IF ALIVE
LCLICK(901,150) //HIT
WAITMS(300)
LCLICK(901,150)
WAITMS(950)
LCLICK(901,150)
WAITMS(930)
LCLICK(901,150)
WAITMS(940)
LCLICK(901,150)
WAITMS(500)
PRINT("HITSDONE")
ELSE
$check = 1
WAIT(5)
LCLICK(780,215) //CLOSINGSTATES
WAIT(5)
END_IF
END_CYC