|
Подскажите почему move_smooth не работает?, move_smooth в 3D шутере |
|
|
SeregaB |
24.9.2019, 19:29
|
 
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405

|
Столкнулся с проблемой в Lua и обычном коде. В игре Шутере происходит захват мышки и курсор пропадает. Далее программа находит цель и ее координаты (set #x и set #y) После чего идет команта сместить "мышу" move_smooth, но экран не поворачивается. Сам курсор и все нажатия происходят, но экран в игре остается на месте. Может надо как то прописать имитацию кода физической мышки, чтобы экран в игре поворачивался? Такое вообще возможно? Вот сам код на смещение мышки: set #x 250 set #y 300 Move #x #y kleft #x #y // кликнули kleft_down #x #y // зажали ЛКМ set clickoffsetx 500 // смещение для координаты X set clickoffsety 50 // смещение для координаты Y move_smooth #x #y // Переместили курсор get mouse_pos #x #y // нашли курсор kleft_up #x #y end_script
|
|
|
|
|
  |
Ответов
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 все работает.
|
|
|
|
SeregaB |
18.12.2019, 12:20
|
 
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405

|
Цитата(Fors1k @ 16.12.2019, 18:30)  Ну, походу, то, что ты хотел.
Файл закинь в /System32.
Отлично, спасибо, теперь получился поворот экрана, только не понятно что это за файл и как его делать под себя, если понадобятся другие задачи. Как я понимаю, в Пилоте напрямую через DLL нельзя прописать такую функцию?
|
|
|
|
Fors1k |
18.12.2019, 21:14
|

    
Journeyman
Сообщений: 497
Регистрация: 19.12.2017 Группа: Пользователи Наличность: 174
Пользователь №: 18.746

|
Цитата(SeregaB @ 18.12.2019, 12:20)  Отлично, спасибо, теперь получился поворот экрана, только не понятно что это за файл и как его делать под себя, если понадобятся другие задачи.
В смысле как запускать другие функции winapi? Я думал тебе только move был нужен, и написал удобную процедуру именно под него. Можно и универсальную сделать. Для любой функции winapi: call winApi <библиотека> <функция> <параметры(одной переменной)> . А можно и совместить, если move все-таки будет использоваться в коде часто. Пример: Код set $params 1 -300 -250 0 0 call winapi u mouse_event $params // сдвинуть курсор на 300 влево и на 250 вверх wait 1000
call move 300 250 // вернуть курсор обратно (КОРОТКАЯ ЗАПИСЬ) wait 2000 call move 500 500 abs // сдвинуть курсор в 500x500 (КОРОТКАЯ ЗАПИСЬ)
set $params 0 open calc.exe 0 0 1 call winapi s ShellExecuteW $params // запустить калькулятор wait 4000
set $params findwindow('калькулятор') 16 0 0 call winapi u SendMessageW $params // закрыть калькулятор
end_script
//---------------------------------------------
proc winapi $lib $function $params set linedelay 0 switch $lib case u exec winapiexec.exe user32.dll@$function $params break case s exec winapiexec.exe shell32.dll@$function $params break end_switch end_proc proc move #x #y $abs set linedelay 0 set #flags 1 if $abs = abs set #flags 32769 set #x 65536 * #x / screenwidth set #y 65536 * #y / screenheight end_if exec winapiexec.exe u@mouse_event #flags #x #y 0 0 end_proc Цитата(DarkMaster @ 18.12.2019, 12:48)  Скорее всего кстати файлик закинуть можно и просто рядом с пилотом. Ага, можно куда угодно. Просто в s32 удобно, что бы путь не писать каждый раз) Цитата(DarkMaster @ 17.12.2019, 22:51)  Потому что я малость не шарю в винапи
Да я сам впервые вижу этот вин апи, и уже начинаю его недолюбливать))
--------------------
Для связи
|
|
|
|
SeregaB |
23.12.2019, 11:12
|
 
Neophyte
Сообщений: 47
Регистрация: 22.9.2019 Группа: Пользователи Наличность: 0
Пользователь №: 19.405

|
Цитата(Fors1k @ 18.12.2019, 21:14)  Да я сам впервые вижу этот вин апи, и уже начинаю его недолюбливать))
Хоть и впервые, но уже много чего можешь сделать. Я совсем не представляю откуда брать параметры и как это все на деле применять. В разных программах все по разному, конкретного описапия нигде не нашел. Просто с применением WinApi расширяется круг возможностей, пример тому решилась моя задача. Fors1k, единственное есть вопрос, как можно сделать плавное смещение курсора командой call move x y?
|
|
|
|
Сообщений в этой теме
SeregaB Подскажите почему move_smooth не работает? 24.9.2019, 19:29 DarkMaster все сильно зависит от конкретной реализации. Двига... 25.9.2019, 3:46 SeregaB
все сильно зависит от конкретной реализации. Двиг... 4.10.2019, 18:51 SeregaB
все сильно зависит от конкретной реализации. Двиг... 26.9.2019, 10:17 Levo222
Тоесть в первом случае сначала навести курсор на ... 26.9.2019, 14:17 SeregaB
Мне кажется нужно производить это совсем другим и... 26.9.2019, 17:45 Levo222
Какие есть предложения?
Делать через C-шную част... 28.9.2019, 2:54 SeregaB
Тоесть в первом случае сначала навести курсор на ... 26.9.2019, 19:13 FREEON set #poisk findcolor (0, 0 1600, 900 1 1 ... 26.9.2019, 23:27 SeregaB
set #poisk findcolor (0, 0 1600, 900 1 1 ... 27.9.2019, 8:52 DarkMaster
при движении учитывать, что курсор всегда находит... 28.9.2019, 16:58 SeregaB Кто знает как этим пользоваться?
Macro_send - отп... 4.10.2019, 15:41 DarkMaster попробуйте не через макрос, а через скрипт. move 6.10.2019, 22:46 SeregaB
попробуйте не через макрос, а через скрипт. move
... 9.10.2019, 10:22  nykep
Я уже не понимаю, что надо делать
играть в шутер... 15.11.2019, 16:03   SeregaB
играть в шутеры честно, это тебе не корейская ммо... 17.11.2019, 15:02 DarkMaster попробуйте без смещений, так же рекомендую в качес... 9.10.2019, 11:12 SeregaB
попробуйте без смещений, так же рекомендую в каче... 10.10.2019, 12:33 minfin такой же вопрос,
есть подозрение что сервер счит... 15.11.2019, 9:04 DarkMaster
Move не имеет скорости. Он имеет только конечную... 15.11.2019, 11:21 DarkMaster
Вы форумом не ошиблись?) Я не выгоняю ни коем обр... 15.11.2019, 16:22 nykep
Вы форумом не ошиблись?) Я не выгоняю ни коем обр... 15.11.2019, 16:56  Levo222
в чем смысл игры в шутер если не в соревновании?... 15.12.2019, 10:31 Fors1k
играть в шутеры - это не выполнение рутинных дейс... 15.11.2019, 19:29 SeregaB Вот как пример, это я делал бота на проге внутри а... 17.11.2019, 15:16 FREEON ну с весом пилота и его способностями он превосход... 17.11.2019, 17:58 SeregaB
а хочешь автоприцел на андроид то поищи crosshair... 18.11.2019, 10:53 SeregaB
тебе нужно устанавливать autoit 3
Попробовал Aut... 18.11.2019, 18:42  FREEON
Попробовал Autoit 3, тоже не поворачивает командо... 18.11.2019, 23:04   SeregaB
вот те некоторые направления для поиска, далее са... 19.11.2019, 12:47 SeregaB Попробовал через программу <...>, там смещен... 19.11.2019, 14:22 SeregaB Вопрос к знатокам!
Скажите пожалуйста, есль ли... 10.12.2019, 16:35     Fors1k Fors1k, единственное есть вопрос, как можно сделат... 23.12.2019, 19:48      Zenogiasu Очень странно... Такая сверхважная весчь, как пере... 13.1.2023, 9:21 Fors1k set #HWND findwindow ('Твоя игра'... 14.12.2019, 18:18 cirus
Только если написать свою длл, в которой можно ис... 14.12.2019, 18:43 Fors1k
Только если написать свою длл, в которой можно ис... 14.12.2019, 21:47 DarkMaster Fors1k, а это не тот же sendmessage? Через него не... 17.12.2019, 18:10 Fors1k Fors1k, а это не тот же sendmessage? Через него н... 17.12.2019, 18:53 DarkMaster
У меня есть очередной ответ под копирку, который... 17.12.2019, 19:03 Fors1k [quote name='DarkMaster' post='434898' date='17.12... 17.12.2019, 19:49 DarkMaster
Потому что я малость не шарю в винапи, и у меня е... 17.12.2019, 22:51 DarkMaster
Можно.
Скорее всего кстати файлик закинуть можно... 18.12.2019, 12:48 DarkMaster Уверяю все это пишется на ура без плавного перемещ... 13.1.2023, 11:48 Cockney Скорее оффтоп, но все же интересно. А есть ли реше... 13.1.2023, 13:30 DarkMaster готового нет. там есть вопросы по тому какие будут... 13.1.2023, 14:50 Zenogiasu Про плавное перемещение я и не упоминал, там сразу... 14.1.2023, 14:33 Zenogiasu Приветствую авантюристы. Возникла пара вопросов.
к... 29.3.2023, 20:03 Cockney Раньше было такое решение https://forum.uokit.com/... 29.3.2023, 21:42 Zenogiasu
Сейчас лучше lua использовать
:rolleyes:
спс. ... 30.3.2023, 1:38  Cockney
:rolleyes:
спс. согласен. но в печали что это не... 30.3.2023, 10:29 nykep чтоб вернуть обратно записывай все рандомные движе... 30.3.2023, 9:55 Zenogiasu
чтоб вернуть обратно записывай все рандомные движ... 30.3.2023, 16:59 Zenogiasu Здравстуйте. подскажите пожалуйста существует ли п... 25.4.2023, 15:09 cirus Скорость работы скрипта зависит от процессора. 25.4.2023, 17:42 Zenogiasu
Скорость работы скрипта зависит от процессора.
З... 25.4.2023, 21:54 nykep вэйты должны работать как надо независимо от скоро... 27.4.2023, 2:51 cirus
Почитайте как работает Sleep в Windows. Если вкра... 27.4.2023, 13:18 DarkMaster
По большому счету там два возможных шага 16мс на ... 27.4.2023, 18:56 Zenogiasu Хелп. Через проц не ищет почему-то финдколор.
пише... 3.5.2023, 4:28 nykep у тебя результат findcolor записывает в переменную... 3.5.2023, 14:52 Zenogiasu
у тебя результат findcolor записывает в переменну... 8.5.2023, 2:13 nykep похоже что переменные в процедуре считаются локаль... 8.5.2023, 4:31 DarkMaster Одной из целей создания процедур в пилоте было име... 10.5.2023, 15:59 Zenogiasu
Одной из целей создания процедур в пилоте было им... 18.5.2023, 23:54 nykep пишу скрипт 1
wait 1000
log #a.2
скрипт 2
wait 100... 19.5.2023, 23:04 Zenogiasu
Держите для этих целей отдельную вкладку. Использ... 27.5.2023, 20:20 Zenogiasu
пишу скрипт 1
wait 1000
log #a.2
скрипт 2
wait 10... 27.5.2023, 23:20 DarkMaster Держите для этих целей отдельную вкладку. Использу... 20.5.2023, 21:56 DarkMaster
так делать я бы точно не стал. Можно выйти за пре... 28.5.2023, 18:52 Zenogiasu
так делать я бы точно не стал. Можно выйти за пре... 28.5.2023, 22:18 DarkMaster Там схема немного иная. Я где-то описывал найти не... 29.5.2023, 14:30 Zenogiasu
Там схема
подскажите пожалуйста почему код
sende... 18.6.2023, 21:42 DarkMaster Это может быть связано с тем, что данный символ до... 19.6.2023, 0:30 Zenogiasu
Это может быть связано с тем, что данный символ д... 19.6.2023, 8:45 DarkMaster попробуйте заменить
sendex @
на
sendex @{} 19.6.2023, 17:50
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|