Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: progressiv13 on January 09, 2018, 05:25:16 PM
-
Игра на мобильной платформе, скрипт будет работать ссылаясь на программу NOX.
Впервые связался с кликерманом, да и в принципе с языками программирования.
Набросал маленько:
// дата 09.01.2018
#name "Drag racing(Уличные гонки)"
// ver 1.1 Полный проезд трассы v 1.1
// НАСТРОЙКИ! (Поменять под ваше разрешение и расположение)
$z=0 //начальный пиксель для поиска по оси x (расположение индикатора прогрева резины)
$x=0 //начальный пиксель для поиска по оси y (расположение индикатора прогрева резины)
$c=0 //конечный пиксель для поиска по оси x (расположение индикатора прогрева резины)
$v=0 //конечный пиксель для поиска по оси y (расположение индикатора прогрева резины)
$a=0 //начальный пиксель для поиска по оси x (расположение тахометра)
$s=0 //начальный пиксель для поиска по оси y (расположение тахометра)
$d=0 //конечный пиксель для поиска по оси x (расположение тахометра)
$f=0 //конечный пиксель для поиска по оси y (расположение тахометра)
$q=0 //начальный пиксель для поиска по оси x (расположение спидометра)
$w=0 //начальный пиксель для поиска по оси y (расположение спидометра)
$e=0 //конечный пиксель для поиска по оси x (расположение спидометра)
$r=0 //конечный пиксель для поиска по оси y (расположение спидометра)
$t=0 //начальный пиксель для поиска по оси x (окончание заезда)
$y=0 //начальный пиксель для поиска по оси y (окончание заезда)
$u=0 //конечный пиксель для поиска по оси x (окончание заезда)
$i=0 //конечный пиксель для поиска по оси y (окончание заезда)
KEYPRESS(#1) // Заводим автомобиль
WAITMS(100) // Задержка 100 мс
KEYDOWN(#2) // нажимаем на тормоз
KEYDOWN(#1) // нажимаем на газ, начинаем прогрев резины.
WHILE ($b=0) // Поиск необходимого значения индикатора прогрева резины
WAITMS(10)
GETSCREEN ($z,$x, $c,$v)
IF_PICTURE_IN ($z,$x, $c,$v, "прогрев резины.bmp", -1, 100)
KEYUP(#2) // отпускаем тормоз
$b=1
END_IF
END_CYC
WHILE ($n=0) // Поиск своевременного нажатия на газ для максимального взаимодействия двигателя с турбиной.
WAITMS(10)
GETSCREEN ($a,$s, $d,$f)
IF_PICTURE_IN ($a,$s, $d,$f, "старт.bmp", -1, 100)
KEYUP(#1) // отпускаем газ
$n=1
END_IF
END_CYC
KEYDOWN(#1) // Нажимаем газ (запуск отсчета старта)
WHILE ($m<6) // Своевременное переключение
WAITMS(10)
GETSCREEN ($t,$y, $u,$i)
IF_PICTURE_IN ($t,$y, $u,$i, "ОКОНЧАНИЕ.bmp", -1, 100)
KEYUP(#1)
GOTO(skip)
else
GETSCREEN ($q,$w, $e,$r)
IF_PICTURE_IN ($q,$w, $e,$r, "переключение на 2 передачу.bmp", -1, 100)
KEYDOWN(#3) // выжимаем сцепление
KEYPRESS(#4) // переключаем передачу на 2
WAITMS(5) // Задержка 5 мс
KEYUP(#3) // Отпускаем сцепление
$m+1
else
GETSCREEN ($q,$w, $e,$r)
IF_PICTURE_IN ($q,$w, $e,$r, "переключение на 3 передачу.bmp", -1, 100)
KEYDOWN(#3)
KEYPRESS(#4)
WAITMS(5)
KEYUP(#3)
$m+1
else
GETSCREEN ($q,$w, $e,$r)
IF_PICTURE_IN ($q,$w, $e,$r, "переключение на 4 передачу.bmp", -1, 100)
KEYDOWN(#3)
KEYPRESS(#4)
WAITMS(5)
KEYUP(#3)
$m+1
else
GETSCREEN ($q,$w, $e,$r)
IF_PICTURE_IN ($q,$w, $e,$r, "переключение на 5 передачу.bmp", -1, 100)
KEYDOWN(#3)
KEYPRESS(#4)
WAITMS(5)
KEYUP(#3)
$m+1
else
GETSCREEN ($q,$w, $e,$r)
IF_PICTURE_IN ($q,$w, $e,$r, "переключение на 6 передачу.bmp", -1, 100)
KEYDOWN(#3)
KEYPRESS(#4)
WAITMS(5)
KEYUP(#3)
$m+1
END_IF
END_IF
END_IF
END_IF
END_IF
skip:
END_IF
END_CYC
$m=0
$b=0
$n=0
Начал как мне кажется с самого сложного, с полного проезда трассы на механике.
Позже буду реализовывать полностью автоматизированного бота. Ну это как получится конечно.
Принимаю критику, правки и обвинение в нубстве)))
Заранее спасибо вам опытные пользователи этой чудопрограммы)))
-
END_IF //заканчиваем сравнение
END_CYC //заканчиваем цикл
END_IF //заканчиваем сравнение
Чёт вспомнилось:
Коса, косарь, кошу...
КОСА, КОСАРЬ, КОШУ.
Лес, лесник, ...
Зачем всё забито комментариями банальных вещей. Можно написать для чего этот код или почему именно такой.
А
$b = 1 // присваиваем переменной b целочисленное значение 1
не несёт никакой пользы, т.к. это читается из кода.
Пастернака не читал, но вижу что вот это всё
$m=0 //значение для цикла (цикл 3 переключение на 2 передачу)
$l=0 //значение для цикла (цикл 4 переключение на 3 передачу)
$k=0 //значение для цикла (цикл 5 переключение на 4 передачу)
$j=0 //значение для цикла (цикл 6 переключение на 5 передачу)
$h=0 //значение для цикла (цикл 7 переключение на 6 передачу)
$g=0 //значение для цикла (цикл 8 окончание заезда)
можно заменить одной переменной в которой и будет указана текущая скорость.
Соответственно и минимум 3 последних куска кода с переключением свернуться в один. Я бы свернул все 6, они ведь ничем не отличаются вроде.
-
Вы бы проверочку работоспособности в игре всё -же сделали прежде чем писать 150 строк кода.
Домой доберусь протещу.
-
Зачем всё забито комментариями банальных вещей. Можно написать для чего этот код или почему именно такой.
Так как пользоваться будут те люди которые совсем не в зуб ногой, для них и пишу.
Я думал над числовым, но как я выдерну скорость с игры?
или вы имеете ввиду с оператором "или"? и всё это совершить в одно действие, ну или в два так как у меня на машине на одной 3 передачи и мне достаточно у кого то 4-5-6. поэтому и написал после переключения на четвертую дополнительное условие с поиском.
Я только начинаю изучать Кликерман, поэтому и был принят единственный на тот момент известный вариант вариант найти картинку и когда она будет найдена совершить действие.
Как и говорил все впервые, поэтому через муки боль и страдание)))
-
$b=1 // меняем значение чтобы следующий поиск начинался корректно
вообще все эти смены значений непонятно зачем введены, ведь скрипт линейный в конце стоит HALT
и при новом запуске все эти переменные снова будут равны ноль.
То есть если убрать $n=1 при цикле он будет возвращаться именно к этому WHILE ($n=0), а не к какому то другому?
Если так то это упрощает задачу и укорачивает значительно код скрипта, который в дальнейшем будет только разрастаться.
Спасибо за советы! Просто хотел услышать жизнеспособные ли мои труды и в правильном ли я иду направлении.
-
как было сказано ранее, все прекрасно сводится к одной подпрограмме и на её основе можете продолжать дальнейшую работу над своим ботом.
Тёще привет! ;D
//********** НАСТРОЙКИ*************
Спасибо попробую разобраться в вашем коде.
Обязательно передам, в апреле, когда увижу её)))