Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Nox (родительское окно)

Автор: MaXiS 14.1.2020, 15:17

Подскажите пожалуйста
В ноксе запущена игра, название окна GoGi
лог окон 105056052 -> 721406 -> GoGi

left работает только с 105056052.
при "set #ownerHandle findwindow (GoGi)" получаю 721406
при "set #childHandle getwindow (#ownerHandle child)" получаю 82118428
при "set #newHandle GetWindow (#ownerHandle OWNER)" получаю 0. Варианты <OWNER|CHILD|FIRST|NEXT> перепробовал, никак

Не могу никак получить родительское окно 105056052.

В блюстак нашел окна и родительское и дочернее, но почему то в блюстаке при изменении размера окон иногда не правильно изменяется разрешение, да и нокс шутрее показался.

Автор: DarkMaster 14.1.2020, 15:36

Что-то вы намудрили. Скачайте windowscanner из полезных советов и посмотрите как выглядит дерево окон. Тем не менее в ноксе по поиску по имени находится окно в которое можно посылать лефт, никакие овнеры не требуются. Скорее всего вы где-то запарились. Кстати по логу окон 721406 как раз и является самым вернхним. И в него, уверяю, можно отсылать left, но там будут смещения по координатам. Нужна разница координат 105056052 и 721406. Рекомендую использовать луа и сделать простеньку обертку под клики:

Код

--lua
local my_left = function() end
do
    local offset_x = 10
    local offset_y = 20
    my_left = function(x,y,...)
        left(x + offset_x, y + offset_y, ...)
    end
end

-- Далее просто используем наш лефт
-- как обычный и ни о чем не задумываемся.
my_left(123, 321)

Автор: MaXiS 14.1.2020, 15:46

Точно, смещение заметил указав move для проверки, буду копать дальше ) спасибо DarkMaster

Автор: MaXiS 14.1.2020, 16:12

/del
Буду изучать lua. Хотя смещение можно и плюсовать к координатам без него, как я понял =)

Автор: DarkMaster 14.1.2020, 20:57

Цитата
Хотя смещение можно и плюсовать к координатам без него, как я понял

Можно. Просто я уже привык. Фишка в том, что ты вообще можешь подменить стандартную функцию без модификации скрипта. Типа:
Код

left_orig = left
left = function(...)
   kleft(...)
end

Вот такая подмена за 4 строки.
Код

left_orig = left
left = function(...)
   msg("Для совершения клика необходимо пополнить счет.")
end

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)