Author Topic: Один скрипт для двух условий  (Read 1378 times)

0 Members and 1 Guest are viewing this topic.

SOOTHSAY

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Один скрипт для двух условий
« on: February 13, 2018, 11:49:10 PM »
Подскажите, как задать условие. Информацию, которую я нашёл не помогла и вот, что получилось:
Code: [Select]
IF(iskeypress(#F8)=1)
  KEYDOWN(#A)
ELSE(iskeypress(#F7)=1)
  KEYDOWN(#W)
  KEYDOWN(#SHIFT)
Суть скрипта: Скрипт запускается, при нажатии #F8 - зажимается клавишa #A, а если мы нажимаем #F7 - зажимаются две клавиши #W и #S.
Я совсем новичок, тут и так ошибка лезит, ещё и столкнулся с проблемой как сделать, так чтоб отжималась клавиша и можно было перейти к другому условию.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Один скрипт для двух условий
« Reply #1 on: February 14, 2018, 12:02:08 AM »
Code: (clickermann) [Select]
IF(iskeydown(#F8)=1)     //если нажал F8
   KEYDOWN(#A)      //нажимается   A
   WHILE(iskeydown(#F8)=1) //пока  F8 нажата
      waitms(50)         //ждем
   END_CYC
   KEYUP(#A)     //если отпустил  F8 -  отпусткается А
end_if

//тоже самое с ф7
IF(iskeydown(#F7)=1)
   KEYDOWN(#W)
   KEYDOWN(#S)
   WHILE(iskeydown(#F7)=1)
      waitms(50)
   END_CYC
   KEYUP(#W)
   KEYUP(#S)
end_if
waitms(50)

SOOTHSAY

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Один скрипт для двух условий
« Reply #2 on: February 14, 2018, 02:52:33 PM »
Спасибо, а возможно так, что нажал F8 и отпустил и пока снова не нажмёшь на F8 будет работать?
Не keydown, а keypress :)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Один скрипт для двух условий
« Reply #3 on: February 14, 2018, 03:18:25 PM »
Для F8
Code: (clickermann) [Select]
// поток с кликами
THREAD(cl, 0)
    waitms(1)
    KEYPRESS(#A)
    waitms(1000)
END_THREAD

// переключатель
IF(ISKEYDOWN(#F8) = 1)
    $run = $run ^ 1
    IF($run = 0)
        SETTHREAD(cl, 2)
    ELSE
        SETTHREAD(cl, 1)
    END_IF
    WHILE(ISKEYDOWN(#F8) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

Переключатель. По F8 запуск/остановка нажатий KEYPRESS(#A)

F7 по аналогии
« Last Edit: February 14, 2018, 03:21:14 PM by Vint »


SOOTHSAY

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Один скрипт для двух условий
« Reply #4 on: February 14, 2018, 09:43:51 PM »
Спасибо ;)