Аватар для Jettard
41 / 39 / 7
Регистрация: 27.05.2010
Сообщений: 252

Как отлавливать нажатия клавиш в игре? Как их виртуально нажимать в игре?

26.05.2013, 20:22. Показов 5377. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Где-то месяц назад прочитал статью об каком-то парне, что сделал самообучающую программу для игр на Нинтендо. Но это вроде была "железячка" и он в микропроцессор записал эту прогу. И мне, на днях играющего Metro: Last Light, пришло в голову, спижженая похожая идея, но немного попрактичнее. Суть:

1. Программа записывает все нажатия игрока во время игры в файл. Также, программа должна записывать не только нажатия клавы, а и клики мышки, и ее координаты.
2. Через программу открываем игру, и программа сама играет(как сможет пусть так и играет), а игрок сможет смотреть на игру.

Вопросы:

1. Вообще это реально?
2. Какой язык программирования использовать?
3. Как вообще поймать все нажатия, и перемещения мышки?
4. Как программно нажимать в игре кнопки?
5. Даже если и возможно, игрок сможет на это смотреть?
6. Пока без понятия как это все записывать в файл, чтобы программа потом прочитала, и чтобы не за пару сек прошла уровень, а чтобы как игрок.


З.Ы: очень бы хотелось(а еще и моглось) реализовать обучение так назыааемого бота, ведь в игре не всегда все одинаково, монстры могут быть по разным местам...и т.д.
З.Ы.Ы: С нетерпением жду ответов, хочется узнать ваше мнение.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2013, 20:22
Ответы с готовыми решениями:

Эмуляция джойстика: как программно нажимать кнопки передвижения в игре
Доброе время. Требуется помощь! Эмуляция джойстика, тесть как программно нажимать кнопки передвижения в игре ? Буду рад...

Макрос нажатия клавиш в другой игре
Добрый день. Подскажите пожалуйста, как сделать макрос клавиш в игре? Есть игра warface, хочу сделать одновременное нажатие клавиш в...

Как лучше отлавливать нажатия клавиш на клавиатуре при активном окне
Здравствуйте.Делается проект Win32 на C++ с WinAPI.Подскажите пожалуйста (желательно с примерами) как лучше отлавливать нажатия на...

3
 Аватар для Reactor333
23 / 23 / 2
Регистрация: 01.01.2011
Сообщений: 224
29.05.2013, 00:34
Все, что я напишу ниже будет ИМХО, также я надеюсь, что смогу нормально высказать свою мысль...
Данный способ только для игр, в которых все события заскриптованые, т.е. нажал W пошел вперед или A - влево. Но в современных играх, где довольно много элементов, которые генерируются случайно и, на примере Метро, монстры, которые спавнятся случайно и ведут себя случайно не возможно будет что-то нормально объяснить. И именно поэтому я считаю данный способ обучения без взлома кода игры не совсем эффективным. Но данный способ легко реализован в таких играх, как DOTA 2, если вы знаете данную игру. Там сохраняются реплеи сражений с полным сохранений координат мыши и нажатий клавиш, хотя последнее, я думаю, реализовано не так, как вы хотите. Но в данном способе есть и свои недостатки: так как разрешение экрана у многих различается, то становится трудно точно передать движение мыши на другой монитор с другим разрешением экрана, а также обучаемый только смотрит на процесс игры.

А теперь ответы на вопросы:
1. Конечно это реально) Но не очень эффективно, т.к. из-за различий положений монстров сам компьютер по установленному порядку нажатий клавиш и движений мыши не сможет их убить и монстр прикончит ГГ(, тем самым сведя все усилия на нет.
3 и 4. Есть много программ, которые захватывают все нажатия клавиш и движения мыши, я даже использовал чит-трейнер(да, да, есть грешок) для игры NFS WORLD для быстрой прокачки уровня и денег, который имитировал нажатия клавиш и движения мыши... пример: http://youtu.be/THDxhtlRvbg (где-то с половины смотреть)
5. Игрок то сможет смотреть, но я не думаю, что это поможет...
6. Там в программах можно выбрать тайминги между нажатием или движением мыши...

Например, я считаю, что видео-обучение, так называемые обучающие ролики или же летсплеи на ютубе, намного эффективнее ботов... Хотя, в недавном обновлении World of Tanks ввели внутреигровое обучение, которое заставляет игрока точно повторить за голосом инструктора, а если игрок что-то упустит или же неправильно сделает, голос подскажет, что делать...

Может потом еще что-нибудь вспомню и допишу.

Добавлено через 1 минуту
Данный способ обучения просто будет реализовать в играх серии STALKER с помощью модов... Можно даже сделать интерактивное обучение...
1
 Аватар для Jettard
41 / 39 / 7
Регистрация: 27.05.2010
Сообщений: 252
29.05.2013, 12:39  [ТС]
Большое спасибо за ответ. Буду пробовать, что-то. Игра, в принципе, для меня не имеет значения, главное процесс.

Добавлено через 49 минут
Цитата Сообщение от Reactor333 Посмотреть сообщение
3 и 4. Есть много программ, которые захватывают все нажатия клавиш и движения мыши
Можете подсказать такие программы?
Цитата Сообщение от Reactor333 Посмотреть сообщение
5. Игрок то сможет смотреть, но я не думаю, что это поможет...
Это просто так, для вида, игрок просто буде смотреть, никаких действий от него не надо.
0
 Аватар для Reactor333
23 / 23 / 2
Регистрация: 01.01.2011
Сообщений: 224
29.05.2013, 18:23
Цитата Сообщение от Jettard Посмотреть сообщение
Можете подсказать такие программы?
В основном я пользовался стандартным ПО для мышек A4Tech, чтобы записать и потом воспроизвести все движения мыши и нажатий клавиш.
Вы можете поискать через гугл программы для захвата нажатий клавиш и движения мыши.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2013, 18:23
Помогаю со студенческими работами здесь

Как сделать имитацию нажатия клавиши в игре?
Не могу сделать имитацию нажатия клавиши в играх. Через keybd_event получается только для ввода текста в строки, но не для...

Как сделать эмуляцию нажатия кнопок мыши в игре?
Как сделать эмуляцию нажатия кнопок мыши в игре? игра AtomFishing 2 нужно чтобы эмулировались нажатия двух кнопок G H до определенного...

Нажимать на Enter при появлении в игре кнопки принять.
В общем, я только начинаю изучать Java и решил что уже в принципе это можно как-то использовать. Хочу попробовать написать маленькую...

Асинхронно отлавливать нажатия клавиш в консоли
Есть ли какая-нибудь функция в C#, с помощью которой можно асинхронно отлавливать нажатия клавиш в консоли? Ну допустим, выполняется...

Как отлавливать нажатие клавиш глобально
Всем здрасте. Прошу Вашей помощи в развязании следующей проблемы. Пишу инструмент для программы ArcGis, инструмент написал все отлично...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
Последние результаты исследования от команды MCM (октябрь 2025 г.)
Programma_Boinc 29.10.2025
Последние результаты исследования от команды MCM (октябрь 2025 г. ) Поскольку мы продолжаем изучать гены, которые играют ведущую роль в развитии рака, в рамках проекта "Картирование раковых. . .
Мысли в слух
kumehtar 29.10.2025
Обнаружил, что мысли лучше писать короткими фразами. Таким образом внимание читателя успевает охватить всю фразу сразу, за один раз, не соскакивая и не прерываясь. А если писать это длинным текстом,. . .
Побитовые операторы в Python
AI_Generated 28.10.2025
Побитовые операторы - это не реликт эпохи, когда каждый байт был на вес золота. Да, сейчас оперативка стоит копейки, но задачи изменились. Вместо экономии памяти приходится решать другие проблемы:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru