|
|
|
Подскажите почему move_smooth не работает?, move_smooth в 3D шутере |
|
|
Fors1k |
15.11.2019, 19:29
|
Journeyman
Сообщений: 497
Регистрация: 19.12.2017 Группа: Пользователи Наличность: 2398
Пользователь №: 18.746
|
Цитата(nykep @ 15.11.2019, 16:03) играть в шутеры - это не выполнение рутинных действий сутками напролет.
Ну, в целом согласен. Пилот нужен для решения(имитации выполнения) рутинных, нудных задач, где не увлекателен сам процесс. Как в шутере может быть неувлекательным процесс прицеливания и стрельбы, если это и есть сама суть шутера?!:)) Возможно нужно сменить саму игру, если она такая неинтересная, что аж хочется попросить пилота поиграть за тебя. Звучит абсурдно, как если бы девушка написала "приезжай, у меня никого нет дома", то наверное поедешь сам, а не станешь кого-то просить вместо себя)(IMG: https://forum.uokit.com/style_emoticons/default/smile.gif)
--------------------
Для связи
|
|
|
|
SeregaB |
17.11.2019, 15:02
|
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405
|
Цитата(nykep @ 15.11.2019, 16:03) играть в шутеры честно, это тебе не корейская ммо где игроки соревнуются у кого бот лучше и не выполнение рутинных действий сутками напролет.
Вот ссылка, где один товарищ сделал бота на мою игру, полноценное прицеливание у него не получилось, но он как то смог сделать поворот влево и вправо Ссылка это не реклама, а просто хочу показать, что это возможно сделать какими-то командами. Предполагаю, что бота делали на программе Кибор Аналогичного бота я делал для платформы андройд, там точное прицеливание работает без проблем. Но вот с ПК версией на Steam возникает проблема. Как ее решить пока не знаю.
|
|
|
|
SeregaB |
18.11.2019, 10:53
|
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405
|
Цитата(FREEON @ 17.11.2019, 17:58) а хочешь автоприцел на андроид то поищи crosshair
Как я понял crosshair это специальное устройство, которое эмулируем мышку, такой вариант не подходит для работы внутри эмулятора или на андройд устройстве, тк нужно, чтобы бот играл самостоятельно. С autoit 3 надо пробовать, спасибо за совет.
|
|
|
|
SeregaB |
18.11.2019, 18:42
|
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405
|
Цитата(FREEON @ 17.11.2019, 17:58) тебе нужно устанавливать autoit 3
Попробовал Autoit 3, тоже не поворачивает командой MouseMove (x, y, speed) speed ставил = 0 и больше
|
|
|
|
SeregaB |
19.11.2019, 12:47
|
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405
|
Цитата(FREEON @ 18.11.2019, 23:04) вот те некоторые направления для поиска, далее сам искай чо как куда. Pixel Aim BotИменно отсюда и брал пример. В самой игре видимо есть какая-то блокировка, либо нужен какой-то особый способ ввода команды для смещения. Я пока не понял как это обойти.
|
|
|
|
SeregaB |
13.12.2019, 20:40
|
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405
|
Нашел такую функцию и она работает, правда в другой программе. Экран поворачивается на заданное растояние Код Func _MouseMovePlus($X, $Y,$absolute = 0) Local $MOUSEEVENTF_MOVE = 1 Local $MOUSEEVENTF_ABSOLUTE = 32768 DllCall("user32.dll", "none", "mouse_event", _ "long", $MOUSEEVENTF_MOVE + ($absolute*$MOUSEEVENTF_ABSOLUTE), _ "long", $X, _ "long", $Y, _ "long", 0, _ "long", 0) EndFunc
Так тоже работает Код Func _MouseMovePlus($X, $Y,$absolute = 0) Local $MOUSEEVENTF_MOVE = 1 DllCall("user32.dll", "none", "mouse_event", _ "long", $MOUSEEVENTF_MOVE, _ "long", $X, _ "long", $Y, _ "long", 0, _ "long", 0) EndFunc
Скажите пожалуйста, как подобное можно реализовать в Пилоте? Как я и предполагал, через вызов DDL все работает.
|
|
|
|
Fors1k |
14.12.2019, 21:47
|
Journeyman
Сообщений: 497
Регистрация: 19.12.2017 Группа: Пользователи Наличность: 2398
Пользователь №: 18.746
|
Цитата(cirus @ 14.12.2019, 18:43) Только если написать свою длл, в которой можно использовать любые функции winapi.
Ведь это же, полагаю, вполне возможно реализовать в самом пилоте без длл, если sendmessage уже в нем присутствует, то и функции, думаю, можно добавить, в грядущей версии? (ну вопрос, думаю, больше к wknight, хотя по предложениям нововведений в последнее время - молчок (что тут, что в отдельных темах)(IMG: https://forum.uokit.com/style_emoticons/default/sad.gif)). Цитата(cirus @ 14.12.2019, 18:43) пример как выделить текст в блокноте code
Код // не забыть про привязку к окну Ctrl+A
set #WM_MOUSEMOVE 512 set #WM_LBUTTONDOWN 513 set #WM_LBUTTONUP 514 set #MK_LBUTTON 1
// координаты выделения set #x 0 set #y 0 set #x2 300 set #y2 300
set #lparam #x + #y * 65536 set $s sendmessage (workwindow #WM_LBUTTONDOWN #MK_LBUTTON #lparam) // зажать левую кнопку мыши wait 200 set #lparam #x2 + #y2 * 65536 set $s sendmessage (workwindow #WM_MOUSEMOVE 0 #lparam) // переместить курсор wait 200 set $s sendmessage (workwindow #WM_LBUTTONUP 0 #lparam) // отпустить левую кнопку мыши end_script Круто, работает.
--------------------
Для связи
|
|
|
|
Fors1k |
17.12.2019, 18:53
|
Journeyman
Сообщений: 497
Регистрация: 19.12.2017 Группа: Пользователи Наличность: 2398
Пользователь №: 18.746
|
Цитата(DarkMaster @ 17.12.2019, 18:10) Fors1k, а это не тот же sendmessage? Через него не работает?
Не очень понял вопрос) Есть функция sendmessage(...), есть mouse_event(...), есть и другие - все это отдельные независимые функции. Каждая вызывается по своему имени и со своим личным набором параметров. Если ты хотел спросить одно ли и тоже выполнит sendmessage(#HWND #WM_MOUSEMOVE ...) и mouse_event(#flags #x #y ...), то, как подсказывает нам практика и cirus - нет:
Цитата(cirus @ 14.12.2019, 18:43) Это ( sendmessage(#HWND #WM_MOUSEMOVE ...) ) эмуляция перемещения, не захватывает курсор в отличии от mouse_event.
В пилоте доступна только одна функция из всего winapi, с записью: set $s sendmessage (#HWND #msg #wparam #lparam), хотя куда более ожидаем доступ ко всему winapi с записью типа: set $s callwinapi( sendmessage #HWND #msg #wparam #lparam) set $s callwinapi( mouse_event #flags #x #y 0 0) set $s callwinapi( EnableWindow #hWnd #bEnable ) и т.д. Цитата(DarkMaster @ 17.12.2019, 18:10) Может быть тогда можно воспользоваться виндовым rundll?
Rundll32, к сожалению, здесь не помощник, так как он создавался майкрософтом не для пользователей, а для самих себя, и работает не со всеми библиотеками и функциями.=( В связи с этим, еще сильнее напрашивается реализация доступа в пилоте не только к sendmessage, а к winapi целиком. Только не знаю уже куда писать пожелания, так как в ответ везде тишина((
--------------------
Для связи
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|