Автор Тема: Много простых команд  (Прочитано 876 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Много простых команд
« : Февраль 14, 2019, 11:44:28 am »
Привет, а если я хочу сделать много разных простых команд к примеру:

1 команда просто нажимает три кнопки и повторяет бесконечно

2 команда нажимает одну кнопку раз в 3 секунды

3 команда нажимает на мышку 1 бесконечно раз

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

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3619
  • Котэ
    • Просмотр профиля
Re: Много простых команд
« Ответ #1 : Февраль 14, 2019, 12:32:26 pm »
Конечно есть, потоки!

Код: Clickermann
  1. THREAD(t1, 1)
  2.   KEYPRESS(#A)
  3.   WAITMS(500)
  4.   KEYPRESS(#B)
  5.   WAITMS(500)
  6.   KEYPRESS(#C)
  7.   WAITMS(500)
  8. END_THREAD
  9.  
  10. THREAD(t2, 1)
  11.   KEYPRESS(#D)
  12.   WAIT(3)
  13. END_THREAD
  14.  
  15. THREAD(t3, 1)
  16.   LCLICK(100,500)
  17.   WAITMS(50)
  18. END_THREAD
  19.  
  20. WAIT(1)

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #2 : Февраль 14, 2019, 01:17:25 pm »
Конечно есть, потоки!

Код: Clickermann
  1. THREAD(t1, 1)
  2.   KEYPRESS(#A)
  3.   WAITMS(500)
  4.   KEYPRESS(#B)
  5.   WAITMS(500)
  6.   KEYPRESS(#C)
  7.   WAITMS(500)
  8. END_THREAD
  9.  
  10. THREAD(t2, 1)
  11.   KEYPRESS(#D)
  12.   WAIT(3)
  13. END_THREAD
  14.  
  15. THREAD(t3, 1)
  16.   LCLICK(100,500)
  17.   WAITMS(50)
  18. END_THREAD
  19.  
  20. WAIT(1)



Спасибо большое, давно я уже хочу это.  Если возможно, как сделать чтобы этот скрипт включался по нажатию кнопки, ну чтобы сам кликер не вкл/выкл. как я делаю, а скажем нажал кнопку пусть будет моус 3(ролик) он за работал, нажал еще раз он выключился.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3619
  • Котэ
    • Просмотр профиля
Re: Много простых команд
« Ответ #3 : Февраль 14, 2019, 02:25:48 pm »
Код: Clickermann
  1. THREAD(t1, 0)
  2.   KEYPRESS(#A)
  3.   WAITMS(500)
  4.   KEYPRESS(#B)
  5.   WAITMS(500)
  6.   KEYPRESS(#C)
  7.   WAITMS(500)
  8. END_THREAD
  9.  
  10. THREAD(t2, 0)
  11.   KEYPRESS(#D)
  12.   WAIT(3)
  13. END_THREAD
  14.  
  15. THREAD(t3, 0)
  16.   LCLICK(100,500)
  17.   WAITMS(50)
  18. END_THREAD
  19.  
  20. IF(ISKEYDOWN(4)=1)
  21.   WHILE(ISKEYDOWN(4)=1)
  22.   END_CYC
  23.   IF($t1 = 0)
  24.      $t1 = $t1^1
  25.      // включение
  26.      SETTHREAD (t1,1)
  27.      SETTHREAD (t2,1)
  28.      SETTHREAD (t3,1)
  29.   ELSE
  30.      $t1 = $t1^1
  31.      // выключение
  32.      SETTHREAD (t1,2)
  33.      SETTHREAD (t2,2)
  34.      SETTHREAD (t3,2)
  35.   END_IF
  36. ELSE
  37.   WAITMS(20)
  38. END_IF

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #4 : Февраль 14, 2019, 02:47:57 pm »
Спасибо большое разобрался теперь очень удобно. Если кому интересно это идеально подходит для игры в Диабло 3 за охотника на демонов и можно и другие классы где надо спамить кнопки бесконечно. Моя клавиатура и мышка говорит вам большое спасибо!
Код: Clickermann
  1. THREAD(t1, 0)
  2.   KEYPRESS(#q)
  3.   waitms(RND(200,300))
  4. END_THREAD
  5.  
  6. THREAD(t2, 0)
  7.   KEYPRESS(#w)
  8.   waitms(RND(200,300))
  9. END_THREAD
  10.  
  11. THREAD(t3, 0)
  12.   KEYPRESS(#e)
  13.   waitms(RND(200,300))
  14. END_THREAD
  15.  
  16. THREAD(t4, 0)
  17.   KEYPRESS(#r)
  18.   waitms(RND(200,300))
  19. END_THREAD
  20.  
  21. THREAD(t5, 0)
  22.   LCLICK($_xmouse,$_ymouse)
  23.   waitms(RND(70,120))
  24. END_THREAD
  25.  
  26. IF(ISKEYDOWN(#0)=1)
  27.   WHILE(ISKEYDOWN(#0)=1)
  28.   END_CYC
  29.   IF($t1 = 0)
  30.      $t1 = $t1^1
  31.      SETTHREAD (t1,1)
  32.      SETTHREAD (t2,1)
  33.      SETTHREAD (t3,1)
  34.      SETTHREAD (t4,1)
  35.      SETTHREAD (t5,1)
  36.   ELSE
  37.      $t1 = $t1^1
  38.      SETTHREAD (t1,2)
  39.      SETTHREAD (t2,2)
  40.      SETTHREAD (t3,2)
  41.      SETTHREAD (t4,2)
  42.      SETTHREAD (t5,2)
  43.   END_IF
  44. ELSE
  45.   WAITMS(20)
  46. END_IF
  47. [code]
« Последнее редактирование: Февраль 14, 2019, 04:01:56 pm от Neokrium »

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #5 : Февраль 14, 2019, 03:03:58 pm »
Код: Clickermann
  1. IF(ISKEYDOWN(#0)=1)
  2.   WHILE(ISKEYDOWN(#0)=1)
  3.   END_CYC
  4.   IF($t1 = 0)
  5.      $t1 = $t1^1
  6.      SETTHREAD (t1,1)
  7.      SETTHREAD (t2,1)
  8.      SETTHREAD (t3,1)
  9.      SETTHREAD (t4,1)
  10.      SETTHREAD (t5,1)
  11.   ELSE
  12.      $t1 = $t1^1
  13.      SETTHREAD (t1,2)
  14.      SETTHREAD (t2,2)
  15.      SETTHREAD (t3,2)
  16.      SETTHREAD (t4,2)
  17.      SETTHREAD (t5,2)
  18.   END_IF
  19. ELSE
  20.   WAITMS(20)
  21. END_IF
  22.  
Это если кнопка 0 вкл и еще раз 0 выкл. А если нужно держать и они работают т1-т5, а отпустить они перестанут, как это сделать?
« Последнее редактирование: Февраль 14, 2019, 04:01:11 pm от Neokrium »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3619
  • Котэ
    • Просмотр профиля
Re: Много простых команд
« Ответ #6 : Февраль 14, 2019, 05:29:41 pm »
А если нужно держать и они работают т1-т5, а отпустить они перестанут, как это сделать?

Код: Clickermann
  1. IF(ISKEYDOWN(#0)=1)
  2.   SETTHREAD (t1,1)
  3.   SETTHREAD (t2,1)
  4.   SETTHREAD (t3,1)
  5.   SETTHREAD (t4,1)
  6.   SETTHREAD (t5,1)
  7.   WHILE(ISKEYDOWN(#0)=1)
  8.      WAITMS(20)
  9.   END_CYC
  10.   SETTHREAD (t1,2)
  11.   SETTHREAD (t2,2)
  12.   SETTHREAD (t3,2)
  13.   SETTHREAD (t4,2)
  14.   SETTHREAD (t5,2)
  15. ELSE
  16.   WAITMS(20)
  17. END_IF

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #7 : Февраль 14, 2019, 06:17:16 pm »
Спасибо, я наверно замучил вопросами... я тут на форуме нашел про цвета и смог сделать следующие:
Код: Clickermann
  1. GETSCREEN
  2. COLORMODE(6)
  3. IF_PICTURE_IN (342,698,454,802, "shot0003.bmp", -1, 70)
  4. KEYPRESS(#SPACE)
  5.   WAIT(200)
  6. END_IF
  7.  
Скриншот я сделал с помощью этого:
Код: Clickermann
  1. // Получение скриншота с цветокоррекцией (фильтр 6)
  2. // Скриншот появится в папке screens папки скрипта или в папке кликера
  3. GETSCREEN
  4. COLORMODE(6)
  5. SCREENSHOT
  6. HALT

Вообщем у меня получилось сделать чтобы хилку ел перс когда хп упало, только ест он ее один раз, потом надо заново запускать кликер выкл/вкл. И еще скриншот каких размеров лучше (сколько пикселей), я его обрезал, только не знаю сколько на сколько для оптимального и можно потом и его в поток добавить, чтобы все работал вместе.
« Последнее редактирование: Февраль 14, 2019, 06:20:18 pm от Neokrium »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3619
  • Котэ
    • Просмотр профиля
Re: Много простых команд
« Ответ #8 : Февраль 14, 2019, 08:37:43 pm »
... только ест он ее один раз, потом надо заново запускать кликер выкл/вкл.

Так у тебя задержка в 200 секунд стоит!
Код: Clickermann
  1. WAIT(200)

В кликере две команды задержек. В секундах WAIT и миллисекундах WAITMS

И еще скриншот каких размеров лучше (сколько пикселей), я его обрезал, только не знаю сколько на сколько для оптимального и можно потом и его в поток добавить, чтобы все работал вместе.

Чем меньше тем лучше. 50x50 максимум. Но можно например 400x2
В общем чем меньше пикселов в картинке тем быстрее поиск. Оптимально когда кликер находит картинку менее чем за секунду. Процент совпадения также сильно замедляет поиск.

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #9 : Февраль 15, 2019, 10:04:02 am »
Я не много изменил, сейчас вот так выглядит все работает, хотел за место ISKEYDOWN(5) поставить Моус 1 "LCLICK($_return1, $_return2)", он выдает что не понял меня. Думаю удобнее будет когда мышку м1 зажимаешь и он начинает спамить в том месте отпускаешь он перестает, как сделать? и можно ли использовать в скрипте не сколько команд, скажем т1-т4 сделать вкл/выкл. , а т5 сделать м1 зажал работает. отжал перестал работать. Заранее спасибо.

Код: Clickermann
  1. THREAD(t1, 1)
  2.   KEYPRESS(#q)
  3.   waitms(RND(200,300))
  4. END_THREAD
  5.  
  6. THREAD(t2, 1)
  7.   KEYPRESS(#w)
  8.   waitms(RND(200,300))
  9. END_THREAD
  10.  
  11. THREAD(t3, 1)
  12.   KEYPRESS(#e)
  13.   waitms(RND(200,300))
  14. END_THREAD
  15.  
  16. THREAD(t4, 1)
  17.   KEYPRESS(#r)
  18.   waitms(RND(200,300))
  19. END_THREAD
  20.  
  21. THREAD(t5, 0)
  22.   LCLICK($_xmouse,$_ymouse)
  23.   waitms(RND(70,120))
  24. END_THREAD
  25.  
  26. IF(ISKEYDOWN(5)=1)
  27.   SETTHREAD (t5,1)
  28.   WHILE(ISKEYDOWN(5)=1)
  29.      WAITMS(20)
  30.   END_CYC
  31.   SETTHREAD (t5,2)
  32. ELSE
  33.   WAITMS(20)
  34. END_IF

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3619
  • Котэ
    • Просмотр профиля
Re: Много простых команд
« Ответ #10 : Февраль 15, 2019, 10:19:47 am »
Нельзя кликать и зажимать одну и туже клавишу. Когда кликер пошлет команду клика зажать-отжать твоя зажатая клавиша мыши перестанет действовать пока ты её снова не нажмешь. Так что нужно указать какую то другую клавишу для управления кликами.

Код: Clickermann
  1. THREAD(t1, 0)
  2.   KEYPRESS(#q)
  3.   waitms(RND(200,300))
  4. END_THREAD
  5.  
  6. THREAD(t2, 0)
  7.   KEYPRESS(#w)
  8.   waitms(RND(200,300))
  9. END_THREAD
  10.  
  11. THREAD(t3, 0)
  12.   KEYPRESS(#e)
  13.   waitms(RND(200,300))
  14. END_THREAD
  15.  
  16. THREAD(t4, 0)
  17.   KEYPRESS(#r)
  18.   waitms(RND(200,300))
  19. END_THREAD
  20.  
  21. THREAD(t5, 0)
  22.   LCLICK($_xmouse,$_ymouse)
  23.   waitms(RND(70,120))
  24. END_THREAD
  25.  
  26. //=============================================
  27.  
  28. IF(ISKEYDOWN(5)=1)
  29.   SETTHREAD (t5,1)
  30.   WHILE(ISKEYDOWN(5)=1)
  31.      WAITMS(20)
  32.   END_CYC
  33.   SETTHREAD (t5,2)
  34. END_IF
  35.  
  36. IF(ISKEYDOWN(4)=1)
  37.   WHILE(ISKEYDOWN(4)=1)
  38.   END_CYC
  39.   IF($t1 = 0)
  40.      $t1 = $t1^1
  41.      // включение
  42.      SETTHREAD (t1,1)
  43.      SETTHREAD (t2,1)
  44.      SETTHREAD (t3,1)
  45.      SETTHREAD (t4,1)
  46.      BEEP(1200,100) // сигнал включения
  47.   ELSE
  48.      $t1 = $t1^1
  49.      // выключение
  50.      SETTHREAD (t1,2)
  51.      SETTHREAD (t2,2)
  52.      SETTHREAD (t3,2)
  53.      SETTHREAD (t4,2)
  54.      BEEP(700,100) // сигнал выключения
  55.   END_IF
  56. END_IF
  57.  
  58. WAITMS(20)
« Последнее редактирование: Февраль 15, 2019, 10:22:20 am от Oraven »

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #11 : Февраль 15, 2019, 11:08:12 am »
Вписал еще хилку, по скрину так и не вышло настроить нашел другой способ. И почему то когда делал скрин на другом компе был полный экран снимка, а сейчас только 2/3 снимает.

Код: Clickermann
  1. THREAD(t1, 0)
  2.   KEYPRESS(#q)
  3.   waitms(RND(200,300))
  4. END_THREAD
  5.  
  6. THREAD(t2, 0)
  7.   KEYPRESS(#w)
  8.   waitms(RND(200,300))
  9. END_THREAD
  10.  
  11. THREAD(t3, 0)
  12.   KEYPRESS(#e)
  13.   waitms(RND(200,300))
  14. END_THREAD
  15.  
  16. THREAD(t4, 0)
  17.   KEYPRESS(#r)
  18.   waitms(RND(200,300))
  19. END_THREAD
  20.  
  21. THREAD(t5, 0)
  22.   LCLICK($_xmouse,$_ymouse)
  23.   waitms(RND(70,120))
  24. END_THREAD
  25.  
  26. THREAD(t6, 0)
  27. GETSCREEN
  28. IF(PXL (55,125) = 0)
  29.   KEYPRESS(#SPACE)
  30. ELSE
  31.   waitms(RND(100,200))
  32. END_IF
  33. END_THREAD
  34.  
  35. //=============================================
  36.  
  37. IF(ISKEYDOWN(5)=1)
  38.   SETTHREAD (t5,1)
  39.   WHILE(ISKEYDOWN(5)=1)
  40.      WAITMS(20)
  41.   END_CYC
  42.   SETTHREAD (t5,2)
  43. END_IF
  44.  
  45. IF(ISKEYDOWN(6)=1)
  46.   WHILE(ISKEYDOWN(6)=1)
  47.   END_CYC
  48.   IF($t1 = 0)
  49.      $t1 = $t1^1
  50.      // включение
  51.      SETTHREAD (t1,1)
  52.      SETTHREAD (t2,1)
  53.      SETTHREAD (t3,1)
  54.      SETTHREAD (t4,1)
  55.      SETTHREAD (t6,1)
  56.      BEEP(1200,100) // сигнал включения
  57.   ELSE
  58.      $t1 = $t1^1
  59.      // выключение
  60.      SETTHREAD (t1,2)
  61.      SETTHREAD (t2,2)
  62.      SETTHREAD (t3,2)
  63.      SETTHREAD (t4,2)
  64.      SETTHREAD (t6,2)
  65.      BEEP(700,100) // сигнал выключения
  66.   END_IF
  67. END_IF
  68.  
  69. WAITMS(20)

kiril

  • Герой форума
  • *****
  • Сообщений: 761
    • Просмотр профиля
Re: Много простых команд
« Ответ #12 : Февраль 15, 2019, 11:36:19 am »
делал скрин на другом компе был полный экран снимка, а сейчас только 2/3 снимает.
Установите масштаб рабочего стола 100%

Космич

  • Активный участник
  • ***
  • Сообщений: 204
    • Просмотр профиля
Re: Много простых команд
« Ответ #13 : Февраль 15, 2019, 08:00:21 pm »
Можно немного сократить включение/выключение

Код: Clickermann
  1. IF(ISKEYDOWN(6) = 1)
  2.   WHILE(ISKEYDOWN(6) = 1)
  3.      WAITMS(5)
  4.   END_CYC
  5.  
  6.   SETTHREAD (t1, $state + 1)
  7.   SETTHREAD (t2, $state + 1)
  8.   SETTHREAD (t3, $state + 1)
  9.   SETTHREAD (t4, $state + 1)
  10.   SETTHREAD (t6, $state + 1)
  11.  
  12.   $state  = $state  ^ 1
  13.   $signal = $signal ^ 500
  14.  
  15.   BEEP(700 + $signal, 100)
  16.  
  17. END_IF
«Если я не понимаю, зачем нужен этот код, значит этот код не нужен.»

Neokrium

  • Зашел в гости
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Много простых команд
« Ответ #14 : Февраль 16, 2019, 12:43:36 pm »
Код: Clickermann
  1. THREAD(t1, 0)
  2.   KEYPRESS(#q)
  3.   waitms(RND(200,300))
  4. END_THREAD
  5.  
  6. THREAD(t2, 0)
  7.   KEYPRESS(#w)
  8.   waitms(RND(200,300))
  9. END_THREAD
  10.  
  11. THREAD(t3, 0)
  12.   KEYPRESS(#e)
  13.   waitms(RND(200,300))
  14. END_THREAD
  15.  
  16. THREAD(t4, 0)
  17.   KEYPRESS(#r)
  18.   waitms(RND(200,300))
  19. END_THREAD
  20.  
  21. THREAD(t5, 0)
  22.   LCLICK($_xmouse,$_ymouse)
  23.   waitms(RND(70,120))
  24. END_THREAD
  25.  
  26. THREAD(t6, 0)
  27. GETSCREEN
  28. IF(PXL (51,120) = 0)
  29.   KEYPRESS(#SPACE)
  30. ELSE
  31.   waitms(RND(100,200))
  32. END_IF
  33. END_THREAD
  34.  
  35. THREAD(t7, 0)
  36. GETSCREEN
  37. IF_PIXEL_IN(409,886,703,908, 546815)
  38.   SOUND("Свежеемясо.wav")
  39.   waitms(RND(3000,3500))
  40. END_IF
  41. END_THREAD
  42.  
  43. //=============================================
  44.  
  45. IF(ISKEYDOWN(48)=1)
  46.   SETTHREAD (t5,1)
  47.   WHILE(ISKEYDOWN(48)=1)
  48.      WAITMS(20)
  49.   END_CYC
  50.   SETTHREAD (t5,2)
  51. END_IF
  52.  
  53. IF(ISKEYDOWN(53)=1)
  54.   WHILE(ISKEYDOWN(53)=1)
  55.   END_CYC
  56.   IF($t1 = 0)
  57.      $t1 = $t1^1
  58.      // включение
  59.      SETTHREAD (t1,1)
  60.      SETTHREAD (t2,1)
  61.      SETTHREAD (t3,1)
  62.      SETTHREAD (t4,1)
  63.      SETTHREAD (t6,1)
  64.      SETTHREAD (t7,1)
  65.      BEEP(1200,100) // сигнал включения
  66.   ELSE
  67.      $t1 = $t1^1
  68.      // выключение
  69.      SETTHREAD (t1,2)
  70.      SETTHREAD (t2,2)
  71.      SETTHREAD (t3,2)
  72.      SETTHREAD (t4,2)
  73.      SETTHREAD (t6,2)
  74.      SETTHREAD (t7,2)
  75.      BEEP(700,100) // сигнал выключения
  76.   END_IF
  77. END_IF
  78.  
  79. WAITMS(20)

Привет, хочу сделать разные звуки на оповещение кольца стихий. Один звук запилил из Хотса думаю как сделать больше или папку сразу и чтобы рендомна выбирал.

Код: Clickermann
  1. THREAD(t7, 0)
  2. GETSCREEN
  3. IF_PIXEL_IN(409,886,703,908, 546815)
  4.   SOUND("Свежеемясо.wav")
  5.   waitms(RND(3000,3500))
  6. END_IF
  7. END_THREAD