Author Topic: вкл/выкл цикла 1 кнопкой и как сделать бесконечный цикл  (Read 10334 times)

0 Members and 1 Guest are viewing this topic.

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Нужен скрипт такой:
при нажатии кнопки Y включаеца бесконечный цыкл из F1,F2,F3,F4,F5,F6 (рандомное время между нажатиями 90-200 мс)
при ешё 1 нажатии Y должен выключаца

при нажатии кнопки F включаеца бесконечный цыкл из F11,F12(рандомное время между нажатиями 500-1500 мс)
при ешё 1 нажатии F выключаеца

при нажатии F10 включаеца определение 2 точек(или картинок) жолтая и серая/чёрная
если на точке поевляеца серый/чёрный цвет то включаеца цыкл из F11,F12(рандомное время между нажатиями 200-600 мс)
если на точке жолтый то цыкл из F11,F12 прекрашяеца
и так по кругу пока ненажмёш F10(выключение)
Code: (clickermann) [Select]
IF (ISKEYDOWN(89)=1)   //Y
FOR ($i, $i<50)
KEYPRESS(#1)
WAITMS (100)
END_CYC
END_IF
сидел часов 5-6 так и непонел как это сделать вот всё что получилось из таво что хоть както работает

помагите разобраца  :(
« Last Edit: April 14, 2015, 04:36:31 PM by Vint »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Строка 64 и 69, здесь ты должен указать координату и цвет серого и желтого пиксела.
Наводишь курсор куда нужно и жмешь Alt+Q, получаешь клик
LCLICK(346,365)  // 16119285
От сюда берешь координату и цвет

Если цветов пиксела может быть 2а то пиши так
IF((PXL(10,10) = СЕРАЯ) | (PXL(10,10) = ЧЕРНАЯ))

Также учти что все три клавиши могут работать одновременно!
 
Code: (clickermann) [Select]
IF ( iskeydown(#Y)=1 ) // Выключатель Y
   WHILE(iskeydown(#Y)=1)
      WAITMS(50)
   END_CYC
   IF($check_y = 0)
      $check_y = 1
      HINTPOPUP("Включено Y", "Сообщение")
   ELSE
      $check_y = 0
      HINTPOPUP("Выключено Y", "Сообщение")
   END_IF
END_IF

IF ( iskeydown(#F)=1 ) // Выключатель F
   WHILE(iskeydown(#F)=1)
      WAITMS(50)
   END_CYC
   IF($check_f = 0)
      $check_f = 1
      HINTPOPUP("Включено F", "Сообщение")
   ELSE
      $check_f = 0
      HINTPOPUP("Выключено F", "Сообщение")
   END_IF
END_IF

IF ( iskeydown(#F10)=1 ) // Выключатель F10
   WHILE(iskeydown(#F10)=1)
      WAITMS(50)
   END_CYC
   IF($check_f10 = 0)
      $check_f10 = 1
      HINTPOPUP("Включено F10", "Сообщение")
   ELSE
      $check_f10 = 0
      HINTPOPUP("Выключено F10", "Сообщение")
   END_IF
END_IF

IF($check_y = 1) // Исполнение Y
   KEYPRESS(#F1)
   WAITMS(RND(90,200))
   KEYPRESS(#F2)
   WAITMS(RND(90,200))
   KEYPRESS(#F3)
   WAITMS(RND(90,200))
   KEYPRESS(#F4)
   WAITMS(RND(90,200))
   KEYPRESS(#F5)
   WAITMS(RND(90,200))
   KEYPRESS(#F6)
   WAITMS(RND(90,200))
END_IF

IF($check_f = 1) // Исполнение F
   KEYPRESS(#F11)
   WAITMS(RND(500,1500))
   KEYPRESS(#F12)
   WAITMS(RND(500,1500))
END_IF

IF($check_f10 = 1) // Исполнение F10 анализ точек
   GETSCREEN
   IF(PXL(10,10) = СЕРАЯЧЕРНАЯ)
      $check_f = 0 // отключаем исполнение F
      $check_f_2 = 1
   END_IF
   
   IF(PXL(10,10) = ЖЕЛТАЯ)
      $check_f_2 = 0
   END_IF
END_IF

IF($check_f_2 = 1) // Исполнение F10
   KEYPRESS(#F11)
   WAITMS(RND(200,600))
   KEYPRESS(#F12)
   WAITMS(RND(200,600))
END_IF
« Last Edit: February 23, 2013, 03:50:37 PM by Oraven »

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
очень благодарен
буду проверять

ешё хачю узнать
почти год использовал 3,1 финал
с скриптами такова вида:
Code: (clickermann) [Select]
WAITMS(30)
KEYDOWN(112)
WAITMS(60)
KEYUP(112)
WAITMS(155)
KEYDOWN(113)
WAITMS(65)
KEYUP(113)
WAITMS(150)
KEYDOWN(114)
WAITMS(55)
KEYUP(114)
WAITMS(160)
KEYDOWN(115)
WAITMS(58)
KEYUP(115)
WAITMS(143)
KEYDOWN(116)
WAITMS(60)
KEYUP(116)
WAITMS(10)
GOTO(1)
4,7 версия
после 22 строки невозврашяеца к 1
или виснет на середине при этом перестают нажымаца заданые кнопки

в 3,1 финал всё работает нормально

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Строка 64 и 69, здесь ты должен указать координату и цвет серого и желтого пиксела.
Наводишь курсор куда нужно и жмешь Alt+Q, получаешь клик
LCLICK(346,365)  // 16119285
От сюда берешь координату и цвет

Если цветов пиксела может быть 2а то пиши так
IF((PXL(10,10) = СЕРАЯ) | (PXL(10,10) = ЧЕРНАЯ))

Также учти что все три клавиши могут работать одновременно!
 
Code: (clickermann) [Select]
IF ( iskeydown(#Y)=1 ) // Выключатель Y
   WHILE(iskeydown(#Y)=1)
      WAITMS(50)
   END_CYC
   IF($check_y = 0)
      $check_y = 1
      HINTPOPUP("Включено Y", "Сообщение")
   ELSE
      $check_y = 0
      HINTPOPUP("Выключено Y", "Сообщение")
   END_IF
END_IF

IF ( iskeydown(#F)=1 ) // Выключатель F
   WHILE(iskeydown(#F)=1)
      WAITMS(50)
   END_CYC
   IF($check_f = 0)
      $check_f = 1
      HINTPOPUP("Включено F", "Сообщение")
   ELSE
      $check_f = 0
      HINTPOPUP("Выключено F", "Сообщение")
   END_IF
END_IF

IF ( iskeydown(#F10)=1 ) // Выключатель F10
   WHILE(iskeydown(#F10)=1)
      WAITMS(50)
   END_CYC
   IF($check_f10 = 0)
      $check_f10 = 1
      HINTPOPUP("Включено F10", "Сообщение")
   ELSE
      $check_f10 = 0
      HINTPOPUP("Выключено F10", "Сообщение")
   END_IF
END_IF

IF($check_y = 1) // Исполнение Y
   KEYPRESS(#F1)
   WAITMS(RND(90,200))
   KEYPRESS(#F2)
   WAITMS(RND(90,200))
   KEYPRESS(#F3)
   WAITMS(RND(90,200))
   KEYPRESS(#F4)
   WAITMS(RND(90,200))
   KEYPRESS(#F5)
   WAITMS(RND(90,200))
   KEYPRESS(#F6)
   WAITMS(RND(90,200))
END_IF

IF($check_f = 1) // Исполнение F
   KEYPRESS(#F11)
   WAITMS(RND(500,1500))
   KEYPRESS(#F12)
   WAITMS(RND(500,1500))
END_IF

IF($check_f10 = 1) // Исполнение F10 анализ точек
   GETSCREEN
   IF(PXL(10,10) = СЕРАЯЧЕРНАЯ)
      $check_f = 0 // отключаем исполнение F
      $check_f_2 = 1
   END_IF
   
   IF(PXL(10,10) = ЖЕЛТАЯ)
      $check_f_2 = 0
   END_IF
END_IF

IF($check_f_2 = 1) // Исполнение F10
   KEYPRESS(#F11)
   WAITMS(RND(200,600))
   KEYPRESS(#F12)
   WAITMS(RND(200,600))
END_IF
перестаёт работать после 2-3 вкл/выкл любой из заданых кнопок ( Y,F,F10) также неработают самые простые нажатия кнопок
пахоже что 4,7 версия неработает у меня :(
придёца дальше использовать 3,1финал
« Last Edit: February 24, 2013, 10:19:07 AM by env »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
4,7 версия
после 22 строки невозврашяеца к 1
или виснет на середине при этом перестают нажымаца заданые кнопки

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

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
перестаёт работать после 2-3 вкл/выкл любой из заданых кнопок ( Y,F,F10) также неработают самые простые нажатия кнопок
пахоже что 4,7 версия неработает у меня :(
придёца дальше использовать 3,1финал

Дело вот в чем, скрипт выполняется построчно, ты нажимаешь кнопку Y и переменной $check_y присваивается 1.
В результате условие IF($check_y = 1) // Исполнение Y начинает срабатывать выполняя то что у него внутри. Там идут нажатия клавиш с задержками на которых кликер притормаживает. Так вот если ты нажмешь снова клавишу Y "Выключатель Y" сработает только когда выполнение дойдет до IF ( iskeydown(#Y)=1 ) // Выключатель Y, а это может быть нескоро.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот последняя правка, думаю теперь будет лучше.
Зажми клавишу например Y и держи её пока не выскочит сообщение "Клавиша нажата", на это может уйти до 3х секунд, пока ты держишь клавишу скрипт дальше не пойдет, как только отпустишь выключатель сработает.

Code: (clickermann) [Select]
IF ( iskeydown(#Y)=1 ) // Выключатель Y
   HINTPOPUP("Клавиша Y нажата", "Сообщение")
WHILE(iskeydown(#Y)=1)
      WAITMS(50)
   END_CYC
   IF($check_y = 0)
      $check_y = 1
      HINTPOPUP("Включено Y", "Сообщение")
   ELSE
      $check_y = 0
      HINTPOPUP("Выключено Y", "Сообщение")
   END_IF
END_IF
 
IF ( iskeydown(#F)=1 ) // Выключатель F
   HINTPOPUP("Клавиша F нажата", "Сообщение")
   WHILE(iskeydown(#F)=1)
      WAITMS(50)
   END_CYC
   IF($check_f = 0)
      $check_f = 1
      HINTPOPUP("Включено F", "Сообщение")
   ELSE
      $check_f = 0
      HINTPOPUP("Выключено F", "Сообщение")
   END_IF
END_IF
 
IF ( iskeydown(#F10)=1 ) // Выключатель F10
   HINTPOPUP("Клавиша F10 нажата", "Сообщение")
   WHILE(iskeydown(#F10)=1)
      WAITMS(50)
   END_CYC
   IF($check_f10 = 0)
      $check_f10 = 1
      HINTPOPUP("Включено F10", "Сообщение")
   ELSE
      $check_f10 = 0
      $check_f_2 = 0
HINTPOPUP("Выключено F10", "Сообщение")
   END_IF
END_IF
 
IF(($check_y = 1) & (iskeydown(#Y)=0) & (iskeydown(#F)=0) & (iskeydown(#F10)=0)) // Исполнение Y
   KEYPRESS(#F1)
   WAITMS(RND(90,200))
   KEYPRESS(#F2)
   WAITMS(RND(90,200))
   KEYPRESS(#F3)
   WAITMS(RND(90,200))
   KEYPRESS(#F4)
   WAITMS(RND(90,200))
   KEYPRESS(#F5)
   WAITMS(RND(90,200))
   KEYPRESS(#F6)
   WAITMS(RND(90,200))
END_IF
 
IF(($check_f = 1) & (iskeydown(#Y)=0) & (iskeydown(#F)=0) & (iskeydown(#F10)=0)) // Исполнение F
   KEYPRESS(#F11)
   WAITMS(RND(500,1500))
   KEYPRESS(#F12)
   WAITMS(RND(500,1500))
END_IF
 
IF(($check_f10 = 1) & (iskeydown(#Y)=0) & (iskeydown(#F)=0) & (iskeydown(#F10)=0)) // Исполнение F10 анализ точек
   GETSCREEN
   IF(PXL(10,10) = СЕРАЯЧЕРНАЯ)
      $check_f = 0 // отключаем исполнение F
      $check_f_2 = 1
   END_IF
 
   IF(PXL(10,10) = ЖЕЛТАЯ)
      $check_f_2 = 0
   END_IF
END_IF
 
IF($check_f_2 = 1) // Исполнение F10
   KEYPRESS(#F11)
   WAITMS(RND(200,600))
   KEYPRESS(#F12)
   WAITMS(RND(200,600))
END_IF

WAITMS(50)

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
всё работает
но недолго пахоже блокируеца версия программы 4,7 (с любыми скриптами)
тоже самое происходит с программой для моей мышы (при бинде кнопок с клавиатуры F7 F8 на мыш через 5-10 мин перестают срабатывать)
3,1финал  всё нормально ( при любых скриптах неблокируюца нажатия заданых кнопок)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
всё работает
но недолго пахоже блокируеца версия программы 4,7 (с любыми скриптами)
тоже самое происходит с программой для моей мышы (при бинде кнопок с клавиатуры F7 F8 на мыш через 5-10 мин перестают срабатывать)
3,1финал  всё нормально ( при любых скриптах неблокируюца нажатия заданых кнопок)

Может дело в заголовке окна
Вставь вот это в начале скрипта и окно кликера при запуске переименуется в "Калькулятор"

Code: (clickermann) [Select]
IF($rename = 0)
   hsettext( wndfind("Clickermann - "), "Калькулятор")
   $rename = 1
END_IF

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
забыл сказать что скрипт нужен был для ммо игры Lineage II хф  не офф сервер

всё также 2-3 раза вкл/выкл кнопки на каторые написан скрипт и ани блокируюца ( та часть скрипта каторую ани включают)
сам  кликер работает но непроходят нажатия

с 3,1финал такова небыло
ладн буду дальше использовать то что работает
может быть в новой  версии исправят

также проверил 3,2 4,5 тоже неработают :(
как надо       
« Last Edit: February 24, 2013, 09:43:51 PM by env »

env

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
рас уж у меня работает тока 3,1 финал
поевился вопрос:
как запустить 2-3 кликера однавременно
или сделать пахожей скрипт как на 4,7

Форвард

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
4,7 версия
после 22 строки невозврашяеца к 1
или виснет на середине при этом перестают нажымаца заданые кнопки

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

Оба-на - намучился тоже в последней версии с GOTO - в оконном не читает и хоть тресни :'(
Пользую версию 4.3 если с ГОТО в оконном нуно - в ней еще работает, но внутри SUB()... END_SUB тоже не видит...
Думал эти дни попробовать по меткам или нет. Спасибо за подсказку!  :D
« Last Edit: February 25, 2013, 09:40:15 AM by Форвард »