UoKit.com Форумы > Кликер > UO Pilot
serega1984
Можно ли привезать скрипт к 2 и боле окнам?
Вверх
cirus
Можно менять рабочее окно.
Код
set #h1 findwindow (окно1) 
set #h2 findwindow (окно2)
set workwindow #h1    // сделать рабочим окно1
// какие-то действия для окна1
set workwindow #h2    // сделать рабочим окно2
// какие-то действия для окна2
end_script

Если действия одинаковые для всех окон, то использовать циклы.

Вверх
serega1984
да для всех окон скрипт одинаковый

set #handle findwindow (44)
set #d findcolor (4, 4 1258, 686 1 1 ( 794, 793, 277,2072,729631, 527 ,1818 ) %arr #handle)
if #d > 0
left %arr [1 1], %arr [1 2]
wait 2s
end_if

всего 6 окон
как зациклить?

Вверх
cirus
Цитата
всего 6 окон
как зациклить?

У окон одинаковое имя или каждое надо искать отдельно?
Вверх
serega1984
разные 1 2 3 4 5 6 7 8
Вверх
cirus
код
Код
set #handle findwindow (111)   // ищем первое окно
set %handle [1] #handle        // записываем в массив
set #handle findwindow (222)   // ищем второе окно
set %handle [2] #handle        // записываем в массив
set #handle findwindow (333)   // и т. д.
set %handle [3] #handle
// т. е.
// %handle [1] - первое окно
// %handle [2] - второе окно
// и т. д.
for #i 1 size(%handle)   // цикл для всех окон
    log %handle[#i]  // хендл окна
    set workwindow %handle[#i]  // сделать окно рабочим
    set #d findcolor (4, 4 1258, 686 1 1 ( 794, 793, 277,2072,729631, 527 ,1818 ) %arr %handle[#i])
    if  #d > 0
        left %arr [1 1], %arr [1 2]
        wait 2s
    end_if
end_for
end_script

Вверх
serega1984
тоесть вот этот скрипт для 3 окон


for #i 1 size(%handle) // цикл для всех окон
log %handle[#i] // хендл окна
set workwindow %handle[#i] // сделать окно рабочим
set #d findcolor (4, 4 1258, 686 1 1 ( 794, 793, 277,2072,729631, 527 ,1818 ) %arr %handle[#i])
if #d > 0
left %arr [1 1], %arr [1 2]
wait 2s
end_if
end_for
end_script

вот это мне запустить надо?
Вверх
cirus
Цитата
вот это мне запустить надо?

Только сначала в массив надо хендлы окон записать.
С циклами всё просто, главное принцип понять.
для примера
Код
set %handle [1] 1312060   // допустим массив с хендлами окон
set %handle [2] 2491692
set %handle [3] 65826

for #i 1 size(%handle)
    log %handle[#i]     #i  
end_for
end_script


Вверх
serega1984
а ещё вапросик такой как можно сделать чтоб скрипт не претормаживал ! а бегал по нужным мне кординатам а то когда бегает дёргается и если на дороге поподается моб он бьёт его и не добегает до пункта нозночения! Можно чтото придумать?
вот скрипт со скрином

send {m}
left 251, 315
send {m}
wait 2s
send {m}
left 241, 319
send {m}
wait 2s
send {m}
left 261, 315
send {m}
wait 2s

send {m} ----------открытие карты
left 251, 315 ------------ клик по координатам на карте
send {m}
wait 2s
send {m}
left 251, 315
send {m}
wait 2s
send {m}
left 251, 315
send {m}
wait 2s

если не сложно можно отет в личку
Вверх
cirus
Видимо надо как-то определять что перс не добежал до нужной точки.
Код
send {m} ----------открытие карты
left 251, 315 ------------ клик по координатам на карте

Лучше бы хоть небольшую паузу поставить после send, не факт что карта успеет открыться до клика. Вообще правильнее проверять что карта открылась, а потом делать клик. Например, с помощью Findimage искать какой-то статичный объект на карте.


Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.