Перейти к публикации

Рекомендованные сообщения

Опубликовано: (изменено)

Сливаю кликер который я сама написала. 

Кликер активируется на клавишу Ins 

В кликере можно выставить количество кликов (от 1 до 100) , прописав "cps" и количество кликов

Можно переключить клавишу (левую или правую) через команду "button"

Режим  "block" . В этом режиме он по очереди нажимает левую потом правую клавишу мыши.

Есть режим "bridge" . В нем находится макрос для строительства моста. Активируется на среднюю клавишу мыши.

Есть режим "toggle" ,  чтобы не приходилось держать клавишу Ins зажатой

Все настройки сохраняются.

скачать

исходный код

spacer.png

 

Изменено пользователем MrsEmilia
Опубликовано:
17.10.2021 в 16:34, Euboea сказал:

Прикольно, но можно было бы реализовать нажатия, без команд 

Можно сделать - .dll называется, но это уже внедрение в игру.

Опубликовано:
Только что, lucid сказал:

Можно сделать - .dll называется, но это уже внедрение в игру.

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

Опубликовано:
1 минуту назад, Euboea сказал:

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

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

Но если ты сделаешь исключительно кликер с кнопками, то ничего такого и не будет)

  • 2 недели спустя...
Опубликовано: (изменено)
07.10.2021 в 19:27, MrsEmilia сказал:

Сливаю кликер который я сама написала

Пруфы с сиськами мне в ЛС, Михаил.

Скрытый текст

Трап? Хуй будешь?



В следующий раз не забудь

using namespace std;

Чтобы половина времени не уходила на написание std::


Вместо потоков с бесконечными

GetAsyncKeyState(...)

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


Вместо преобразования в стиле С

(char*)&cps

Используй преобразование в стиле С++

reinterpret_cast<char*>(&cps)



Задержки в функции кликера лучше сделать рандомными (вдруг кто решит поиграть и на других серверах)

rand() % 25 // от 0 до 25 ms

При желании можно написать функцию генерирующую числа в диапазоне от и до


Вместо keybd_event и mouse_event можно посылать сообщения окну напрямую. Это намного быстрее, удобнее и работает в свёрнутых окнах.

PostMessageW(...)

Хороший пример всё так же можно найти здесь.


При компиляции установи флажок /MT чтобы потом не приходилось выяснять почему твоя программа у некоторых не запускается.


В функцию нажатия клавиш лучше передавать так же и их скан-коды (Spy++ в помощь, встроен в Visual Studio, находится во вкладке Tools)
Скан-код нажатого левого шифта 0x002A0001, скан-код отпущенного левого шифта 0xC02A0001.

Из-за дебильной реализации проверки зажатия левого шифта игрой Minecraft, при попытке вызвать PostMessageW с событием нажатия этого самого шифта, ничего не произойдёт, так как игра дополнительно проверяет GetAsyncKeyState. Однако можно вызвать вместе с этим тот же самый keybd_event, либо же перехватить функцию GetAsyncKeyState и манипулировать изнутри.

Изменено пользователем eXpl01TeR
Потому что могу
  • 3 недели спустя...
  • 2 месяца спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...