|
CapsLock On, Проверка статуса нажатия/включения |
|
|
Levo222 |
26.2.2019, 0:55
|
    
Journeyman
Сообщений: 411
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 15
Пользователь №: 18.689

|
Задача сделать клавишу автобега в игре где её нет. Проверка включены ли статусные клавиши и автонажатие клавиш движения Скрипт определения включенности Caps Lock X2t
У кого-то может работать send217_down/send_down, у меня работает только sendex_down/up, ввиду несостыковки системы с Lua Код --lua do local back = package.path package.path = "luaPlugins\\winapi\\?.lua;"..package.path setfenv(1, require'winapi') require[[winapi.keyboard]] package.path = back end
-- Поолучаем состояние клавиши: -- state - нажата/отжата -- toggle - для лампочек горит/не горит. local pressed_down = false while 1 do local state, toggle = GetKeyState(0x14) log(tostring(state),tostring(toggle)) if toggle then -- горит капс log("CapsLock on") if not pressed_down then log("not pressed_down") log("Зажимаю W") log("Ждём 3 сек") --send217_down ("w") sendex_down ("w") pressed_down = true end else if pressed_down then --send217_up ("w") sendex_up ("w") pressed_down = false end end wait (100) end
-- РЕШЕНО --
|
|
|
|
|
  |
Ответов
DarkMaster |
26.2.2019, 1:44
|
          
Модератор UOPilot
Сообщений: 9.764
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29942
Пользователь №: 11.279

|
Есть хорошая новость - я научился из луа дергать состояние клавиш и капса в том числе: Код do -- У меня пути не стандартные, чтобы избежать свинарника. -- Поэтому тут есть пара "лишних" строк. -- Сохраняем _текущие_ пути по которым ищутся модули. local back = package.path -- Дописываю путь по которому у меня лежат модули. package.path = "luaPlugins\\winapi\\?.lua;"..package.path -- Подгружаем собственно модуль. -- Хз почему, но грузить нужно именно так. -- Просто require'winapi' не пашет. setfenv(1, require'winapi') -- Подгружаем кусок отвечающий за клавиатуру require[[winapi.keyboard]] -- Возвращаем пути поиска модулей на исходные. package.path = back end
-- Поолучаем состояние клавиши: -- state - нажата/отжата -- toggle - для лампочек горит/не горит. local state, toggle = GetKeyState(0x14) log(tostring(state),tostring(toggle)) Плохая новость в том, что это тут никак не поможет) Пошел искать выдергивание статуса дальше.
If the low-order bit is 1, the key is toggled. A key, such as the CAPS LOCK key, is toggled if it is turned on. The key is off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any) on the keyboard will be on when the key is toggled, and off when the key is untoggled. Оригинальненько, учитывая, что возвращается true/false... Ну и битовые операторы подтягивать тоже забавно =\Отбой панике - возвращается вторым параметром. Код поправил. Тебя интересует в данном случае toggle. Дерагать либы отсюда: https://luapower.com/winapi/downloadhttps://luapower.com/glue/downloadВторая необходима для работы winapi. Будь внимателен с адресами. У меня все это дело лежит по адресу luaPlugins\winapi, что явным образом указывается при подргузке либы (потом адреса поиска возвращаются в исходное состояние). Сообщение отредактировал DarkMaster - 26.2.2019, 2:00
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Levo222 |
13.9.2025, 9:40
|
    
Journeyman
Сообщений: 411
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 15
Пользователь №: 18.689

|
Цитата(DarkMaster @ 26.2.2019, 5:44)  Есть хорошая новость - я научился из луа дергать состояние клавиш и капса в том числе: Дерагать либы отсюда: https://luapower.com/winapi/downloadhttps://luapower.com/glue/downloadА теперь откуда? Потерял все скрипты, появилась необходимость кое-что восстановить. В чистом пилоте night version, 15.05.2021 Release 34093 так понимаю нет этих библиотек? Цитата 65848 -> FolderView 13:50:13 0 (Klicked_Auto_0.txt, 0): a runtime error. 5: module 'winapi' not found: no field package.preload['winapi'] no file 'luaPlugins\winapi\winapi.lua' no file '.\winapi.lua' no file 'C:\Users\admin\Downloads\uopilot_241_b004\lua\winapi.lua' no file 'C:\U
Короче может без библиотек есть возможность закликать досмерти левую мышку чтобы пальцем этого не делать? Только ключ включения/выключения нужен, на сам пилот нажимать в этот момент нет возможности.
|
|
|
|
Levo222 |
13.9.2025, 12:07
|
    
Journeyman
Сообщений: 411
Регистрация: 18.11.2017 Группа: Пользователи Наличность: 15
Пользователь №: 18.689

|
Цитата(Levo222 @ 13.9.2025, 13:40)  Короче может без библиотек есть возможность закликать досмерти левую мышку чтобы пальцем этого не делать? Только ключ включения/выключения нужен, на сам пилот нажимать в этот момент нет возможности.
Ой ладно попроще, -при нажатии на 9 -произвести 100 кликов мышкой с интервалом в 100с мс че-то локальные переменные не объявляются, глобальные тоже Цитата --lua require"lua_system\\init"
pressed_down = false -- вот это вот не объявляется не локально не глобально while 1 do local x, y = mouse_pos () -- получить координаты state, toggle = keystate(0x14) if toggle then -- горит капс if not pressed_down then --send217_down ("w") --kleft (x, y) -- клик kleft --(mouse_pos()) --input --sendex_down ("w") pressed_down = true end else if pressed_down then --send217_up ("w") --sendex_up ("w") pressed_down = false end end wait (100) end Цитата Код pressed_down = false while 1 do 16:24:15 1 (autosaved_1.txt, 0): syntax error during precompilation. 16: '=' expected near 'pressed_down' --lua require"lua_system\\init"
pressed_down = false while 1 do
|
|
|
|
Сообщений в этой теме
Levo222 CapsLock On 26.2.2019, 0:55 sutra Нужно подключить уже готовую библиотеку по обработ... 26.2.2019, 1:26 Levo222
Нужно подключить уже готовую библиотеку по обрабо... 26.2.2019, 7:05 Levo222
Если lua - придётся забыть про goto,
Да и .... 26.2.2019, 14:56 Levo222
по адресу luaPlugins\winapi
Кириллица не п... 26.2.2019, 7:17 Levo222
Есть хорошая новость - я научился из луа дергать ... 27.2.2019, 1:13 sutra ВО! Ваще ничего не понял, но прогресс очевиден... 26.2.2019, 1:45 DarkMaster Либы написаны на чистом lua с использованием fii. 26.2.2019, 1:53 sutra
Браво, Дарк! Мастер! Интересно, думаю, кр... 26.2.2019, 1:57 cirus
Изменить на log кто не догадается сам. 26.2.2019, 1:58 sutra Угадал, только Сайрус! 26.2.2019, 2:01 DarkMaster
Да я запарился уже их туда-сюда писать, поэтому у... 26.2.2019, 2:02 sutra Вот эта фраза мне нравится больше всего. Хз, ткнул... 26.2.2019, 2:05 DarkMaster
Взял из демки в доках к либе. Распутывать всю либ... 26.2.2019, 2:12 sutra В этом и заключается профессионализм. Знаешь где в... 26.2.2019, 2:42 FREEON
Всех нас точно победит искусственный интеллект, е... 26.2.2019, 11:45  Levo222
Страх которому не суждено сбыться
End
которой ... 26.2.2019, 12:10  Levo222 ...
Как удалить то сообщение ниче не могу понять 26.2.2019, 12:45 Levo222
эрудиция в ближайшем будущем, будет важнее интелл... 26.2.2019, 13:32 sutra Оверлеи, кэши, хеши. Что-то уже история, что-то пр... 26.2.2019, 3:14 xolost
Оверлеи, кэши, хеши. Что-то уже история, что-то п... 26.2.2019, 4:01 sutra
Абсолютно логично, он же умный, а я ... не очень,... 26.2.2019, 4:06 xolost
Абсолютно логично, он же умный, а я ... не очень,... 26.2.2019, 4:13 cirus
2.41.
Нет. Он должен быть как в примере и на яз... 26.2.2019, 11:15 Levo222
2.41.
26.2.2019, 11:23 DarkMaster
winapi сам подтянет glue.
Я вообще ярый сторонни... 26.2.2019, 11:31 DarkMaster
Я не могу понять откуда оно у вас. Попробуйте уда... 26.2.2019, 15:07 Levo222
Я не могу понять откуда оно у вас. Попробуйте уда... 26.2.2019, 15:24  FREEON ...
Как удалить то сообщение ниче не могу понять ... 26.2.2019, 15:43 DarkMaster
Ну программирование оно вообще все из подключения... 26.2.2019, 15:47 Levo222
о и пути писать, но я еще раз говорю - я сторонни... 26.2.2019, 15:57 sutra Ну у меня то страха нет. А вот то, что народ потих... 26.2.2019, 15:54 Levo222 Log
14:15:01 1 (autosaved_1.txt, 1... 27.2.2019, 10:17 DarkMaster
Самый простой способ - блок do end в шапку. Далее... 27.2.2019, 10:18 Levo222
Самый простой способ - блок do end в шапку. Далее... 27.2.2019, 10:38 DarkMaster while 1 do
local state, toggle = GetKeyState... 27.2.2019, 11:05 Levo222
break был написан с ошибкой, аккуратно.
--Lua
Er... 27.2.2019, 11:13 cirus
Первой строкой скрипта должно быть --lua.
Удалить... 27.2.2019, 11:46 Levo222 Зависает на строке
package.path = back
и пишет в ... 27.2.2019, 12:02 cirus Пилот с нужными файлами 27.2.2019, 12:07 Levo222
Пилот с нужными файлами
Ниче не понимаю
(a... 27.2.2019, 12:22 DarkMaster Код полный дайте. Где-то проущенно = 27.2.2019, 12:23 Levo222
Код полный дайте. Где-то проущенно =
--lua
do
l... 27.2.2019, 12:25 DarkMaster Сохраняйте форматирование. От этого очень много ош... 27.2.2019, 12:28 Levo222
Сохраняйте форматирование. От этого очень много о... 27.2.2019, 12:33 DarkMaster
Это паттерн для добавления пути загрузки. Вместо ... 27.2.2019, 12:37 Levo222
Вы используете пилот cirus'a? Распаковали в о... 27.2.2019, 12:39 DarkMaster
с маленькой буквы
send217_down ("W") 27.2.2019, 13:07 Levo222
с маленькой буквы
send217_down ("W")
Н... 27.2.2019, 13:11 cirus
Отпускать клавишу кто будет? 27.2.2019, 13:27 DarkMaster
Что?
Очень похоже на криво сделанную привязку.
... 27.2.2019, 13:27 Levo222
Вы можете убедиться в этом поместив:
local state... 27.2.2019, 13:30 DarkMaster --lua
do
local back = package.path
package.path ... 27.2.2019, 13:58 Levo222
[code]--lua
do
local back = package.path
packag... 27.2.2019, 14:01 DarkMaster do
local back = package.path
package.path = ... 27.2.2019, 14:09 Levo222
Для начала их там два должно писаться. Первый гов... 27.2.2019, 14:13 DarkMaster Какое? ТЗ дайте тогда четкое.
На данный момент при... 27.2.2019, 14:18 Levo222
Какое? ТЗ дайте тогда четкое.
На данный момент пр... 27.2.2019, 14:21 DarkMaster
p_d - это переменная. В ней может быть только зна... 27.2.2019, 14:43 Levo222
Что происходит? У меня вообще проблем не возникае... 27.2.2019, 14:48 cirus Начните с самого простого:
--lua
do
local back = ... 27.2.2019, 14:48 Levo222
Начните с самого простого:
[code]--lua
do
local ... 27.2.2019, 14:51 cirus
А оно вообще в приложении работает? Может какой-н... 27.2.2019, 15:14 Levo222
А оно вообще в приложении работает? Может какой-н... 27.2.2019, 15:15 DarkMaster а без 217? 27.2.2019, 17:29 Levo222
а без 217?
Нет.
Без 217
Но пойдёт и так, если ко... 27.2.2019, 19:17 DarkMaster Пилот запущен от админа? Проверьте - это новый exe... 27.2.2019, 19:54 Levo222
Пилот запущен от админа? Проверьте - это новый ex... 27.2.2019, 23:41 Levo222
Пилот запущен от админа? Проверьте - это новый ex... 28.2.2019, 6:42 DarkMaster Я вижу лишь удаленный в корзину какой-то файл. У м... 28.2.2019, 13:28 Levo222
Я вижу лишь удаленный в корзину какой-то файл. У ... 28.2.2019, 17:36 DarkMaster
Ввиду потенциального риска безопасности, позвольт... 28.2.2019, 17:45 Levo222
Ввиду потенциального риска безопасности, позвольт... 28.2.2019, 18:13 DarkMaster
Есть гораздо более популярные и распространненые ... 28.2.2019, 19:29 Levo222 Да, ладно х с ним. Продолжим дискуссию тут. Всё же... 28.2.2019, 19:59 DarkMaster интересный факт. Если мы проверяем состояни мыши (... 6.3.2021, 23:00 Fors1k эвентам клавиш, а не по проверке состояний?
Лови... 7.3.2021, 4:15 DarkMaster Нет ибо с точно таким же успехом я могу крутить wh... 7.3.2021, 10:56 Cockney
Нет ибо с точно таким же успехом я могу крутить w... 7.3.2021, 14:56 DarkMaster попробуйте вот это
https://forum.uokit.com/index.p... 13.9.2025, 10:06 Levo222
попробуйте вот это
https://forum.uokit.com/index.... 13.9.2025, 10:47 DarkMaster https://forum.uokit.com/index.php?showtopic...amp;... 13.9.2025, 19:22 Levo222
https://forum.uokit.com/index.php?showtopic...amp... 13.9.2025, 20:13 DarkMaster всмысле не присваивается? Дайте минимальный полный... 13.9.2025, 21:17 Levo222
Дайте минимальный полный код для воспроизведения.... 14.9.2025, 9:56 DarkMaster
скобки где? 13.9.2025, 22:10 DarkMaster
код не запускается. во-первых скобки, во-вторых... 14.9.2025, 10:24 Levo222
keystate является частью kbd.
В СПРАВКЕ ОБ ЭТО... 14.9.2025, 10:56 Levo222 ДА вы известны)
---
### Как запустить:
1. Ск... 14.9.2025, 12:20 DarkMaster
это не так. ничего не модифицированни, require и ... Вчера, 0:42 DarkMaster --lua
require "lua_system\\init... Вчера, 0:58
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|