|
|
|
Вопрос по луа |
|
|
dron4938 |
1.3.2018, 12:34
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Цитата(cirus @ 1.3.2018, 11:47) код
Код --lua require("Kbd")
--===== все функции можно загружать через require ==== function F1() while Key_Press() == 0 do -- пока не нажата кнопка, если F1 выйдет из функции log (1) wait (30) -- этот код выполняется при нажатии F1 end end
function F2() while Key_Press() == 0 do -- пока не нажата другая кнопка, если F2 выйдет из функции log (2) wait (30) -- этот код выполняется при нажатии F2 end end
function F3() while Key_Press() == 0 do -- пока не нажата другая кнопка, если F3 выйдет из функции log (3) wait (30) -- этот код выполняется при нажатии F3 end end
function Key_Press() -- функция для отслеживания нажатий, чтобы выйти из текущей функции for i = 1, #arr do if Kbd.IsKeyPress(arr[i]) then return 1 end wait (1) end return 0 end --===========
arr={112, 113, 114} -- какие клавиши отслеживать, 112(F1), 113(F2) и т. д. t={F1, F2, F3} -- таблица с функциями while 1 do for i = 1, #arr do if Kbd.IsKeyPress(arr[i]) then -- если нажата клавиша time = os.clock () + 0.5 -- если кнопка зажата на 0.5 секунды, то функция тоже выполнится while Kbd.IsKeyPress(arr[i]) and os.clock() < time do wait (10) end -- ждём когда кнопка будет отпущена или зажата на 0.5 секунды t[i]() -- вызываем нужную функцию t[1] - при нажатии F1, t[2] - при нажатии F2 while Kbd.IsKeyPress(arr[i]) do wait (10) end -- ждём когда кнопка будет отпущена end wait (1) end end При нажатии F1 пишет в лог 1, до тех пор пока не будет нажата другая клавиша (тогда будет вызвана другая функция) или снова не нажата F1 (тогда выйдет из функции). При нажатии F2 пишет 2, F3 пишет 3. Так отлично работает, спасибо)
|
|
|
|
dron4938 |
3.3.2018, 14:31
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
--lua a = findimage (0, 0, 1920, 1080, "(C:\\pilot\\111.bmp)", "%arr", 2, 80, -1, 5) -- возвращает тип данных string hint (a) if tonumber(a) > 0 then -- поэтому для сравнения с числом переводим строку в число move (arr[1][1], arr [1][2]) -- навести курсор на картинку end
как навести курсор на картинку не в (0 0) коодинаты, а со смещением?
|
|
|
|
cirus |
7.3.2018, 18:07
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26691
Пользователь №: 16.971
Возраст: 29
|
Цитата Лог принимает до 10 параметров До 20, если не ошибаюсь, также как findcolor/findimage. Цитата двоеточие это тоже самое что запятая? Это две точки, а не двоеточие (IMG: style_emoticons/default/smile.gif) По сути это склеивание переменных в одну строку. Код --lua arr = {"01","02","03"} a=666 log "clear" log "mode compact"
string = arr[1] .. arr[2] .. arr [3] .. a log (string) Цитата А как на луа будет get mouse_pos #x #y. Пока Кнайт не сделает никак.
|
|
|
|
dron4938 |
7.3.2018, 18:26
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Цитата(cirus @ 7.3.2018, 18:07) Пока Кнайт не сделает никак.
Пичалька( а можно условие задать по типу если кликнул в указанные координаты? if left (0, 0, 100, 100) then end или так как то while Kbd.IsKeyPress(Kbd.LMB) and move (0, 0, 100, 100) do end
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|