Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: braaaaaain on April 18, 2017, 11:30:21 PM
-
Вместе с умершим ссд, умер и мой кликер, помогите сообразить как сделать. Делал год назад, уже забыл что и как. Суть такая, Нужно заставить бота ставить на рулетке сначала три раза подряд на черное, потом три раза подряд на красное и дальше по кругу. При пройгрыше удваивать ставку. Скрипт я делал через кучу if_pixel in но знаю что можно проще. Буду благодарен за помошь) браузер хром, всегда пользовался на ноуте с открытым браузером, но прочитал что в свернутом состоянии работать не будет?
-
Пока сделал так, единственная проблема так и не понял как умножать переменную, при отрицательном результате условия она должна умножиться сама на себя и сохраниться, на этой строчке выдает ошибку, и как заставить goto работать только 3 раза, можно просто продублировать, но думаю можно поще.
-
Зачем кавычек напихал?
"$var" это просто строка из символов "$" "v" "a" "r".
KEYSTRING("$var")
KEYSTRING($var)
KEYSTRING("($var*2)")
$var = $var * 2
KEYSTRING($var)
goto(1) - выкинь. Мало того, что не нужно, так и не правильно. По номеру строки не переходит, только по метке.
DEFINE тоже нужно использовать правильно. Он срабатывает только если переменной нет.
Пиши простое присваивание
$var = ...
-
DEFINE($var, )
define($var2, )
skip:
GETSCREEN
IF_PIXEL_IN(356,304, 356,304, 14671839) //если строка состояния доходит до 0
WAIT(18) //ждем 18 секунд
IF_PIXEL_IN (1015,451,1015,451, 4410032) //проверяем предыдущий результат , если он красный, а мы ставим на красное(пока что хочу хотя бы это сделать) то продолжаем
LCLICK(649,509) //клик на поле ввода
WAITMS(50)
KEYDOWN(#CTRL) //очищаем его
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var2 = 1 // начальная ставка
KEYSTRING($var2)
WAITMS(50)
lclick(545,605) //кликаем на "поставить на красное"
WAITMS(50)
$var = 1 //в случае если предыдущий ролл бый выйгышный, то изменяем на начальную ставку
else
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var = $var*2 //в случае если предыдущий был черный, умножаем на 2
KEYSTRING($var)
WAITMS(50)
lclick(545,605) // ставим снова на красное
WAITMS(50)
end_if
else //если строка состояния не равна 0, то в начало.
goto(skip)
END_IF
goto(skip)
так лучше? или убрать DEFINE($var, )
define($var2, )
?
в таком виде, при любом раскладе вводит только 1, то есть на 2 не умножает. то есть игнорирует второе ТО IF_PIXEL_IN (1015,451, 4410032)
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var2 = 1
KEYSTRING($var2)
WAITMS(50)
lclick(545,605)
WAITMS(50)
$var = 1
и переходит сразу к else
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var = $var*2
KEYSTRING(5)
WAITMS(50)
lclick(545,605)
WAITMS(50)
end_if
-
GOTO все убрать. Метку Skip: убрать.
DEFINE написать правильно. Синтаксис соблюдать! Не лепить отсебятину и команды-полуфабрикаты.
Нет снимка экрана после паузы в 18 секунд. Так ничего и не увидит.
DEFINE($var, 1)
GETSCREEN
IF_PIXEL_IN(356,304, 356,304, 14671839)
WAIT(18) // 18 секунд?
GETSCREEN
IF_PIXEL_IN(1015,451,1015,451, 4410032)
$var = 1
else
$var = $var*2
end_if
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
KEYSTRING($var)
WAITMS(50)
lclick(545,605)
WAITMS(50)
else
WAITMS(50)
END_IF
-
Так не правильно
DEFINE($var, )
Вот так правильно
DEFINE($var)
Или так
DEFINE($var, 0)
Писать DEFINE есть смысл когда нужно объявить переменную с начальным значением не 0, а потом при следующих проходах скрипта DEFINE на переменную уже не будет воздействовать.
Понятное дело что умножая на 0 ничего кроме нуля не получишь поэтому в начале DEFINE($var, 1) написано правильно.
Кликер сам объявляет переменные при первом упоминании, так что если начальное значение 0 то ничего писать не надо.
Зачем там $var2 = 1 не понятно.
DEFINE($var, 1)
skip:
GETSCREEN
IF_PIXEL_IN(356,304, 356,304, 14671839)
WAIT(18)
GETSCREEN // вот здесь может надо снова сделать снимок через 18 секунд то?!
IF_PIXEL_IN (1015,451,1015,451, 4410032)
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var2 = 1
KEYSTRING($var2)
WAITMS(50)
lclick(545,605)
WAITMS(50)
$var = 1
else
LCLICK(649,509)
WAITMS(50)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#BACKSPACE)
KEYUP(#CTRL)
WAITMS(50)
$var = $var*2
KEYSTRING($var)
WAITMS(50)
lclick(545,605)
WAITMS(50)
end_if
else
WAITMS(50) // а здесь стоит добавить задержку чтоб не грузил процессор если не найдено
goto(skip)
END_IF
goto(skip)
-
со снимком экрана втупил) сейчас проверю $var2=1 сбрасываетпредыдущее множение в случае пройгрыша, то есть следующая ставка после выйгрыша уже будет не 8(к примеру) а снова 1*1
-
Ааааааа. Мой ответ прозевал.