Форум программистов, компьютерный форум, киберфорум
AutoIt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/43: Рейтинг темы: голосов - 43, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
1

Создание бота для онлайн-игры

26.07.2014, 21:54. Показов 8949. Ответов 17
Метки нет (Все метки)

я совсем недавно начал работать над ботом сейчас пытаюсь нажать хоть одну клавишу в окне игры, но функция Send просто не срабатывает там и так любое движение мыши то же. Как это можно исправить?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.07.2014, 21:54
Ответы с готовыми решениями:

Создание триггербота для онлайн-шутера APB Reloaded
У меня есть небольшая проблема, ищу триггербот на игру "APB Reloaded" уже очень давно, полно всяких...

Создание бота для онлайн игры
Ищем для работы на постоянной основе программистов , для написания бота для онлайн игры ...

Создание бота для онлайн игры VB 6.0
Здравствуйте) Чтобы хорошо изучить программирование на определенном языке должна быть...

Написания Бота для онлайн игры
В общем, я хочу написать Бота, например для онлайн игры в VK. Мне нужно, чтобы искало...

17
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
27.07.2014, 16:44 2
Кирилл77, мы не экстрасенсы. Код в студию.
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
29.07.2014, 16:23  [ТС] 3
изучаю autoit 3 дня до этого работал в С# год. Сейчас пытаюсь сделать хоть какое-нибудь нажатие мыши все бесполезно, попробовал использовать dll все равно не получается, не то что в игре, а даже в браузере gogle hrome подскажите что я не так делаю, дайте советов...
Код
WinActivate("Кабал Онлайн")
$handle=WinGetHandle("Кабал Онлайн")
$button=0x0001
$leftButtonDown=0x0201
$leftButtonUp=0x0202
Sleep(3000)
DllCall("user32.dll","int","SendMessage","hwnd",$handle,"int",$leftButtonDown,"int",$button)
DllCall("user32.dll","int","SendMessage","hwnd",$handle,"int",$leftButtonUp,"int",$button)
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
29.07.2014, 16:46 4
Кирилл77, паузу хотя бы в 10 мс попробуйте сделать между нажатием и отжатием.
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
29.07.2014, 17:15  [ТС] 5
все-равно не помогло, в игре просто музыка приутихла не надолго все...
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
29.07.2014, 18:41 6
Кирилл77, вообще, для этого есть встроенная функция
Код
MouseClick("button", [x , y, [clicks, [speed]]])
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
29.07.2014, 21:57  [ТС] 7
пробовал в игре не работает, я уже хз что делать...

Добавлено через 51 секунду
вот мой код
Код
#RequireAdmin
WinActivate("Кабал Онлайн")
DllCall("user32.dll","int","SendMessage","hwnd",WinGetHandle("Кабал Онлайн"),"int",MouseClick("left",200,200,1,50))
 Комментарий модератора 
Впредь выделяйте свой код тегами сами.
Делается это так: [code]Здесь код[/code]
Результат:
Код
Здесь код
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
29.07.2014, 22:37 8
Кирилл77, а так?
Код
#RequireAdmin
WinActivate("Кабал Онлайн")
MouseClick("left",200,200,1,50)
То, что Вы написали и не должно работать
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
29.07.2014, 22:53  [ТС] 9
я пробовал так, без результатно. Нужно использовать DllCall, что бы получить доступ к функциям данного приложения... Но это все-равно непомогает, вот и незнаю как быть...
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
29.07.2014, 22:59 10
Кирилл77, в Вашем варианте DllCall функции приложения не трогает. Если я правильно Вас понял, и вы имеете в виду хуки, то вам нужен более продвинутый ЯП, нежели AutoIT.

Кстати, скорее всего, это само приложение блокирует такие финты ушами. Вот и все.
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
29.07.2014, 23:01  [ТС] 11
может на C# попробовать написать...
0
666 / 637 / 335
Регистрация: 26.04.2014
Сообщений: 2,114
31.07.2014, 10:32 12
и вы имеете в виду хуки, то вам нужен более продвинутый ЯП, нежели AutoIT.
Вообще-то AutoIt может делать хуки (через WinAPI)
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
31.07.2014, 14:02 13
alexsamos33, замучаетесь. На AutoIT это совсем уж дико будет выглядеть.
Хотя теоретически, да, DllCallBackRegister, DllCallBackGetPtr и DllCall должны справиться.
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 22
31.07.2014, 18:52  [ТС] 14
DllCall я использовал не помогло, а вот остальные функции нет, надо почитать про них...
0
Pure Free Digital Ghost
4216 / 1676 / 323
Регистрация: 06.01.2013
Сообщений: 4,288
31.07.2014, 18:56 15
Кирилл77, это для передачи колбэка в WinAPI. Сумеете реализовать хук без сторонних библиотек? Уж лучше используйтебиблиотеку mhook.dll, с ней легче. В принципе, может даже и на AutoIT можно будет сделать без особого ущерба мозгу.
0
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 2
22.09.2015, 08:08 16
А слабо по моему нику поискать на буржуйских форумах? копипастить тупо лень
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28025 / 15753 / 971
Регистрация: 15.09.2009
Сообщений: 67,775
Записей в блоге: 78
22.09.2015, 08:17 17
Цитата Сообщение от lokky06 Посмотреть сообщение
копипастить тупо лень
а придется.
0
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 2
22.09.2015, 11:26 18
1) Установим опции SendKeyDownDelay см Справку 20-300 зависит от игры
2)MouseClickDownDelay Продолжительность удержания кнопки мыши стандартное 10 для игр может поребоваться увеличить до 50 пробуте шагом 10
3)MouseClick( "button" [[[,x ,y] ,clicks],speed] ) Очень не выгодно тк работает клик не в окно а в область экрана хотя это крайняя и железно работаюшая мера
4) ControlSend ( "title", "text", controlID, "string" [, flag] ) работает как и SEND но только в нужное окно правильная команда
ControlSend ( "Имяокна", "","", "N" ,0) ;отправит в окно"Имяокна" клавишу N
открываем блокнот делаем :
ControlSend ( "Безымянный - Блокнот","","Edit1","Эта строка сама написалась",0)
для мышки есть древний код Функции

Код
; Function Name:  _MouseClickPlus()
; Version added:  0.1
; Description:    Sends a click to window, not entirely accurate, but works
;                 minimized.
; Parameter(s):   $Window     =  Title of the window to send click to
;                 $Button     =  "left" or "right" mouse button
;                 $X          =  X coordinate
;                 $Y          =  Y coordinate
;                 $Clicks     =  Number of clicks to send
; Remarks:        You MUST be in "MouseCoordMode" 0 to use this without bugs.
; Author(s):      Insolence <insolence_9@yahoo.com>
;
;===============================================================================

Func _MouseClickPlus($Window, $Button = "left", $X = "", $Y = "", $Clicks = 1, $pause)
  Local $MK_LBUTTON       =  0x0001
  Local $WM_LBUTTONDOWN   =  0x0201
  Local $WM_LBUTTONUP     =  0x0202

  Local $MK_RBUTTON       =  0x0002
  Local $WM_RBUTTONDOWN   =  0x0204
  Local $WM_RBUTTONUP     =  0x0205

  Local $WM_MOUSEMOVE     =  0x0200

  Local $i                = 0

  Select
  Case $Button = "left"
     $Button     =  $MK_LBUTTON
     $ButtonDown =  $WM_LBUTTONDOWN
     $ButtonUp   =  $WM_LBUTTONUP
  Case $Button = "right"
     $Button     =  $MK_RBUTTON
     $ButtonDown =  $WM_RBUTTONDOWN
$ButtonUp   =  $WM_RBUTTONUP
EndSelect

If $X = "" OR $Y = "" Then
$MouseCoord = MouseGetPos()
$X = $MouseCoord[0]
$Y = $MouseCoord[1]
  EndIf

For $i = 1 to $Clicks
     DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $WM_MOUSEMOVE, "int", 0, "long", _MakeLong($X, $Y))
Sleep($pause)
     DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $ButtonDown, "int", $Button, "long", _MakeLong($X, $Y))
Sleep($pause)
     DllCall("user32.dll", "int", "SendMessage", "hwnd", WinGetHandle($Window), "int", $ButtonUp, "int", $Button, "long", _MakeLong($X, $Y))
  Next
EndFunc

Func _MakeLong($LoWord,$HiWord)
  Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2015, 11:26

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Начал писать бота для онлайн игры. Не понимаю содержимое пакетов и их построение
Хочу написать бота под онлайн рпг игру. Было несколько вариантов того, как будет работать бот:...

Создание бота для игры
Появилась задача создать бота, в игре 1 vs 1 fight стиле . Бот должен быть достаточно простым, но...

Создание бота для игры Timezero.ru
всем привет , можно ли создать бота для Игры Timezero.ru ? например БОТ автокопалка или...

Создание сервера для онлайн игры
Здраствуйте!Играл я давно в одну онлайн игру (клиент весил еще 200 мб)сейчас хотел поиграть в нее...


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

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

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