Показать сообщение отдельно
  #3  
Старый 17.12.2010, 16:10
Inkvisitor Inkvisitor вне форума
Прохожий
 
Регистрация: 17.12.2010
Сообщения: 7
Репутация: 10
По умолчанию

Во-первых, не угадал... это даже не WoW. Игра новая и малоизвестная, на стади открытого бета-теста, ни о каких готовых ботах к ней никто и в помине не слышал, так что проще написать самому с учетом специфики интерфейса.
Во-вторых, надоело задрить на добыче ресов, она реализована таким образом, что через пару часов сам становишься похожим на бота, хочется нормально поиграть. Но без ресов далеко не уедешь, а свободного времени у меня не так много. Т.е. имеется индивидуально генерируемая локация где кроме персонажа и расставленных на СТРОГО ОТВЕДЕННЫХ местах ресов больше ничего нет - создание бота напрашивается само-собой.

Сейчас прикинул список логируемых действий обычного пользователя:
1. Нажатие клавиши клавиатуры - выполнение действия
2. Удержание клавиши клавиатуры - движение вперед/назад, круговое вращение камеры
3. Нажатие клавиши мыши - движение персонажа в точку позиционирования указателя, взаимодействие с объектом (это ключевое
действие бота)
4. Удержание клавиши мыши + движение указателя - свободное вращение камеры
5. комбо из удержания клава+клава, мышь+клава, мышь+мышь - передвижение персонажа

Задумался над логированием... особенно над п.5 и другими операциями с удержанием клавиш, порылся в интерфейсе клиента, пришел к выводу что все это можно заменить двумя операциями ввода данных:
1. Нажатие клавиши клавиатуры - выполнение действия, выставление вида камеры "по умолчанию" (вид со спины)
2. Нажатие клавиши мыши - перемещение персонажа, взаимодействие с объектом

Сложно для игрока, но зато легко залогировать по простейшему алгоритму:
1. RunTimer
2. нажатие клавиши -> запись времени и параметров клавиши
Ответить с цитированием