Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Hito

Pages: [1] 2 3 ... 7
1
Мы можем как-то получить дату, в формате - ггггммдд, которая будет через 7 дней?

2
Мы можем как-то запустить bmp-файл из папки в paint-е?

3
http://crapware.aidf.org/forum/index.php?topic=5742.msg37593#msg37593

"к етой теме появился новый вопрос. С IF_PIXEL_IN можно сделать так что если находит несколька одинаковых цветов то после нажатие на одно место - переходила на другой а не кликала по несколько раз туда же , пока не проподёт етот цвет? и как ето сделать?"

Code: (clickermann) [Select]
$nuzhniy_cvet_pikselya = // подставляем цвет пикселя
$minimalnoe_kolichestvo_piksley = // подставляем нужное, минимальное количество пикселей



GETSCREEN ($x1,$y1, $x2,$y2)
SCANPXL($ARR_SCAN, $x1,$y1, $x2,$y2, $nuzhniy_cvet_pikselya)
$kolichestvo_piksley = ARRSIZE($ARR_SCAN)/2
UNDEFINE($ARR_SCAN)
IF($kolichestvo_piksley >= $minimalnoe_kolichestvo_piksley)
   IF($click = 0)
      // кликаем, куда надо
      $click = 1
   END_IF
else
   $click = 0
END_IF



WAITMS(50)

4
Общие вопросы / Оптимизация скриптов
« on: January 11, 2023, 12:23:10 PM »
Предлагаю в эту тему скидывать свои варианты оптимизации скриптов. Что будет входить в эту оптимизацию... - Скорость и удобство скриптов. Например, я скину сюда первый свой вариант оптимизации, который отвечает больше за удобство скрипта, чем за скорость. У меня бывает такое, что кликеру нужно поработать в окне, которое нельзя спрятать, пока кликер с ним работает. Но в это же время я могу заниматься за компом какими-то своими делами. И вот чтобы то, что я делаю с мышкой, пока я занимаюсь этими делами, не конфликтовало со скриптом кликера, я сделал такой SUB:

Code: (clickermann) [Select]
SUB(MouseClick, $L_R, $x_click, $y_click)
   
   $xmous = $_xmouse
   $ymous = $_ymouse
   
   WHILE(($_xmouse ! $x_click)|($_ymouse ! $y_click))
      WHILE((ISKEYDOWN(1) > 0)|(ISKEYDOWN(2) > 0))
         LUP($_xmouse,$_ymouse)
         RUP($_xmouse,$_ymouse)
         WAITMS(50)
      END_CYC
     
      MOVE($x_click, $y_click)
      WAITMS(50)
   END_CYC
   
   WHILE((ISKEYDOWN(1) > 0)|(ISKEYDOWN(2) > 0))
      LUP($_xmouse,$_ymouse)
      RUP($_xmouse,$_ymouse)
      WAITMS(50)
   END_CYC
   
   IF($L_R = "L")
      LDOWN($x_click, $y_click)
      WAITMS(84)
      LUP($x_click, $y_click)
      WAITMS(50)
   else
      IF($L_R = "R")
         RDOWN($x_click, $y_click)
         WAITMS(84)
         RUP($x_click, $y_click)
         WAITMS(50)
      else
         
      END_IF
   END_IF
   
   WHILE(($_xmouse ! $xmous)|($_ymouse ! $ymous))
      WHILE((ISKEYDOWN(1) > 0)|(ISKEYDOWN(2) > 0))
         LUP($_xmouse,$_ymouse)
         RUP($_xmouse,$_ymouse)
         WAITMS(50)
      END_CYC
     
      MOVE($xmous, $ymous)
      WAITMS(50)
   END_CYC

END_SUB

Вызывается эта подпрограмма таким образом:

Code: (clickermann) [Select]
MouseClick ("L", 1309,284)

5
Доброго времени суток всем. Можем ли мы как-нибудь определить размер файла bmp в пикселях, который лежит в папке? Мне, при нахождении картинки на экране, нужно записать не только координаты X1 и Y1, в которых она была найдена, но и X2-Y2...

6
Прочее / Если бы вы знали...
« on: March 16, 2022, 03:02:05 PM »
Если бы вы знали, ребят, как я сейчас кайфую...



Ощущать вкусы - это такой кайф...

7
Общие вопросы / Спасите! Помогите!
« on: March 13, 2022, 09:19:47 PM »
Ребят, у меня в одной игре скрипт перестал ловить один момент, который происходит редко. Сидеть и визуально ловить этот момент, чтобы его отскринить и посмотреть - что там не так, мне в лом... Я надумал, чтобы скрипт на каждом своем кругу делал скрин игрового клиента и сохранял его в папку, но чтобы папка эта сильно не раздуалась, скрипт должен удалять первые скрины в папке, если скринов накопилось энное количество. И все бы хорошо - дело плевое.
Я накидал кусок кода для этого на коленке практически:

Code: (clickermann) [Select]
GETSCREEN ($x,$y, $x+$width-1,$y+$height-1)
COLORMODE (6, $x,$y, $x+$width-1,$y+$height-1)

IF(FExists(STRCONCAT("скрины\история"))=0)
   FCREATE (STRCONCAT("скрины\история"))
END_IF

GETFILELIST ($arr, "скрины\история\*.bmp")
IF(ARRSIZE($arr) > 0)
   $name = $arr[ARRSIZE($arr)-1]
   strseparate($name, ".", $ass)
   $name = $ass[0]+1
   UNDEFINE($ass)
   
   WHILE(ARRSIZE($arr) > 49)
      FDelete(STRCONCAT("скрины\история\",$arr[0]))
      UNDEFINE($arr)
      GETFILELIST ($arr, "скрины\история\*.bmp")
   END_CYC
else
   $name = "0"
END_IF
UNDEFINE($arr)

SCREENSHOTFIX($x,$y, $x+$width-1,$y+$height-1, STRCONCAT("скрины\история\",$name,".bmp"), 0)

Но вся эта балалайка работает до тех пор, пока в папке не появится скрин под названием - 10.bmp
В папке все эти скрины лежат по порядку - от 0 до 10, а вот в массив они переводятся так - 0,1,10,2 и так далее... И в итоге, после скрина под названием 10.bmp, скрипт вновь сохраняет скрин под названием этим же.
Ребят, если честно, я немного выпил... Ну, не удержался... Я последние пол года чуток раком приболел и 4 месяца из этих пол года просто подыхал. Последние два месяца я отходил от куматоза и вот только-только начинаю ощущать какие-то вкусы. Вот и не сдержался - выпиваю и закусываю с наслаждением, хоть и не ощущаю еще вкусы полностью. И вот я к чему все это... Простите меня. Наверняка вопрос мой плевый и пораскинув мозгами, я мог бы его решить, не дергая вас, но вот так уж вышло...) Помогите решить проблемку )

8
К примеру, есть некая переменная - $var, которая несет в себе строку - "90-10+5". Как эту строку перевести в числа и получить 85?

9
Некоторая программа создает файл - Chat.log, с которым мне нужно, чтобы работал кликер, но если этот файл создает программа, то кликер в нем не видит строк. Если же я кликером создаю этот файл и потом подменяю им созданный программой, то в этом файле программа прописывает какие-то кракозябры, вместо лога.
Пробовал так...
Code: (clickermann) [Select]
FCopy("Chat.log", "Chat.txt")
LOGWRITE (TFREAD ("Chat.txt", 1))
HALT
И так получается, но только первый раз, так как для последующих разов приходится удалять предыдущий Chat.txt, а после его удаления кликером, с новым работать не возможно.
Ни у кого нет идей?

10
Использование / Экранная клавиатура
« on: December 16, 2021, 05:02:07 PM »
Народ, а почему кликер не кликает по экранной клавиатуре? Попробовал, и в десятке, и в семерке, и с мышкой ps/2 - ни в какую... Может я что-то не понимаю...? Хотел экранной клавой воспользоваться в игре, в которой клики от кликермана не проходят из-за защиты.

11
Ребят, помогите проблему решить. Есть игра, которая захватывает и отпускает мышь. При захвате мышь исчезает с экрана и если ею двигать, то поворачивается камера в игре. А если захват мыши отпустить, то она просто перемещается по экрану. Вся проблема в том, что при некоторых действиях в игре, мышь захватывается автоматически и если потом нужно куда-то кликнуть ею, то полная херь получается. Кликер не видит мышь на экране и не может определить - захвачена она, или нет. Как эту проблему решить можно?

12
Ребят, каким образом в этом скрипте:
Code: (clickermann) [Select]
getfilelist($ar_bmp, STRCONCAT("variables\",$name,"_*_ReloadScript.bmp"))
IF(arrsize($ar_bmp) > 0)
   strseparate($ar_bmp[0], "_", $nr)
   $reload_script = $nr[1]
   UNDEFINE ($nr)
END_IF
UNDEFINE ($ar_bmp)
возникает ошибка итерпритации строки - $reload_script = $nr[1]?

13
Предлагаю ввести функцию проверки наличия файла или каталога по маске, на подобии - GetFileList. Только GetFileList помещает в массив список всех найденных файлов, а я говорю о функции, которая будет искать 1 файл по маске.
Объясню - зачем это может быть нужно...
К примеру, мне нужно получить расстояние до моба и вместо того, чтобы мутить долгий процесс по вычислению цифр, из которых состоит число (их позицию и их значение), я просто заранее сохранил бы в папку "расстояние" скрины с разным расстоянием, а их название состояло бы из их контрольной суммы пикселей и значения расстояния. Пример - "130_847690405.bmp". А в скрипте написал бы подобный код:
Code: (clickermann) [Select]
IF($target > 0)
   GETSCREEN($x1,$y1, $x2,$y2)
   $count = PXLCRC ($x1,$y1, $x2,$y2)
   IF(FExists_mask(STRCONCAT("screens\расстояние\*_",$count,".bmp")))
      $rasstoyanie = STRCUT ($_return1, 1, STRPOS($_return1, "_")-1)
   else
      IF(FExists(STRCONCAT("screens\расстояние\цех\_",$count,".bmp")))
      else
         SCREENSHOTFIX($x1,$y1, $x2,$y2, STRCONCAT("screens\расстояние\цех\_",$count,".bmp")) // Здесь сохраняем заготовку, которую я потом просмотрю, допишу расстояние в ее названии и перекину в папку - "расстояние".
      END_IF
   END_IF
END_IF
Подобный способ распознания того же расстояния был бы очень быстрым в сравнении со способами, в которых используются большие массивы...

14
Столкнулся с непонятной проблемой, после переустановки винды. Строка:
Code: (clickermann) [Select]
PXLREPLACE(1170,45, 1342,45, -1, 225)закрашивает не одну полосу пикслей, а 4 полосы. Как будто я прописал:
Code: (clickermann) [Select]
PXLREPLACE(1168,43, 1344,46, -1, 225)И закрашивает как-то не ровно... Надеюсь, на видео видно нормально.

https://www.youtube.com/watch?v=lrFWQ6TxZe4

15
Общие вопросы / Оповещения в VK API
« on: October 22, 2019, 12:39:53 PM »
В связи с обломом темы с телеграмом, предлагаю мутить оповещения из кликера в ВК. В ВК есть ограничение на отправку запросов ботами сообществ, которое нас мало волнует - 20 запросов с секунду. Я ставил цикл в котором бот отправлял мне сообщения постоянно. В цикле была пауза в 50 мс. Так что нас это ограничение вполне устраивает. Приложение от ВК можно установить на мобилу и таким образом всегда быть в курсе того, что у вас там на компе происходит в скриптах. Через ВК так же удобно намутить пульт управления скриптами. Ниже видео, на котором смотрим, как создать сообщество, в котором будем получать оповещения.

ВАЖНЫЕ МОМЕНТЫ:
Тип группы указываем - Частная, чтобы в нашу группу никто не лез и в ней были только вы и ваш бот.
Какую версию API выбираем, ту и используем потом в скрипте. В нашем скрипте это последняя версия - "v=5.102"
После всех настроек сообщества, в него необходимо написать первое сообщение. На видео таким сообщением является - "Упс"
В с крипте - $user_id, указываем - ВАШ id в ВК.
В папку с exe-шником кликера кидаем две dll-ки (libeay32.dll и ssleay32.dll)  -  https://yadi.sk/d/hWk3k-Q2i6uTrA  и  https://yadi.sk/d/_gajbqM4iPuu6A (Clickermann вроде должен быть 32-битной версии. Хз - работает ли 64-битная версия с этими dll.)
Если сообщение не отправилось, копируем сообщение ошибки из лога и показываем (экстрасенсов тут нет).

Ссылка на видео по созданию и настройке сообщества.
https://www.youtube.com/watch?v=d1lQyQBVtBY&feature=youtu.be

Скрипт Clickermann-а, для отправки сообщений на русском языке.
Code: (clickermann) [Select]
$access_token =""
$group_id =""
$user_id =""


//======================================= Отправка сообщений
SUB(VK_message, $sms)
   $random_id = ""
   FOR($a=0,$a<35)
      $s = RND(0, 9)
      $random_id = STRCONCAT($random_id,$s)
   END_CYC
   
   $message = ""
   FOR($i=0,$i<strlen($sms))
      $simvol = STRCUT ($sms, $i+1, 1)
     
      //= Таблица кодирования символов URL для русского алфавита.
      SWITCH($simvol)
         CASE("А")
            $message = STRCONCAT($message,"%D0%90")
         CASE("а")
            $message = STRCONCAT($message,"%D0%B0")
         CASE("Б")
            $message = STRCONCAT($message,"%D0%91")
         CASE("б")
            $message = STRCONCAT($message,"%D0%B1")
         CASE("В")
            $message = STRCONCAT($message,"%D0%92")
         CASE("в")
            $message = STRCONCAT($message,"%D0%B2")
         CASE("Г")
            $message = STRCONCAT($message,"%D0%93")
         CASE("г")
            $message = STRCONCAT($message,"%D0%B3")
         CASE("Д")
            $message = STRCONCAT($message,"%D0%94")
         CASE("д")
            $message = STRCONCAT($message,"%D0%B4")
         CASE("Е")
            $message = STRCONCAT($message,"%D0%95")
         CASE("е")
            $message = STRCONCAT($message,"%D0%B5")
         CASE("Ё")
            $message = STRCONCAT($message,"%D0%81")
         CASE("ё")
            $message = STRCONCAT($message,"%D1%91")
         CASE("Ж")
            $message = STRCONCAT($message,"%D0%96")
         CASE("ж")
            $message = STRCONCAT($message,"%D0%B6")
         CASE("З")
            $message = STRCONCAT($message,"%D0%97")
         CASE("з")
            $message = STRCONCAT($message,"%D0%B7")
         CASE("И")
            $message = STRCONCAT($message,"%D0%98")
         CASE("и")
            $message = STRCONCAT($message,"%D0%B8")
         CASE("Й")
            $message = STRCONCAT($message,"%D0%99")
         CASE("й")
            $message = STRCONCAT($message,"%D0%B9")
         CASE("К")
            $message = STRCONCAT($message,"%D0%9A")
         CASE("к")
            $message = STRCONCAT($message,"%D0%BA")
         CASE("Л")
            $message = STRCONCAT($message,"%D0%9B")
         CASE("л")
            $message = STRCONCAT($message,"%D0%BB")
         CASE("М")
            $message = STRCONCAT($message,"%D0%9C")
         CASE("м")
            $message = STRCONCAT($message,"%D0%BC")
         CASE("Н")
            $message = STRCONCAT($message,"%D0%9D")
         CASE("н")
            $message = STRCONCAT($message,"%D0%BD")
         CASE("О")
            $message = STRCONCAT($message,"%D0%9E")
         CASE("о")
            $message = STRCONCAT($message,"%D0%BE")
         CASE("П")
            $message = STRCONCAT($message,"%D0%9F")
         CASE("п")
            $message = STRCONCAT($message,"%D0%BF")
         CASE("Р")
            $message = STRCONCAT($message,"%D0%A0")
         CASE("р")
            $message = STRCONCAT($message,"%D1%80")
         CASE("С")
            $message = STRCONCAT($message,"%D0%A1")
         CASE("с")
            $message = STRCONCAT($message,"%D1%81")
         CASE("Т")
            $message = STRCONCAT($message,"%D0%A2")
         CASE("т")
            $message = STRCONCAT($message,"%D1%82")
         CASE("У")
            $message = STRCONCAT($message,"%D0%A3")
         CASE("у")
            $message = STRCONCAT($message,"%D1%83")
         CASE("Ф")
            $message = STRCONCAT($message,"%D0%A4")
         CASE("ф")
            $message = STRCONCAT($message,"%D1%84")
         CASE("Х")
            $message = STRCONCAT($message,"%D0%A5")
         CASE("х")
            $message = STRCONCAT($message,"%D1%85")
         CASE("Ц")
            $message = STRCONCAT($message,"%D0%A6")
         CASE("ц")
            $message = STRCONCAT($message,"%D1%86")
         CASE("Ч")
            $message = STRCONCAT($message,"%D0%A7")
         CASE("ч")
            $message = STRCONCAT($message,"%D1%87")
         CASE("Ш")
            $message = STRCONCAT($message,"%D0%A8")
         CASE("ш")
            $message = STRCONCAT($message,"%D1%88")
         CASE("Щ")
            $message = STRCONCAT($message,"%D0%A9")
         CASE("щ")
            $message = STRCONCAT($message,"%D1%89")
         CASE("Ъ")
            $message = STRCONCAT($message,"%D0%AA")
         CASE("ъ")
            $message = STRCONCAT($message,"%D1%8A")
         CASE("Ы")
            $message = STRCONCAT($message,"%D0%AB")
         CASE("ы")
            $message = STRCONCAT($message,"%D1%8B")
         CASE("Ь")
            $message = STRCONCAT($message,"%D0%AC")
         CASE("ь")
            $message = STRCONCAT($message,"%D1%8C")
         CASE("Э")
            $message = STRCONCAT($message,"%D0%AD")
         CASE("э")
            $message = STRCONCAT($message,"%D1%8D")
         CASE("Ю")
            $message = STRCONCAT($message,"%D0%AE")
         CASE("ю")
            $message = STRCONCAT($message,"%D1%8E")
         CASE("Я")
            $message = STRCONCAT($message,"%D0%AF")
         CASE("я")
            $message = STRCONCAT($message,"%D1%8F")
         CASE(" ")
            $message = STRCONCAT($message,"%20")
           
         DEFAULT
            $message = STRCONCAT($message,$simvol)
      END_SWITCH
   END_CYC
   
   $str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.send?user_id=",$user_id,"&group_id=",$group_id,"&random_id=",$random_id,"&message=",$message,"&v=5.102&access_token=",$access_token))
   IF(STRPOS ($str, "response") > 0)
      $VK_message = 1
   else
      $VK_message = 0
      LOGWRITE ($str)
   END_IF
END_SUB



VK_message("Наше сообщение")
IF($VK_message)
   // Сообщение отправлено
else
   // Ошибка при отправке сообщения - смотрим лог
END_IF

HALT

Получаем сообщения так:

Code: (clickermann) [Select]
$access_token =""
$group_id =""
$user_id =""


$str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.getDialogs?group_id=",$group_id,"&v=5.102&access_token=",$access_token))
IF(STRPOS ($str, "response") > 0)
   $body = STRPOS ($str, "body")
   IF($body)
      // Есть сообщение
     
      $ns = $body+7
      $ks = STRPOS ($str, char(34), $ns)
      $komanda = STRCUT ($str, $ns, $ks-$ns)
     
      // Выводим сообщение в лог
      LOGWRITE ($komanda)
     
      // Затираем сообщение в памяти бота, чтобы он нам его в цикле не показывал.
      $str = HTTPGET (STRCONCAT("https://api.vk.com/method/messages.deleteConversation?user_id=",$user_id,"&group_id=",$group_id,"&v=5.102&access_token=",$access_token))
   END_IF
END_IF


WAITMS(100)

Pages: [1] 2 3 ... 7