Готовые скрипты

Вывод переменный в лог или файл

$a = 1
$b = "Текст"
 
LOGWRITE ("Значение переменной a: ", $a)
LOGWRITE ("Значение переменной b: ", $b)
LOGSHOW (1) // Открыть лог
 
HALT
$a = 1
$b = "Текст"
 
// Запись в текстовый файл 
TFWRITE("Log.txt", STRCONCAT("Значение переменной a: ", $a))
TFWRITE("Log.txt", STRCONCAT("Значение переменной b: ", $b))
EXECUTE("Log.txt") // Открыть текстовый файл в блокноте
 
HALT

Левый клик по цвету

GETSCREEN
COLORMODE(6)
IF(PXL($_xmouse, $_ymouse) = 255)
   LCLICK($_xmouse, $_ymouse)
   WAITMS(50)
ELSE
   WAITMS(20)
END_IF

//несколько цветов

GETSCREEN
COLORMODE(6)
IF_PIXEL_IN($_xmouse, $_ymouse, $_xmouse, $_ymouse, 255,16777215,14215660)
   LCLICK($_xmouse, $_ymouse)
   WAITMS(50)
ELSE
   WAITMS(20)
END_IF

Создание скриншота

GETSCREEN
HINTPOPUP ("Нажмите CTRL для продолжения","Укажите верхний левый угол")
WHILE(iskeydown(#CTRL)=0)
WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
WAITMS(20)
END_CYC
$vx = $_xmouse
$vy = $_ymouse
BEEP(1000,200)

HINTPOPUP ("Нажмите CTRL для продолжения","Укажите нижний правый угол")
WHILE(iskeydown(#CTRL)=0)
WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
WAITMS(20)
END_CYC
$nx = $_xmouse
$ny = $_ymouse
BEEP(1000,200)

GETFILELIST($arr, "Image_*.bmp")
IF(ARRSIZE($arr) > 0)
$n = ARRPOP($arr)
$n = INT(STRCUT2($n, STRPOS($n, "_")+1, STRPOS($n, ".")-1))+1
$nam=INPUTBOX("Введите имя файла", STRCONCAT("Image_",$n), 999)
ELSE
$nam=INPUTBOX("Введите имя файла", "Image_1", 999)
END_IF
IF($nam = "")
HALT
END_IF

$nam=STRCONCAT($nam,".bmp")

$color = RADIOBOX("Выберете режим CLORMODE CANCEL - оригинал","1","2","3","4","5","6","7","8")
COLORMODE($color,$vx,$vy,$nx,$ny)
SCREENSHOTFIX($vx,$vy,$nx,$ny,$nam, 0)

$mr = DIALOGBOX("Продолжаем?", 4)
IF($mr = 7)
HALT
END_IF

Подпрограмма

SUB(имя) // подпрограмма
   // тело выполняется только после вызова
END_SUB

имя() // вызов подпрограммы (обязательно ниже подпрограммы)

Подпрограмма с параметрами

SUB(имя, $par1, $par2) // подпрограмма с параметрами
   // тело выполняется только после вызова
END_SUB

имя(1,2) // вызов подпрограммы (обязательно ниже подпрограммы)

Анализ изображения

Производит поиск изображения в прямоугольной области буфера анализа и выводит координаты найденных экземпляров в массив.

GETSCREEN

SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "picture.bmp", -1, 100)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   MOVE($X, $Y)   // перемещаем курсор
   LOGWRITE ("X: ", $X, " Y: ", $Y)
   WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)

HALT
SUB(имя) // подпрограмма
   // тело выполняется только после вызова
END_SUB

имя() // вызов подпрограммы (обязательно ниже подпрограммы)

Сканирование пикселей

Производит поиск пикселей заданного цвета в прямоугольной области буфера анализа.

GETSCREEN

SCANPXL($ARR_SCAN, 0,0, $_xmax,$_ymax, 255)

$ARR_NUM = 0
$SHIFT_X = 1 // смещение (кол-во игнор пикселов после найденного)
$SHIFT_Y = 1
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   IF(($X > $X2) | ($Y > $Y2))
      $X2 = $X + $SHIFT_X
      $Y2 = $Y + $SHIFT_Y
      MOVE($X, $Y) // перемещаем курсор
      INC($SCAN_COUNT,1)
      LOGWRITE ("X: ", $X, " Y: ", $Y)
      WAITMS(100)
   END_IF
END_CYC

UNDEFINE($ARR_SCAN)

LOGWRITE ("=====================")
LOGWRITE ("Всего найдено: ", $SCAN_COUNT)

HALT
// 31.05.2021
#name "New Script"


print("Hello, world!")

Комбинации клавиш

Пример ввода CTRL+C

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)

Ожидание времени

IF($t_wait = 0)
   WHILE(($_time_h ! 3)|($_time_m ! 5)) // ждем 03:05
      WAITMS(500)
   END_CYC
   $t_wait = 1
END_IF

Закрытие процесса

EXECUTE("TASKKILL","/F /IM firefox.exe") // убить процесс

Условие с таймером

IF($time < $_time_t)
   // условие сработает снова через 60 сек

   $time = $_time_t + 60
END_IF

Raid Shadow Legends Bot 3.21

https://vk.com/topic-14410794_47111690 — автор
На старте игры забейте на все это и просто закрывайте всевозможные миссии, задания и испытания. Каждый час проверяйте рынок на наличие редких и загадочных осколков. Смотрите youtube на предмет стартового набора героев, руководств тьма. Используйте функцию speedhack от Cheat Engine для прохождения локаций на скорости x2. В игре тоже ускоряем скорость на x2, в итоге получаем скорость x4. Копите кристаллы. Они нам понадобятся в огромных количествах. Собрали стабильные пачки героев на большинство подземелий 20х этажей? — идем дальше.

Завершаем все турниры, по таблице за 1е место не боремся. Если пак игроков турнирной таблицы вялые амебы, то можно немного потратить кристаллы, так как в целом награды хорошие. Завершаем все ежедневные задания постоянно. Но Кристаллы особо НЕ тратим. Их количество должно расти.

Для чего тогда нужны кристаллы?
1. Для завершения событий по сбору частиц на призыв крутых героев, которые очень сильно повлияют на прохождение подземелий в дальнейшем;
2. Для обновления арены в поиске легких соперников, особенно в золоте 4;
3. Для занятия 1-х мест в крутых турнирах с топовыми персонажами в качестве приза.

Как правило такие турниры длятся 3 дня (72 часа), но мы не китаец чтобы все 72 часа сидеть и тыкать в пиксель даже на скорости x4. Нужен бот, который будет выполнять за нас нудную работу в фоновом режиме и даст возможность нам играть в другие игры:

Системные требования:
# Операционная система: Windows 10
# Масштабирование windows: 100%

А как использовать? Откройте бот с помощью Clickermann. Всё!

Режим дрейфа — когда поставленная боту задача выполнена он не останавливается, а начинает ждать по 5 минут отката энергии для дальнейших попыток пройти подземелье или локацию, сигнализируя об этом двойным звуковым сигналом.

Преимущество бота:
— режим привязки (бот играет в игру на заднем фоне, пока вы катаете в другие игры или занимаетесь своими делами);
— простота, оптимизация и стабильность;
— бот покупает энергию за кристаллы в режиме привязки на заднем фоне (New!).

IF($time < $_time_t)
   // условие сработает снова через 60 сек

   $time = $_time_t + 60
END_IF
#name "Raid KILLO Bot"
#autorun

define($name,".:[Raid KILLO]:. by GoogleRa, Ver.: 0.1a")
hsettext(wndfind("Raid: Shadow Legends"),$name)
hset(wndfind($name),0)

sub(w_info)
   wndgetinfo(wndfind($name),$x_0,$y_0,$x_1,$y_1)
   if($x_1!800,$y_1!600)
      wndsize(wndfind($name),800,600)
   end_if
   getscreen
   colormode(5)
end_sub

if(tfcount("Config_KILLO.ini")=0)
   print($name)
   $t=dialogbox(".:[Raid KILLO]:. by GoogleRa, ver.: 0.1a - самый мясной бот для Raid Shadow Legends, тут вы найдете автоперезапуск боя, автопокупку энергии за кристаллы и автопрокачку героев в локациях, и все это в режиме привязки (в фоновом режиме)! Бот ведет подробный лог всех действий в Log_KILLO.txt. Приятной игры!)",0,0)
   iniwrite("Config_KILLO.ini","crysbuy","0","configurations")
   $attackb=dialogbox("Запускать автобой автоматически? В любой момент вы можете переключить эту функцию сами в Config_KILLO.ini в параметре attackb, где 0 - функия выключена, а 1 - включена",4,0)
   iniwrite("Config_KILLO.ini","waite","5","configurations")
   if($attackb=6)
      $attackb=1
   else
      $attackb=0
   end_if
   iniwrite("Config_KILLO.ini","attackb",$attackb,"configurations")
   
   $waite=inputbox("Сколько минут ждать откат энергии перед повторным заходом (по умолчанию 5)?", "5",60)
   iniwrite("Config_KILLO.ini","waite",$waite,"configurations")
   undefine($waite)
end_if

print(tfcount("Log_KILLO.txt"))
if(tfcount("Log_KILLO.txt")=0)
   tfwrite("Log_KILLO.txt"," ")
end_if

logclear
print($name)

if(wndfind($name)=0)
   $t=dialogbox("Игра не запущена, запустите игру и перезапустите бот",0,0)
   halt
end_if

wndgetinfo(wndfind($name),$x_0,$y_0,$x_1,$y_1)

if(($x_0=-32000)&($y_0=-32000))
   wndstate(wndfind($name),1)
   waitms(250)
end_if

wndstate(wndfind("Raid KILLO Bot"),1)
hset(wndfind($name),1)

$c=inputbox("Сколько раз я могу купить энергию за кристаллы?", "0",15)
iniwrite("Config_KILLO.ini","crysbuy",$c,"configurations")

if(tfread("Log_KILLO.txt",1)!strconcat($name," - ",strconcat(strcut("00",1,2-strlen($_date_d)),$_date_d),".",strconcat(strcut("00",1,2-strlen($_date_m)),$_date_m),".",$_date_y))
   tfclear("Log_KILLO.txt")
   tfwrite("Log_KILLO.txt"," ")
   tfwrite("Log_KILLO.txt",strconcat($name," - ",strconcat(strcut("00",1,2-strlen($_date_d)),$_date_d),".",strconcat(strcut("00",1,2-strlen($_date_m)),$_date_m),".",$_date_y))
end_if

$attackb=iniread("Config_KILLO.ini","attackb","configurations")
$time=0
$time_t=0
$check_0=0
$check_1=0
$n=0

hsettext(wndfind($name),strconcat($name," | Покупок КРИ: ",iniread("Config_KILLO.ini","crysbuy","configurations")," | Заходов: ",$n))

start:
w_info()
if((pxl(450,545)=10452767)&(pxl(462,545)=10452767)&(pxl(475,545)=10452767))
   if((pxl(368,247)=16777087)&(pxl(485,247)=16777087))
      $t=dialogbox("Герои прокачены. Требуется замена. Замени и нажми: 'Ok'",0,0)
      undefine($t)
      goto(start)
   end_if
   logclear
   print($name)
   inc($n,1)
   if($time_t=0)
      $time_t=" - пробный заход"
   end_if
   if($time_t>0)
      $time_t=strconcat(", время прохождения: ",$_time_t-$time_t," секунд")
   end_if
   sendmessage(wndfind($name),0x6,0x1,0)
   waitms(50)
   keypress(#r)
   waitms(750)
   hsettext(wndfind($name),strconcat($name," | Покупок КРИ: ",iniread("Config_KILLO.ini","crysbuy","configurations")," | Заходов: ",$n))
   tfwrite("Log_KILLO.txt",strconcat("+ Заход: ",$n,$time_t,", текущее время: ",strconcat(strcut("00",1,2-strlen($_time_h)),$_time_h),":",strconcat(strcut("00",1,2-strlen($_time_m)),$_time_m),":",strconcat(strcut("00",1,2-strlen($_time_s)),$_time_s)))
   $time_t=$_time_t
end_if
waitms(150)
while((pxl(335,400)=2072511)&(pxl(400,400)=2072511),(pxl(465,400)=2072511))
   if(iniread("Config_KILLO.ini","crysbuy","configurations")=0)
      tfdelete("Log_KILLO.txt",tfcount("Log_KILLO.txt"))
      sendmessage(wndfind($name),0x6,0x1,0)
      waitms(50)
      keypress(#esc)
      $time=$_time_t+iniread("Config_KILLO.ini","waite","configurations")*60
      while($time>$_time_t)
         if($check_0=0)
            tfwrite("Log_KILLO.txt",strconcat("+ Энергия и кристаллы закончились, перехожу в режим ожидания по ",iniread("Config_KILLO.ini","waite","configurations")," минут, текущее время: ",strconcat(strcut("00",1,2-strlen($_time_h)),$_time_h),":",strconcat(strcut("00",1,2-strlen($_time_m)),$_time_m),":",strconcat(strcut("00",1,2-strlen($_time_s)),$_time_s)))
            execute("Log_KILLO.txt")
            $check_0=1
         end_if
         logclear
         print("Raid KILLO Bot | Ожидание энергии: ",$time-$_time_t," секунд")
         wait(1)
      end_cyc
      logclear
      print($name)
      goto(start)
   end_if
   hset(wndfind($name),0)
   wndgetinfo(wndfind($name),$x_0,$y_0,$x_1,$y_1)
   $x=$_xmouse
   $y=$_ymouse
   move($x_0+405,$y_0+405)
   waitms(50)
   hset(wndfind($name),1)
   lclick($x_0+405,$y_0+405)
   waitms(50)
   hset(wndfind($name),0)
   move($x,$y)
   hset(wndfind($name),1)
   waitms(750)
   w_info()
   $check_1=1
end_cyc
waitms(150)
if($check_1=1)
   if(iniread("Config_KILLO.ini","crysbuy","configurations")!0)
      $c=iniread("Config_KILLO.ini","crysbuy","configurations")
      iniwrite("Config_KILLO.ini","crysbuy",$c-1,"configurations")
      hsettext(wndfind($name),strconcat($name," | Покупок КРИ: ",iniread("Config_KILLO.ini","crysbuy","configurations")," | Заходов: ",$n))
      tfwrite("Log_KILLO.txt",strconcat("+ Энергия пополнена за кристаллы, осталось покупок: ",$c,", текущее время: ",strconcat(strcut("00",1,2-strlen($_time_h)),$_time_h),":",strconcat(strcut("00",1,2-strlen($_time_m)),$_time_m),":",strconcat(strcut("00",1,2-strlen($_time_s)),$_time_s)))
      $check_1=0
   end_if
end_if
if($attackb=1)
   if(pxl(54,552)=10469311)
      sendmessage(wndfind($name),0x6,0x1,0)
      waitms(50)
      keypress(#t)
      waitms(200)
   end_if
end_if
waitms(150)
goto(start)

Нажималка ЛКМ, скрипт клика

#name "нажималка ЛКМ"

IF(ISKEYDOWN(2)=1) // управляется однократным нажатием ПКМ
IF($var1=0)
$var1=1
SETTHREAD (поток,1) // 0 - Пауза, 1 - Старт, 2 - Стоп
LOGWRITE ("Кликает")
ELSE
$var1=0
SETTHREAD (поток,2) // 0 - Пауза, 1 - Старт, 2 - Стоп
LOGWRITE ("Стоп")
END_IF
WHILE(ISKEYDOWN(2)=1)
WAITMS(20)
END_CYC
END_IF
WAITMS(50)
THREAD(поток,0)
LCLICK($_xmouse,$_ymouse)
WAITMS(2000) // регулируемая задержка между кликами 1000мс = 1 сек
END_THREAD

Уважаемые гости сайта, если вы хотите поделиться своей наработкой, оставляйте ее в комментариях и она будет опубликована с вашим авторством.

Рейтинг
Поделиться с друзьями
Clickermann
Добавить комментарий

  1. Колян

    скрипт клика работает +++

    Ответить
  2. Юрий

    Добрый день.
    есть ряд одинаковых картинок, как их перебирать?
    ну что бы курсор двигался по мере их нахождения?
    окна на панели задач.

    Ответить