Программа для нажатия клавиш

Теория и практика Diablo 3, техническая информация и ПО
  • 1

Сообщение Legioner » 22 мар 2015, 23:38

Дмитрий, отличный продукт, простой и эффективный, большое спасибо!

Хотелось бы высказать пожелание от параноиков: было бы неплохо добавить возможность рандомизации временных промежутков между нажатиями клавиш. Скажем, ввести дополнительную галку в опциях и поле для ввода значения диапазона, в рамках которого будем рандомизировать нажатия.


-- Добавлено позже --

И сразу интересный трюк для параноиков: https://www.youtube.com/watch?v=M1tDC4ReqfQ
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 4

Сообщение DmitryOlenin » 23 мар 2015, 01:48

Обычный же прожим ветров для камня. Стандартный, нет? :)
Над предложениями подумаю, спасибо!
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 1

Сообщение lordep » 23 мар 2015, 12:38

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

Хм... интересная идея, но наверное много переделывать придется.
DmitryOlenin, может в шапке оставлять ссылки на архив старых версий ?
Аватара пользователя
lordep
Юбилейная стеклопушка В центре внимания (II-го уровня)
Сообщения: 3238
Откуда: Киев
Репутация: 5224
Статус: Не в сети

  • 3

Сообщение DmitryOlenin » 23 мар 2015, 12:55

В теории, это возможно, но только зачем?
Старые возможности не убираются, новые добавляются.
Если что-то не нужно, этим можно просто не пользоваться.

Архив с картинками старых версий я веду, он в шапке есть.
Равно как и чексуммы старых версий, если кто-то такую скачал.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 3

Сообщение Legioner » 23 мар 2015, 13:12

lordep, я, конечно, не автор, но мне кажется, что вряд ли там так сложно. По крайней мере, если не пытаться продумать защиту от пользователя дурака. Т.е. можно попытаться просчитать смещение времени прожатия скиллов с учетом фактических значений сдвига каждого конкретного прожатия, но зачем?

Сразу предупреждаю: все нижеследующее - исключительно взгляд с моей колокольни. Я, например, использую программу только для своевременного прожатия Акарата, т.к. сам постоянно забываю это делать вовремя и вспоминаю только, когда шотган израсходует весь гнев =) У меня ровно 56% КДР, соответственно КД Акарата = 19800 мс. Так вот, мне бы не очень хотелось, чтобы Варден видел, что я прожимаю Акарата ровно каждые 19900 мс. Я бы хотел прожимать его каждые 19900 + N мс, где N равняется, скажем, случайной величине от -50 до 50 мс. Т.о. будет хоть какая-то иллюзия ручного ввода данных действий. А если я сам неправильно подсчитал КД скиллов или еще что-нибудь в этом духе, то пользователь сам себе злобный Буратино, пусть сам и разбирается.
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 4

Сообщение DmitryOlenin » 23 мар 2015, 13:18

Особенно забавно будет, если этот ваш мифический варден округляет время до секунд :)
Я посмотрю, что можно сделать, конечно, но на мой взгляд, это совсем уж паранойя.
Хотели бы они кого-то банить, давно бы уже тысячи пользователей турбохуда были бы забанены.
Его-то отловить куда как проще.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 2

Сообщение Legioner » 23 мар 2015, 14:13

DmitryOlenin писал(а):Особенно забавно будет, если этот ваш мифический варден округляет время до секунд :)

Ну, имхо, если уж собирать данные по нажатиям клавы, то как раз сильно округлять смысла нет - для максимальной эффективности счет идет на десятые, а иной раз и на сотые доли секунды.
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 1

Новая версия!

Сообщение valdis1 » 24 мар 2015, 11:32

DmitryOlenin писал(а):Обновление программы. Встречайте. Версия 1.7.
Для работы требуется выбор процесса с игрой.
То есть, зажатие будет работать, только если программу стартовать после запуска Diablo3.


Я еще пока не юзаю, но:
Если врубить Д3, врубить программу, вырубить Д3, снова врубить Д3 - программа работать будет?
Если нет, то имхо - лучше оставить как было...
Аватара пользователя
valdis1
Песнь стекла и пушек
Сообщения: 80
Репутация: -72
Статус: Не в сети

  • 3

Сообщение DmitryOlenin » 24 мар 2015, 11:51

Программа работать будет в любом случае. Цитата выше, мягко говоря, неверная.
1. Зажатие клавиш стало опциональным.
Для работы требуется выбор процесса с игрой.
То есть, зажатие будет работать, только если программу стартовать после запуска Diablo3.

Вот так это звучало. То есть зажатие клавиш работает только при выборе процесса.
Нажатие как работало так и работает всегда.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 0

Сообщение valdis1 » 24 мар 2015, 15:04

так и хочется затестить, но пока борю в себе внутреннего тестировщика.
другая прога пока устраивает всем кроме отсутствия профилей и редкого подвисания.
Аватара пользователя
valdis1
Песнь стекла и пушек
Сообщения: 80
Репутация: -72
Статус: Не в сети

  • 5

Сообщение DmitryOlenin » 24 мар 2015, 18:14

valdis1
А ещё невозможностью индивидуальной настройки каждой из 6 клавиш, возможно...
Или отсутствием возможности зажимать эти самые клавиши...
Или отсутствием прерывания работы программы по включению чата или телепорту в город...

Хотя что это я, пользуйтесь чем хотите, я же не принуждаю.
В конце концов, скачать и запустить программу - это довольно сложно.
Требует примерно секунд 10 времени, не у каждого так много есть, можно понять.

Не очень понятно, правда, зачем вы вообще в эту тему писали.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 1

Сообщение valdis1 » 24 мар 2015, 19:26

Дмитрий, я так в общем, для себя пишу, поскольку как Вы там написали "ищите баги" - так и захотелось поискать.
индивидуалка и зажатие клавиш - мне пока не нужно, тоже монко-саппом играю,
прерывание работы программы по включению чата или телепорту в город - тоже, т.к. мышой и телепорчусь и лезу в чат, перед этим опять же отрубив автобаф в той-другой-проге средней клавишей мыши.
Аватара пользователя
valdis1
Песнь стекла и пушек
Сообщения: 80
Репутация: -72
Статус: Не в сети

  • 1

Сообщение Legioner » 24 мар 2015, 19:30

DmitryOlenin, агрессивный маркетинг ITT :peka: Хотя вообще все правильно, непонятно, зачем было отмечаться в теме - как в лужу... ветры пустил. По софтинке могу сказать, что заметил периодически непрожатие кнопок (мне видно очень хорошо, т.к. без Акарата гнев сгорает моментально =), такое может случиться раз за 2-3 рифта, но багрепорт не составлю, т.к. закономерности какой-то не увидел и ни с чем связать не удается.

И не очень понятно, как работает задержка по использованию скилла. На мой взгляд, она просто плюсует указанное время задержки к таймеру, а должна замораживать его на время действия скилла, ну или как-то так...

Простой пример: я включил Акарата, у него время действия - 20 секунд; через 8 секунд я включил лошадь, у нее время действия - 2 секунды, на эти же 2 секунды стоит задержка по клавише лошади; автопрожим Акарата настроен так, чтобы включать его за 50мс до завершения эффекта. Я обратил внимание, что после применения скилла с настроенной задержкой Акарат начинает прожиматься с задержкой, как раз около 2 секунд. Я правильно понимаю, что задержка просто плюсуется к таймеру по нажатию скилла с задержкой?

Если да, то вот, как сделал был я: брал бы время до автопрожима каждого скилла, сравнивал с величиной задержки и задержку ставил на разность (величинаЗадержки - времяДоАвтопрожима). Но это все рассуждения из разряда "Как нам обустроить Россию" =)

А в идеале бы считывать с батл.нета билд и величину КДР, автоматически высчитывать оптимальные периоды автопрожима... :peka:

З.Ы. Кстати, ничего не слышно про рандомизацию? ;)
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 4

Сообщение DmitryOlenin » 24 мар 2015, 20:09

valdis1
Как можно "искать баги", если вы даже не запускали программу?
То, что вы "пишете для себя" заметно и понятно. Не понятно, зачем вы это делаете в данной теме.
Если хотите просто что-то "писать для себя", то, наверное, не стоит это делать в теме, где обсуждается конкретная программа. Которую, повторюсь, вы даже не запускали, по вашим словам.

Legioner
Может быть поможет мультипрожатие?
Три раза скилл будет нажиматься, чтобы исключить непрожатие.
О нём писал Extremer чуть выше, и я его сделал. Пробовали включать?

Ещё в новой версии 1.8 (думаю, завтра выложу) попробуйте выбрать процесс diablo3.
Там несколько другой метод прожатия используется, может быть будет лучше.

Задержка по клавише работает просто. Точно так же, как телепорт.
Она останавливает выполнение всех триггеров.
Когда время проходит, снова начинают выполняться все триггеры с самого начала.

Можно сделать так, как вы описали. Но это сильно сложнее. Надо думать.

Рандомизация будет в той же 1.8. Скорее всего завтра.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 2

Сообщение Legioner » 24 мар 2015, 21:43

DmitryOlenin писал(а):Может быть поможет мультипрожатие?
Три раза скилл будет нажиматься, чтобы исключить непрожатие.
О нём писал Extremer чуть выше, и я его сделал. Пробовали включать?

Спасибо, попробую. Вообще не пробовал, т.к. не настолько критичная проблема. Если бы она была действительно серьезной, я бы сел и за вечер-другой вычленил корень и скинул багрепорт. Благо худо-бедно представление о методике тестирования имею.

DmitryOlenin писал(а):Ещё в новой версии 1.8 (думаю, завтра выложу) попробуйте выбрать процесс diablo3.
Там несколько другой метод прожатия используется, может быть будет лучше.

Стоп, а разве сейчас процесс нельзя выбрать?

DmitryOlenin писал(а):Задержка по клавише работает просто. Точно так же, как телепорт.
Она останавливает выполнение всех триггеров.
Когда время проходит, снова начинают выполняться все триггеры с самого начала.

Т.е. я правильно понимаю, что в случае с моим примером про лошадь и Акарата, мы фактически получаем в конечном итоге время прожатия, увеличенное на сумму всех задержек? Т.е. при времени прожатия Акарата = 19900 мс и двукратном использовании лошадей по 2000 мс каждая мы фактически получим время прожатия Акарата = 23990 мс?

DmitryOlenin писал(а):Можно сделать так, как вы описали. Но это сильно сложнее. Надо думать.

Я все прекрасно понимаю, т.к. сначала надо разработать концепцию и логику работы, при этом сразу озаботиться насчет интерфейса и доступности, плюс много хрени может всплыть в процессе реализации.
DmitryOlenin писал(а):Рандомизация будет в той же 1.8. Скорее всего завтра.

Передаю слова благодарности от всех параноиков Стеклопушки! :D
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 4

Сообщение DmitryOlenin » 25 мар 2015, 00:41

Стоп, а разве сейчас процесс нельзя выбрать?

Очевидно, можно. Но сейчас метод посылки клавиш такой же, как без выбора.
А в новой версии будет другой метод. Результат должен быть идентичен, но мало ли.

Т.е. я правильно понимаю, что в случае с моим примером про лошадь и Акарата, мы фактически получаем в конечном итоге время прожатия, увеличенное на сумму всех задержек? Т.е. при времени прожатия Акарата = 19900 мс и двукратном использовании лошадей по 2000 мс каждая мы фактически получим время прожатия Акарата = 23990 мс?

Всё несколько не так.

Итак, Акарат каждые 20 секунд. Лошадь 3 секунды, прерываем на те же 3 секунды.
Как это выглядит в текущей версии
Прожали на 0 секунде. 3 секунды паузы. Попытка прожать Акарата (3 секунды прошло).
Неудача. Следующий Акарат прожмётся на 23 секунде (вместо 20).

Прожали на 10 секунде. 3 секунды паузы. Попытка прожать Акарата (13 секунд прошло).
Неудача. Следующий Акарат прожмётся на 33 секунде (вместо 20).

Прожали на 18 секунде. 3 секунды паузы. Попытка прожать Акарата (21 секунда прошла).
Успех. Дальше всё нормально.


Сделал... Теперь после отжатия коня будет прожиматься Акарат или вовремя, если конь не перекрыл время Акарата, или сразу после окончания коня.
Так же сделал "сброс" задержки после Enter порядка 30 секунд.
На случай, если вы один раз энтер нажали, потом, например, Esc.
Забыли об этом и удивляетесь, почему скиллы не прожимаются.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 1

Сообщение Legioner » 25 мар 2015, 10:41

DmitryOlenin, обнаружил еще очень странный глюк с зажатием клавиш: пока у меня оно было включено, табун иногда кастовался вообще мимо кассы, мог кастоваться и под 90 градусов относительно реального направления каста и иногда вообще под 180. При этом проявлялось такое, если курсор указывал просто в сторону мобов, если курсор был прямо на мобе, то каст проходил нормально.
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 2

Сообщение DmitryOlenin » 25 мар 2015, 13:22

Речь идёт о клавише мыши?

Там есть косяк с тем, что передавать нажатие довольно проблематично.
Нужно, по-хорошему, передавать также координаты точки нажатия.
Потому, полагаю, могут быть такие вещи.

Но это надо подробнее тестировать. Если есть возможность, сделайте. А я попробую исправить.
Мне нужны точные условия воспроизведения этой ситуации, чтобы я у себя тоже мог увидеть.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 1

Сообщение lordep » 25 мар 2015, 15:30

На англоязычном сайте появилась такая утилита http://www.diablofans.com/forums/site-r ... ey-spammer (есть функция переодевания).
Возможно какие нибудь наработки взять в Diablo 3 Hotkeys ?
Аватара пользователя
lordep
Юбилейная стеклопушка В центре внимания (II-го уровня)
Сообщения: 3238
Откуда: Киев
Репутация: 5224
Статус: Не в сети

  • 4

Сообщение DmitryOlenin » 25 мар 2015, 15:48

Как обычно всё: идиотские разговоры о банах, мало полезной информации, никакого фидбека.
Исходников, кстати, тоже нет. Впрочем, можно посмотреть, почему нет.

Есть какие-то идеи, что именно стоит интересного из той программы взять?
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 2

Новая версия!

Сообщение DmitryOlenin » 25 мар 2015, 17:56

Обновление программы. Встречайте. Версия 1.8.

Update 25.03.2015 (17:45):
1. Использование альтернативной системы отправки клавиш, при выборе процесса.
В целом переработана система отправки нажатия/зажатия клавиш в процесс.
Результат должен быть идентичен варианту с выбором области действия, но при появлении каких-то проблем с нажатиями в режиме без выбора процесса, попробуйте выбрать его и протестировать.
Для программистов: отличная библиотека "Shynd's PostMessage".


2. Добавлена работа с неактивным окном (окном без фокуса).
При выборе процесса нажатие /зажатие клавиш будут передаваться даже в неактивное окно.

3. Добавлена опция Save/Load.
Она позволяет сохранять любое количество профилей в файлы и загружать из них.

4. Добавлена опция случайной задержки.
Она позволяет прожимать кнопки через рандомные интервалы времени.
Например, вы установили интервал прожатия 5000мс и рандомное прожатие 1000мс.
Будет прожиматься кнопка каждый раз в интервале от 4000мс до 6000мс. То есть +-1000мс.


5. Добавлено "автоотжатие" входа в чат (Enter).
После нажатия Enter (вход в чат) включается таймер. Если за ~30 секунд вы его не нажали ещё раз, считается, что Enter отжат и скиллы продолжают прожиматься. Нужно это для предотвращения ситуаций, когда отправлять сообщение передумали, а кнопки прожиматься прекратили, что может вызвать недоумение.

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


7. Переработан интерфейс, исправлены ошибки и недоработки.


Изображение

Скачать.
D3H.exe MD5: 282B105143556DDC3DD9B318AF4EDEE7

Прошу проверять. Жду багрепортов, пожеланий, предложений.

Статистика скачиваний программы до версии 1.8
Изображение
Последний раз редактировалось DmitryOlenin 25 мар 2015, 18:07, всего редактировалось 2 раз(а).
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

  • 1

Сообщение Legioner » 25 мар 2015, 18:03

DmitryOlenin, круто, затестим! Спасибо за реализацию пожеланий =)
Аватара пользователя
Legioner
В первых рядах Юбилейная стеклопушка
Сообщения: 136
Репутация: 148
Статус: Не в сети

  • 1

Сообщение lordep » 25 мар 2015, 18:11

Спасибо за обновление.
DmitryOlenin писал(а):Есть какие-то идеи, что именно стоит интересного из той программы взять?

Мне лично понравилось что отображается название загруженного профиля, видно для кого настройки. Например "Крест-сапорт", "Крест с порицанием" и так далее.
P.S. Может кнопку "Старт" сделать эквивалентной по размеру кнопке "Настройки" - для симметрии :)
Аватара пользователя
lordep
Юбилейная стеклопушка В центре внимания (II-го уровня)
Сообщения: 3238
Откуда: Киев
Репутация: 5224
Статус: Не в сети

  • 1

Сообщение blackinmind » 25 мар 2015, 22:28

Только у меня в 1.8 перестало прерывание на телепорт работать?

p.s. Дмитрий, спасибо большое за прогу!
Аватара пользователя
blackinmind
В первых рядах Девять с половиной стеклопушек Танец с пушками Семь раз отмерь, один раз стеклопушка Восьмое чудо Санктуария
Сообщения: 227
Откуда: Москва
Репутация: 115
Статус: Не в сети

  • 2

Сообщение DmitryOlenin » 26 мар 2015, 01:22

blackinmind
Не прерываются только кнопки для "зажатия".
Остальное нормально работает, только что проверил.
В следующей версии постараюсь и это сделать.

Проверьте поточнее, что именно и когда не работает.
Скриншоты настроек и основного окна приветствуются.

lordep
Кнопка старт должна быть больше, ибо она главнее :)
Названия профилей... Ну, допустим.
Где вы предлагаете их выводить? И вводить, кстати, тоже их придётся для начала.
Программа для автоматического нажатия клавиш Diablo 3 Hotkeys
Школьники ушли в школы, больше за 10 минут никто калькуляторы не пишет...
Программа для расчёта DPS - Diablo 3
Аватара пользователя
DmitryOlenin
В первых рядах В центре внимания (II-го уровня) Юбилейная стеклопушка
Сообщения: 1622
Откуда: Москва
Репутация: 1208
Статус: Не в сети

Пред.След.

Вернуться в Игровая механика



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5