Author Topic: Помогите неумехе  (Read 16969 times)

0 Members and 1 Guest are viewing this topic.

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Помогите неумехе
« on: October 18, 2017, 03:08:17 PM »
Кто может помочь написать скрипт. Просмотрел на форуме - есть аналогичные, но не хватает знаний у меня, чтобы доработать. :-[ Если кто может, вот условия:
1. Есть страница входа в игру. Нужно ввести логин(постоянная координата) и пароль(постоянная координата) большое количество раз. Кнопка входа в игру тоже координата постоянная.  Список
 логин:пароль я подготовил в LogPass.txt.
2. Выполнить клики по постоянным координатам в самой игре (это я уже сам сделаю)
3. И выйти из игры ( кнопка выхода скачет по вертикали в зависимости от места нахождения персонажа в игре)
4. Пройти весь список и остановиться до следующего запуска)
И еще вопрос - имеет ли значение язык для логина, если логин кириллицей написан, видит ли его многоуважаемый  Clickermann? Вот вроде бы и все..  Помогите :)

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #1 on: October 18, 2017, 03:42:25 PM »
Версия Clickermann 4.11.002

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Помогите неумехе
« Reply #2 on: October 18, 2017, 03:48:51 PM »
Code: (clickermann) [Select]
// файл список
$file_akk = "LogPass.txt"

SUB(paste) //========== Вставить ===============================================
    KEYDOWN(#CTRL) // Ctrl+V
    WAITMS(50)
    KEYPRESS(#V)
    WAITMS(50)
    KEYUP(#CTRL)
    WAITMS(150)
END_SUB
//------------------------------------------------------------------------------

$count = TFCOUNT($file_akk)
LOGWRITE("Всего аккаунтов: ", $count)

FOR($akkaunt_line = 1, $akkaunt_line < $count+1)
    UNDEFINE($akkaunt)
    STRSEPARATE(TFREAD($file_akk, $akkaunt_line), ":", $akkaunt)
    LOGWRITE("login: ", $akkaunt[0], "  pass: ", $akkaunt[1])
   
    LCLICK(0, 0)  // окно логина
    WAITMS(50)
    TOCLIP($akkaunt[0])
    paste()
    LCLICK(100, 100)  // окно пароля
    WAITMS(50)
    TOCLIP($akkaunt[1])
    paste()
       
    //obrabotka()   // делаем что нужно в подпрограмме  obrabotka
    //exit_game()   // выйти из игры
END_CYC

HALT


MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #3 on: October 18, 2017, 07:10:06 PM »
Не получается почему то  :'( В строку логина вводит  цифру "0" , а вместо пароля "." Не видит кликер документа LogPass.txt Может я неправильно его разместил. Где этот документ нужно положить, чтобы кликерман его видел?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите неумехе
« Reply #4 on: October 18, 2017, 08:24:19 PM »
Попробуй вот такой вариант
Code: (clickermann) [Select]
//Создаешь рядом со скриптом файл "LogPass.txt" и в него записываешь строки по образцу

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

//Сам скрипт:

IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   HALT // Стоп по достижении конца файла
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)
KEYPRESS(#V)
WAITMS (50)
KEYUP (#CTRL)
WAITMS (50)

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

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

//Каждый новый проход будет считываться новая строка с логином и паролем

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите неумехе
« Reply #5 on: October 18, 2017, 08:27:47 PM »
И еще вопрос - имеет ли значение язык для логина, если логин кириллицей написан, видит ли его многоуважаемый  Clickermann?

Зависит от версии кликера, последняя бетта 4.13 стала поддерживать юникод и там кириллица не превращается в абракодабру после копирования через буфер.
Чтобы такого не было на 4.12 раскладки в кликере и целевом окне должны быть Ру.

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #6 on: October 18, 2017, 08:40:43 PM »
Спасибо, буду пробовать :)

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #7 on: October 18, 2017, 11:28:16 PM »
Вы будете смеяться, но на второй скрипт Clickermann вообще не реагирует. Если на первом хоть "ноль"  и "точку" вводил, то здесь даже не запускается:( Может я что то неправильно делаю. Может Яндекс браузер виноват? Уйти на оперу? Или мозиллу?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите неумехе
« Reply #8 on: October 19, 2017, 07:50:09 AM »
Может быть проблема в файле LogPass.txt он должен быть в кодировке ANSI 1251

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #9 on: October 19, 2017, 12:29:21 PM »
Да, действительно проблема была в файле LogPass.txt Спасибо за подсказку.  Пересохранил в АНSI и по первому скрипту вставляет и логин и пароль, выполняет все то , что мне нужно до момента выхода. Как я писал, у кнопки выхода не постоянная координата по Y. Решил использовать
Code: (clickermann) [Select]
GETSCREEN
   IF_PICTURE_IN (820,600,870,700, "выход.bmp")
      LCLICK($_return1,$_return2)
      WAIT(5)
   END_IF
 
но не происходит никаких действий. Как еще можно поймать эту злосчастную кнопку?

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #10 on: October 20, 2017, 12:30:39 PM »
Все получилось, всем спасибо:)  COLORMODE - это сила:)

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #11 on: October 22, 2017, 12:54:36 PM »
Возник еще один вопрос. Без привязки к окну скрипт от Vint работает без сбоев, при привязке начинаются проблемы. В поле логин/пароль вводятся по одному знаку. Не читает скрипт документ LogPass.txt. Раскладки в кликере и в окне RU . Можете подсказать решаемая проблема или нет :-\

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите неумехе
« Reply #12 on: October 22, 2017, 05:09:00 PM »
В оконном режиме невозможно зажать клавиши, поэтому комбинация Ctrl+V невозможна. Зато функция KEYSTRING набирает символы строки как есть.

Code: (clickermann) [Select]
IF(TFCOUNT("LogPass.txt") > $count)
   INC($count,1)
ELSE
   HALT // Стоп по достижении конца файла
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)
KEYSTRING($log)

LCLICK(10,10) // клик по полю пароля
WAITMS (50)
KEYSTRING($pass)
WAITMS (50)

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

//Каждый новый проход будет считываться новая строка с логином и паролем

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #13 on: October 22, 2017, 08:36:07 PM »
Oraven!! Ты просто гений :) Пишу, а в другом окне идет процесс :) Научусь ли я когда нибудь?

MaxKot

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Re: Помогите неумехе
« Reply #14 on: October 25, 2017, 10:49:46 PM »
Добрый вечер! Назрел еще один вопрос. Накрапал скрипт, но что то в нем не правильно. По отдельности картинки все видит , прописывает в логе координаты, курсор переходит на картинку, а в связке останавливается после первого нажатия PageDown. Вот:
Code: (clickermann) [Select]
$file_akk = "LogPass1.txt"

SUB(paste) //========== Вставить ===============================================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(150)
END_SUB
//------------------------------------------------------------------------------

$count = TFCOUNT($file_akk)
LOGWRITE("Всего аккаунтов: ", $count)

FOR($akkaunt_line = 1, $akkaunt_line < $count+1)
   UNDEFINE($akkaunt)
   STRSEPARATE(TFREAD($file_akk, $akkaunt_line), ":", $akkaunt)
   LOGWRITE("login: ", $akkaunt[0], "  pass: ", $akkaunt[1])
   
   LCLICK(960, 120)  // окно логина
   WAIT(2)
   TOCLIP($akkaunt[0])
   paste()
   LCLICK(960, 150)  // окно пароля
   WAIT(2)
   TOCLIP($akkaunt[1])
   paste()
   
   KEYPRESS(#Enter)// войти
   WAIT(2)
   
   GETSCREEN
   COLORMODE(6) // тот же уровень
   IF_PICTURE_IN (900,380, 1100,620, "моя гильдия.bmp")
      LCLICK($_return1+5, $_return2+10)
      WAIT(2)
   END_IF
   
   KEYPRESS(#PAGEDOWN)
   WAIT(2)
   
   GETSCREEN
   COLORMODE(6) // тот же уровень
   IF_PICTURE_IN (900,448, 980,665, "снабжение.bmp")
      LCLICK($_return1+4, $_return2+10)
      WAIT(2)
   END_IF
   
   KEYPRESS(#PAGEDOWN)
   WAIT(2)
   
   GETSCREEN
   COLORMODE(6) // тот же уровень
   IF_PICTURE_IN (890,170, 1050,490, "забрать.bmp")
      LCLICK($_return1+2, $_return2+9)
      WAIT(2)
   END_IF
   
   GETSCREEN
   COLORMODE(6) // тот же уровень
   IF_PICTURE_IN (890,170, 1050,490, "забрать.bmp")
      LCLICK($_return1+2, $_return2+9)
      WAIT(2)
   END_IF
   
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (250,580, 320,950, "выход.bmp")
      LCLICK($_return1+4, $_return2+7)
      WAIT(1)
   END_IF
END_CYC

Помогите или разъясните ошибки пожалуйста :'(