Author Topic: Предложения по применению от новичков. Какой скрипт вам будет интересен?  (Read 49743 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Зравствуйте.
Подскажите как можно реализовать рандомный клик мышью в пределах небольшой области.
Code: (clickermann) [Select]
LCLICK(RND(100,200),RND(100,200))Рандомный клик в области 100,100  - 200,200


Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
Есть такая задача по данным.
Приложить к экрану коробок , отметить  длину одной из его сторон   ( удобно средняя кнопка мышки ) и посчитать её  в сантиметрах с выводом окошка в трей.
Code: (clickermann) [Select]
$mm = 375 // Ширина монитора (мм)
$kmm = $mm / ($_xmax + 1)

WHILE(iskeydown(4) = 0)
   WAITMS(35)
   IF(iskeydown (4) = 1)
      $x1 = $_xmouse
      $y1 = $_ymouse
   END_IF
END_CYC

WHILE(iskeydown(4) = 1)
   WAITMS(35)
   IF(iskeydown (4) = 0)
      $x2 = $_xmouse
      $y2 = $_ymouse
   END_IF
END_CYC

$dist = DIST ($x1, $y1, $x2, $y2)
$lmm = $dist * $kmm

HINTPOPUP ($lmm, "Длина (мм)")
« Last Edit: April 09, 2014, 06:24:46 PM by Крис Тинка »

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Зравствуйте.
Подскажите как можно реализовать рандомный клик мышью в пределах небольшой области.

копайте в сторону rnd(x) rnd(y) или rndfrom

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Спасибо Автору! Вы гений!

Хочу задать вопрос:
Как прочитать с блокнота логин;пароль (написаны в столбик), и вставить в соответствующие поля в браузере, а затем удалить эту строку?

И как прочитать из блокнота рандомную строку и вставить в браузер?

Большое спасибо за ответ, и огромное спасибо за труды!
сохранить в файл и копировать в буфер построчно
Code: (clickermann) [Select]
STRREADLN ("file", strn) // - строковая функция; считывает строку из файла

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Хочу задать вопрос:
Как прочитать с блокнота логин;пароль (написаны в столбик), и вставить в соответствующие поля в браузере, а затем удалить эту строку?

Создаешь рядом со скриптом файл "LogPass.txt" и в него записываешь строки по образцу

Code: [Select]
Тест1@mail.ru:111111111
Тест2@mail.ru:абвгд
Тест3@mail.ru:тестТестТЕСТ

Сам скрипт:
Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   $count = 1
END_IF
$str = TFREAD ("LogPass.txt", $count)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))

LCLICK(10,10) // клик по полю логина
WAITMS (50)
TOCLIP($log) // скопировать в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)

LCLICK(10,10) // клик по полю пароля
WAITMS (50)
TOCLIP($pass)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)

LCLICK(10,10) // клик по "Вход"
WAITMS(100)

каждый новый проход скрипт будет считывать новую строку и так по кругу

И как прочитать из блокнота рандомную строку и вставить в браузер?

Записываешь строки в файл "Text.txt"
Code: (clickermann) [Select]
$str = TFREAD ("Text.txt", RND(1,TFCOUNT("Text.txt")))

LCLICK(10,10) // клик по ввода
WAITMS (50)
TOCLIP($str) // скопировать в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
LCLICK(10,10) // клик по блакноту
TOCLIP(RND(1,28)) // копируем случайное число в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставляем
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
кавычки там лишние. Функция поиска есть в самом браузере, нужно только заставить кликер ей воспользоваться.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот пытаюсь разобрать, что за чем привязывается:))) что то никак, уже мозг сломал :)
как сделать так:
1)считать из LogPass.txt логин:пасворд
2)потом считать тот же самый логин:пасворд
3)затем удалить эту строку из LogPass.txt и записать ее в Ready.txt
и по кругу чтоб бралось, удалялось и записывалось в столбик в Ready.txt
Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") = 0)
   HALT
END_IF

$str = TFREAD ("LogPass.txt", 1)
$log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
$pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
TFWRITE ("Ready.txt", $str)
TFDELETE ("LogPass.txt", 1)

LCLICK(10,10) // клик по полю логина
WAITMS (50)
TOCLIP($log) // скопировать в буфер
WAITMS (50)
KEYDOWN (#CTRL) // вставить
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)

LCLICK(10,10) // клик по полю пароля
WAITMS (50)
TOCLIP($pass)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)

LCLICK(10,10) // клик по "Вход"
WAITMS(100)
« Last Edit: May 09, 2014, 11:59:53 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Если в поле проводника вставить полный путь к файлу и нажать открыть то откроется этот файл.
c:\Downloads\картинка.jpg
Таким образом если сделать список таких картинок можно рандомно вставлять путь в проводник и загружать картинки, причем папка значения не имеет.

stivus

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Если я правильно понял задачу(первый раз кликаем 1 раз,второй-2 раза,третий-3 и т.д.), то решить подобную задачу можно с помощью цикла, вложенного в другой цикл, таким образом:
Code: (clickermann) [Select]
$qwerty=10 //допустим надо кликать 10 циклов
FOR($x=1, $x < $qwerty+1) // в переменной Х считаем циклы
 LOGWRITE ("выполняем цикл ",$x," раз")
 FOR($y=1, $y ! $x+1) // в переменной Y выполняем нужное действие Х раз
   KEYDOWN(#DOWN) //зажали стрелку вниз
   WAITMS(100) // впринципе,необязательно...Но можно и вставить некоторую задержку
   KEYUP(#DOWN) //отпустили стрелку вниз
   LOGWRITE ("кликаем ",$y,"-й раз")
 END_CYC
END_CYC
halt // for single run
Запись в лог совершенно не нужен,но если ты вставишь этот код в кликер,закомментируешь кейап и кейдаун-увидишь в логе как оно работает
« Last Edit: November 06, 2014, 04:52:15 AM by stivus »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вариант по короче

Code: (clickermann) [Select]
INC($b,1)
IF($b > 10)
   HALT // стоп или другие действия
END_IF
FOR($a=0,$a<$b)
   KEYPRESS(#DOWN)
   WAITMS(50)
END_CYC
« Last Edit: November 06, 2014, 09:17:24 AM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Вариант по короче
Вряд-ли у него в коде только это. Иначе зачем что-то считать вообще. Нажать вниз 55 раз и всё.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот поэтому такой вариант, другие действия могут быть выше или ниже, все будет работать.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
как то я не верно написал наверное?

Скобки лишние.

Code: (clickermann) [Select]
$str = TFREAD ("LogPass.txt", 1)
strseparate($str, ";", $arr)   // разделитель
$log = $arr[0]
$pasw = $arr[1]
$sex = $arr[2]
$date = $arr[3]
$month = $arr[4]
$year = $arr[5]

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Да, правильно, массив то не обнуляется и в него записываются новые данные на 6 и далее строки а ты читаешь только первые.

Можно вот так написать
Code: (clickermann) [Select]
strseparate(TFREAD ("LogPass.txt", 1), ";", $arr)   // разделитель
$log = $arr[0]
$pasw = $arr[1]
$sex = $arr[2]
$date = $arr[3]
$month = $arr[4]
$year = $arr[5]
UNDEFINE($arr) // удаляем массив