Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - EGGGOOSE

Pages: [1]
1
Code: (clickermann) [Select]
// 12.07.2019
#name "управление"

THREAD(t,1)
   IF(iskeydown(#V) = 1)
      LOGWRITE ("нажато")
      WHILE(iskeydown(#V) = 1)
         WAITMS(10)
      END_CYC       
     
      If($a = 0)
         LOGWRITE ("запущено")
         $a = 1    // включение
      ELSE
         LOGWRITE ("отключено")
         $a = 0  // выключение
      END_IF
   END_IF
   WAITMS(10)
END_THREAD

If($a = 1)
   lclick($_xmouse, $_ymouse)
   WAITMS(500)
End_If

удачи в minecraft

Кстати, этот код, при выполнении нагружает процессор аж до 30%, тогда как этот:
Code: (clickermann) [Select]
THREAD(t,0)
   LCLICK($_xmouse, $_ymouse)
   WAITMS(500)
END_THREAD
 
IF(iskeydown(#V) = 1)
   WHILE(iskeydown(#V) = 1)
   END_CYC
   IF($t = 0)
      BEEP(2000,200) // звуковой сигнал
      $t = $t^1 // включение
      SETTHREAD (t, 1)
   ELSE
      BEEP(1000,200)
      $t = $t^1 // выключение
      SETTHREAD (t, 2)
   END_IF
END_IF
WAITMS(20)
всего на полтора процента! С чем это связано?

2
Общие вопросы / Re: Автокликер для minecraft
« on: July 12, 2019, 07:44:50 PM »
Немного другая логика должна быть.
В основном потоке следим за клавишей V, в дополнительным выполняем клики.
Для удобства добавил звуковой сигнал разной тональности для включения и выключения.
После запуска нужно нажать V для активации кликов.

Code: (clickermann) [Select]
THREAD(t,0)
   LCLICK($_xmouse, $_ymouse)
   WAITMS(500)
END_THREAD

IF(iskeydown(#V) = 1)
   WHILE(iskeydown(#V) = 1)
   END_CYC
   IF($t = 0)
      BEEP(2000,200) // звуковой сигнал
      $t = $t^1 // включение
      SETTHREAD (t, 1)
   ELSE
      BEEP(1000,200)
      $t = $t^1 // выключение
      SETTHREAD (t, 2)
   END_IF
END_IF
WAITMS(20)

Для чего нужно делать waitms(20), и что значит выражение:
Code: (clickermann) [Select]
$t = $t^1 Если ^1 - значит возвести в первую степень, то это то же самое что и
Code: (clickermann) [Select]
$t = $t ?
Можете подробнее пройтись по своему алгоритму, а то что-то я не очень врубился, в то что делает переменная $t на протяжении своей работы.

3
Code: (clickermann) [Select]
// 12.07.2019
#name "управление"

THREAD(t,1)
   IF(iskeydown(#V) = 1)
      LOGWRITE ("нажато")
      WHILE(iskeydown(#V) = 1)
         WAITMS(10)
      END_CYC       
     
      If($a = 0)
         LOGWRITE ("запущено")
         $a = 1    // включение
      ELSE
         LOGWRITE ("отключено")
         $a = 0  // выключение
      END_IF
   END_IF
   WAITMS(10)
END_THREAD

If($a = 1)
   lclick($_xmouse, $_ymouse)
   WAITMS(500)
End_If

удачи в minecraft

Поправьте если не прав. Клавиша нажата и отпущена, идет проверка: если $а = 0, то $а = 1, но так как $а еще не было присвоено, то выполняется else - $a = 0. waitms(10)(кстати для чего он нужен здесь?), и первый цикл потока окончен, начинается новый: проверка на нажатие клавиши не проходит, ведь клавиша уже отпущена,(ведь в предыдущем ходе цикла while(iskeydown(#V) = 1), дожидался пока её отпустят) так как должен запуститься основной скрипт,
 
Code: (clickermann) [Select]
If($a = 1)
   lclick($_xmouse, $_ymouse)
   WAITMS(500)
End_If
если уже после первого нажатия он должен начаться, а $a все еще = 0. Наверное я что-то не так понимаю, распишите подробнее, потому что ваш код правда работает, но я не понимаю - как?

4
Если кто-нибудь мне пояснит, как можно реализовать этот переключатель, то думаю, что надобность в KeyPressed() отпадает.
Извините-конечно но в вашем сообщении сплошной сумбур.
 Может, Вы как-то коротко перефразируете свою задачу, без эмоций и вас можно будет понять?

Если вы про IsKeyPressed, то я хочу чтобы был такой метод, который выводил 1, в момент, когда клавиша была нажата(предварительно опущена, а после поднята), и выводил 0, во всех остальных случаях.
Если вы про мой скрипт, то я хочу, чтобы при нажатии кнопки запускался скрипт:
Code: (clickermann) [Select]
   lclick($_xmouse, $_ymouse)
   WAITMS(550)
При повтороном, скрипт выключался, и ждал, пока его снова вызовут.

5
после нажатия клавиши V, ваш скрипт каждые полсекунды начинает кликать в место нахождения курсора и повторными нажатиями он не останавливается, только выключением программы.
Ничего он не кликает. Просто зависает программа. Закрывается только через диспетчер.

6
Общие вопросы / Re: Автокликер для minecraft
« on: July 12, 2019, 12:54:47 PM »
Есть у меня костыль, для того, чтобы это все работало: назначить на включение и выключение скриптов в настройках кликера кнопку "V", единственный минус - скрипт не запустится с зажатым шифтом.

7
Общие вопросы / Автокликер для minecraft
« on: July 12, 2019, 12:51:35 PM »
Пишу я скрипт для пвп в игре майнкрафт))) В новой версии игры, максимальный урон оружие наносит, только после небольшого кулдауна - приблизительно 550мс. В идеале скрипт должен работать так: нажал я кнопку "V" на клавиатуре, скрипт включился, и если я зажимаю ЛКМ, то скрипт жмет на ЛКМ раз в 550мс, если отпускаю, то ничего не делает. Повторное нажатие "V" останавливает скрипт. Не знаю реализуема ли вообще фишка с тем, чтобы просто зажать кнопку мыши, но если нет,
то мне достаточно будет того, что если я нажму "V" скрипт прожимал ЛКМ раз в 550мс. Собственно, что я и пытался реализовать.

Code: (clickermann) [Select]
THREAD(t)
   IF(iskeydown(#V) = 1)
      WHILE(iskeydown(#V) = 1)
      END_CYC
 
      IF(iskeydown(#V) = 0)
         $a = 1
      END_IF
         // включение
      If(iskeydown(#V) = 1)
         $a = 0
         // выключение
      END_IF
   ELSE
 
   END_IF
END_THREAD
 
If($a = 1)
   lclick($_xmouse, $_ymouse)
   WAITMS(500)     
End_If

Когда запускаешь мою писанину, то кликерманн просто зависает. Скорее всего из-за While в начале, хотя фиг его знает. Этот While нужен был для того, чтобы тред не закончился сразу же как начался, ведь, когда выполняется проверка на нажатость кнопки, сразу за ней идет еще одна проверка зажатости этой кнопки. Сейчас я проверил, и поставил вместо While KeyUp(#V), и все равно кликерманн завис намертво. Так что проблема, думаю, не в While.

8
Если кто-нибудь мне пояснит, как можно реализовать этот переключатель, то думаю, что надобность в KeyPressed() отпадает.

9
Когда я только начал, я вообще не понял - почему этого метода не имеется в наличии?
Как мне кажется его присутствие вполне закономерно, логично и интуитивно понятно. Почему я, чтобы написать обычный переключатель (включение/выключение чего-либо(скрипта)), должен лезть в дебри этого кликерманна, думать над многопоточностью и другой ерундистикой.

К слову о ерундистике, так как если и введут эту фичу, то довольно-таки нескоро, то уж извольте, пожалуйста, форумчане, помочь мне с возникшей трудностью.
Пишу я скрипт для пвп в игре майнкрафт))) В новой версии игры, максимальный урон оружие наносит, только после небольшого кулдауна - приблизительно 550мс. В идеале скрипт должен работать так: нажал я кнопку "V" на клавиатуре, скрипт включился, и если я зажимаю ЛКМ, то скрипт жмет на ЛКМ раз в 550мс, если отпускаю, то ничего не делает. Повторное нажатие "V" останавливает скрипт. Не знаю реализуема ли вообще фишка с тем, чтобы просто зажать кнопку мыши, но если нет,
то мне достаточно будет того, что если я нажму "V" скрипт прожимал ЛКМ раз в 550мс. Собственно, что я и пытался реализовать.

Code: (clickermann) [Select]
THREAD(t)
   IF(iskeydown(#V) = 1)
      WHILE(iskeydown(#V) = 1)
      END_CYC
     
      IF(iskeydown(#V) = 0)
         $a = 1
      END_IF
         // включение
      If(iskeydown(#V) = 1)
         $a = 0
         // выключение
      END_IF
   ELSE
     
   END_IF
END_THREAD

If($a = 1)
   lclick($_xmouse, $_ymouse)
   WAITMS(500)     
End_If

Когда запускаешь мою писанину, то кликерманн просто зависает. Скорее всего из-за While в начале, хотя фиг его знает. Этот While нужен был для того, чтобы тред не закончился сразу же как начался, ведь, когда выполняется проверка на нажатость кнопки, сразу за ней идет еще одна проверка зажатости этой кнопки. Сейчас я проверил, и поставил вместо While KeyUp(#V), и все равно кликерманн завис намертво. Так что проблема, думаю, не в While.

Pages: [1]