Сейчас на форуме: Kybyx (+3 невидимых)

 eXeL@B —› Оффтоп —› Высокоскоростной бот
Посл.ответ Сообщение

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 09 октября 2017 22:10 · Поправил: TryAga1n
· Личное сообщение · #1

Приветствую, друзья! Есть такая пасхалка у гугл хрома на андроиде, игра в динозаврика при отключеном интернете. Скуки ради, нашел ее на сайте http://www.trex-game.skipser.com. Там в нижнем левом углу есть топ игроков и цифры под 99 тыс. очков. Естественно это было сделано при помощи бота и я шутки ради решил тоже написать бота. Выглядит он примерно так:
Code:
  1. 00413DA1   .  6A 00         push       00h             ; /hWnd = NULL
  2. 00413DA3   .  E8 341EFFFF   call       00405BDCh       ; \GetDC
  3. 00413DA8   .  8BD8          mov        ebx , eax
  4. 00413DAA   >  68 95010000   push       00000195h       ; /Y = 195 (405.)
  5. 00413DAF   .  68 31010000   push       00000131h       ; |X = 131 (305.)
  6. 00413DB4   .  53            push       ebx             ; |hDC = 003E6000
  7. 00413DB5   .  E8 B21DFFFF   call       00405B6Ch       ; \GetPixel
  8. 00413DBA   .  3D 53535300   cmp        eax , 00535353h
  9. 00413DBF   .75 E9         jne        00413DAAh
  10. 00413DC1   .  6A 00         push       00h             ; /ExtraInfo = 0
  11. 00413DC3   .  6A 00         push       00h             ; |Flags = 0
  12. 00413DC5   .  6A 00         push       00h             ; |ScanCode = 0
  13. 00413DC7   .  6A 20         push       20h             ; |Key = VK_SPACE
  14. 00413DC9   .  E8 461EFFFF   call       00405C14h       ; \keybd_event
  15. 00413DCE   .  6A 00         push       00h             ; /ExtraInfo = 0
  16. 00413DD0   .  6A 02         push       02h             ; |Flags = KEYEVENTF_KEYUP
  17. 00413DD2   .  6A 00         push       00h             ; |ScanCode = 0
  18. 00413DD4   .  6A 20         push       20h             ; |Key = VK_SPACE
  19. 00413DD6   .  E8 391EFFFF   call       00405C14h       ; \keybd_event
  20. 00413DDB   .^ EB CD         jmp        00413DAAh

Как видите, просто бесконечный цикл, в котором сканируется один пиксель и нажимается пробел. По сути это максимально скоростное решение, но бот иногда не успевает прыгнуть, при том это происходит рандомно. Мой рекорд пока что 574.
Вопрос: как можно усовершенствовать скорость работы программы? Или же это проблема браузера, который пропускает пиксели при отрисовке и из-за этого бот не прыгает?

Буду благодарен за любые советы и предложения

p.s.: пользователи Google Chrome могут запустить эту игру по ссылке chrome://dino/




Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 10 октября 2017 14:32
· Личное сообщение · #2

TryAga1n пишет:
в нижнем левом углу есть топ игроков и цифры под 99 тыс. очков

как то сильно сложно а после слов
TryAga1n пишет:
Естественно это было сделано при помощи бота

захотелось спать
открою секрет у вас бот медленный мой может за 3 сек набрать столько же

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 10 октября 2017 19:30
· Личное сообщение · #3

ClockMan, ну поделитесь уже секретом тогда. Я знаю, что скорость движения встроенной игры, можно настроить через конфиг, но это отклоняется от основного вопроса.



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 11 октября 2017 00:08
· Личное сообщение · #4

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 12 октября 2017 18:50
· Личное сообщение · #5

TryAga1n
Я не понял из написанного - бот отдельно от всего батрачит или захуканный в браузер??
TryAga1n пишет:
ну поделитесь уже секретом тогда

Code:
  1. <canvas class="runner-canvas" width="600" height="150" id="gamecanvas" style="width: 600px; height: 150px;"></canvas>

Небось интерфейс canvas заинжектен исполняемым кодом бота.



Ранг: 53.9 (постоянный), 19thx
Активность: 0.040
Статус: Участник

Создано: 20 октября 2017 02:53
· Личное сообщение · #6

ELF_7719116 пишет:
Я не понял из написанного - бот отдельно от всего батрачит или захуканный в браузер??

Насколько я понял - тупо клавонажималка

Добавлено спустя 1 минуту
Тем более
TryAga1n пишет:
шутки ради


Зачем заморачиваться на хуки (как по мне) ?


 eXeL@B —› Оффтоп —› Высокоскоростной бот

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати