Форум программистов, компьютерный форум, киберфорум
Компьютерные игры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
41 / 39 / 7
Регистрация: 27.05.2010
Сообщений: 252
1

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

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

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

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

Вопросы:

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


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

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

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

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

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

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

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

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

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

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

Добавлено через 49 минут
Цитата Сообщение от Reactor333 Посмотреть сообщение
3 и 4. Есть много программ, которые захватывают все нажатия клавиш и движения мыши
Можете подсказать такие программы?
Цитата Сообщение от Reactor333 Посмотреть сообщение
5. Игрок то сможет смотреть, но я не думаю, что это поможет...
Это просто так, для вида, игрок просто буде смотреть, никаких действий от него не надо.
0
23 / 23 / 2
Регистрация: 01.01.2011
Сообщений: 224
29.05.2013, 18:23 4
Цитата Сообщение от Jettard Посмотреть сообщение
Можете подсказать такие программы?
В основном я пользовался стандартным ПО для мышек A4Tech, чтобы записать и потом воспроизвести все движения мыши и нажатий клавиш.
Вы можете поискать через гугл программы для захвата нажатий клавиш и движения мыши.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2013, 18:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.