Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Вопросы по lua функциям
nikit
сообщение 30.9.2020, 20:47
Сообщение #1


*

Registred
Сообщений: 1
Регистрация: 30.9.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.758
Возраст: 32



Как вызвать функцию left или любую другую функцию для мыши(mouse_pos) с передачей ей в качестве аргумента handler окна?
Код ниже не работает. Клик происходит за пределами окна. kleft тоже не работает.
Код
--lua
local window_handler = findwindow ("MyGame")
if window_handler then    -- если окно найдено
    log("Window is finded")
    local x, y = mouse_pos ("abs")
    log(x, y)
    wait("2s")
    local x, y = mouse_pos(window_handler)
    log("relatives", x, y)
    left(412, 768,  window_handler)
else
    log("Window is not finded")
end


Допустим, со встроенным языком работает такой код:

Код
set #hadler_win Findwindow (MyGame)    // поиск окна 
//dialog 1
left 412, 768 #hadler_win
wait 500
//dialog 2
left 412, 768 #hadler_win
stop_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 30.9.2020, 21:20
Сообщение #2


*****

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



Если такое окно только одно:
local window_handler = findwindow ("MyGame")[1][1]

Сообщение отредактировал Fors1k - 30.9.2020, 21:22


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.10.2020, 1:54
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26691
Пользователь №: 16.971
Возраст: 29



Цитата
local window_handler = findwindow ("MyGame")[1][1]

И сразу получим ошибку если окна нет.
Нужно так:
Код
--lua
local window_handler = findwindow ("MyGame")
if window_handler then    -- если окно найдено
    log("Window is finded")
    local x, y = mouse_pos ("abs")
    log(x, y)
    wait("2s")
    local x, y = mouse_pos(window_handler[1][1])
    log("relatives", x, y)
    left(412, 768,  window_handler[1][1])
else
    log("Window is not finded")
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.4.2024, 3:10
Designed by Nickostyle