UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
FREEON
Ну на время тестов скриптов дал бы вам совет особенно если работаете с циклами это биндить кнопки в пилоте или при помощи плагина KB.zip. Кидать(распаковать) в папку Plugins, которая рядом с пилот должна быть создана. Более полную информацию можете посмотреть тут.

Пример кода который нужно располагать в циклах for while

Код

//УПРАВЛЕНИЕ СКРИПТОМ
if  KB.GetKeyStateByCode(83) = 1  // S - пауза
    wait 1s
    while_not KB.GetKeyStateByCode(83) = 1  // S -- отпустить паузу
        wait 100
    end_while
end_if
if  KB.GetKeyStateByCode(69) = 1  // E - выключить скрипт
    end_script
end_if


Узнать другие коды клавиш плагина для скрипта можно при помощи утилиты Выложил dron4938.
Цитата

да, это два монитора))

тогда проверяйте цвет или область поиска у вас там сканирует область размером 3х1 пикселя
Вверх
Glosha
Цитата(FREEON @ 18.8.2019, 15:32)

Ну на время тестов скриптов дал бы вам совет особенно если работаете с циклами это биндить кнопки в пилоте или при помощи плагина KB.zip. Кидать(распаковать) в папку Plugins, которая рядом с пилот должна быть создана. Более полную информацию можете посмотреть тут.

Пример кода который нужно располагать в циклах for while

Код

//УПРАВЛЕНИЕ СКРИПТОМ
if  KB.GetKeyStateByCode(83) = 1  // S - пауза
    wait 1s
    while_not KB.GetKeyStateByCode(83) = 1  // S -- отпустить паузу
        wait 100
    end_while
end_if
if  KB.GetKeyStateByCode(69) = 1  // E - выключить скрипт
    end_script
end_if


Узнать другие коды клавиш плагина для скрипта можно при помощи утилиты Выложил dron4938.

тогда проверяйте цвет или область поиска у вас там сканирует область размером 3х1 пикселя


откатил систему и все заработало. не знаю точно, но мне кажется багнулось, после того, как ушел в спящий режим с работающим скриптом.
Вверх
Glosha
Цитата(FREEON @ 18.8.2019, 14:49)

Код

set delimiter ' '
init_arr %color 12642802 12642802 12642802  //  цвет в точке 1, цвет в точке 2 ...
init_arr %x 550 560 580                     // координата X в т1, координата X в т2
init_arr %y 180 180 180                     // координата Y в т1, координата Y в т2
set #proverka 0                             // cчетчик проверки цвтов во всех точках
while 1 = 1                                 // зациклили выполнение кода, до тех пор покам нужно
    for #i 1 size(%color)                   // перебираем массив(наши точки а данном случае по размеру цвета)
        log %x[#i], %y[#i] %color[#i]       // показать лог Точки в формате X Y Color
        if  %x[#i], %y[#i] %color[#i]       // Если есть цвет в точке..выполнить действие
            move %x[#i] %y[#i]              // навести мышку на точку(выполнить действие)
            set #proverka 0                 // а также делаем сброс счетчика т.к желаемый результат не достигнут
        else                                // если нет цвета в точке
            set #proverka #proverka + 1     // цвет отсутствует прибавили к счетчику +1
            log #proverka                   // отоброзили в лог состояния счетчика
        end_if                              // конец условия
        if  #proverka >= 3                  // если в 3 точках отсутствует цвет, то...
            break                           // выйти из цикла  for
        end_if
    end_for
    if  #proverka >= 3                      // если в 3 точках отсутствует цвет, то...
        break                               // выйти из цикла  while
    end_if
end_while
end_script



не совсем то, что мне нужно... здесь координаты цвета и клика в одной точки, а мне нужен клик в другой тк, это действие след уровня.
Вверх
FREEON
Цитата(Glosha @ 18.8.2019, 20:48)

не совсем то, что мне нужно... здесь координаты цвета и клика в одной точки, а мне нужен клик в другой тк, это действие след уровня.

мысли читать не умею вы опишите точки где идет поиск и где нужно сделать клик, либо нарисуйте схему... т.к. возможны различные варианты
Вверх
Glosha
Цитата(FREEON @ 18.8.2019, 22:03)

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

есть 3 точки координат цвета, пусть будет: "1, 1" "2, 2" "3, 3" и 3 точки клика "4,4" "5, 5" "6, 6". нужно проверить соотвествие в точках цвета и если его там нет(нужного цвета) сделать клик, вот пример:
цикл
проверка цвета "1, 1"
если нет нужного цвета кликнуть "4, 4"
проверка цвета "2, 2"
если нет нужного цвета кликнуть "5, 5" и тд
и так зациклить пока не будет все 3 точки без нужного цвета.
Вверх
FREEON
Цитата(Glosha @ 18.8.2019, 22:45)

есть 3 точки координат цвета, пусть будет: "1, 1" "2, 2" "3, 3" и 3 точки клика "4,4" "5, 5" "6, 6". нужно проверить соотвествие в точках цвета и если его там нет(нужного цвета) сделать клик, вот пример:
цикл
проверка цвета "1, 1"
если нет нужного цвета кликнуть "4, 4"
проверка цвета "2, 2"
если нет нужного цвета кликнуть "5, 5" и тд
и так зациклить пока не будет все 3 точки без нужного цвета.

Код

set delimiter ' '
init_arr %color 12642802 12642802 12642802  //  цвет в точке 1, цвет в точке 2 ...
init_arr %x 550 560 580                     // координата X в т1, координата X в т2
init_arr %y 180 180 180                     // координата Y в т1, координата Y в т2
init_arr %xx 111 222 333                    // координаты кликов X
init_arr %yy 11 22 33                       // координаты кликов Y
set #proverka 0                             // cчетчик проверки цвтов во всех точках
while 1 = 1                                 // зациклили выполнение кода, до тех пор покам нужно
    for #i 1 size(%color)                   // перебираем массив(наши точки а данном случае по размеру цвета)
        log %x[#i], %y[#i] %color[#i]       // показать лог Точки в формате X Y Color
        if  %x[#i], %y[#i] %color[#i]       // Если есть цвет в точке..выполнить действие
            move %xx[#i] %yy[#i]            // навести мышку на точку(выполнить действие)
            set #proverka 0                 // а также делаем сброс счетчика т.к желаемый результат не достигнут
        else                                // если нет цвета в точке
            set #proverka #proverka + 1     // цвет отсутствует прибавили к счетчику +1
            log #proverka                   // отоброзили в лог состояния счетчика
        end_if                              // конец условия
        if  #proverka >= 3                  // если в 3 точках отсутствует цвет, то...
            break                           // выйти из цикла  for
        end_if
    end_for
    if  #proverka >= 3                      // если в 3 точках отсутствует цвет, то...
        break                               // выйти из цикла  while
    end_if
end_while
end_script

Вверх
Fors1k
Цитата(Glosha @ 18.8.2019, 9:36)
в первом примере не догоняю, где привязывать каждый поиск цвета под свой клик.

Код
set delimiter ' '
init_arr %a (1) "1, 2 3, 4" "5, 6 7, 8" "9, 10 11, 12" "13, 14 15, 16" "17, 18 19, 20" "21, 22 23, 24"
init_arr %b (1) "1 2" "3 4" "5 6" "7 8" "9 10" "11 12" // координаты для клика
while size(%a[1]) > 0
for #i 1 size(%a[1])
    set $a %a[1 #i]
    set #a findcolor ($a 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #a = 0
        set $b %b[1 #i]
        kleft $b
        delete_array %a #i
        delete_array %b #i
        break
    end_if
end_for
end_while
end_script

Вверх
Glosha
спасибо огромное всем за помощь!

пс. подскажите, у меня пилот при составление координат цепляется к размеру кнопки, а не всего окна программы, но у меня там 15 кнопок и все одинакового размера... можно, как-то акцентировать на все окно? или только через "abs"?
Вверх
Glosha
Цитата(Fors1k @ 19.8.2019, 2:30)

Код
set delimiter ' '
init_arr %a (1) "1, 2 3, 4" "5, 6 7, 8" "9, 10 11, 12" "13, 14 15, 16" "17, 18 19, 20" "21, 22 23, 24"
init_arr %b (1) "1 2" "3 4" "5 6" "7 8" "9 10" "11 12" // координаты для клика
while size(%a[1]) > 0
for #i 1 size(%a[1])
    set $a %a[1 #i]
    set #a findcolor ($a 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #a = 0
        set $b %b[1 #i]
        kleft $b
        delete_array %a #i
        delete_array %b #i
        break
    end_if
end_for
end_while
end_script


не работает у меня твой код, все время типо нашел цвет циклит, даже если нет там вообще нечего
Вверх
FREEON
Цитата(Glosha @ 19.8.2019, 10:47)

пс. подскажите, у меня пилот при составление координат цепляется к размеру кнопки, а не всего окна программы, но у меня там 15 кнопок и все одинакового размера... можно, как-то акцентировать на все окно? или только через "abs"?

можно, но это дело случая может сработать а может и нет...но суть такова просто снимаете координаты относительно первого привязанного окна .
Что под этим подразумеваю? ну нам нужно сделать привязку к окну где будем работать. Затем переходим в настройки пилота, далее выпавшем меню нажимаем Настройки, далее вкладка Mouse, Ищем строку Отображать координаты курсора и выбираем Относительные жмем Save. Всё теперь вверху пилота пишутся координаты при смещении курсора. Дале наводим курсор на кнопку но не снимая координаты(не нажимая ctrl+a) и не убирая мышку, переписываем относительные координаты на листик или запоминаем если память хорошая и затем вставляем в свой скрипт.
Ну либо через паинт или некоторые утилиты окна так же можно снимать положение точек относительно точки начала отсчета окна.
Но это либо будет работать либо нет. Есче как вариант можно через название окон кнопок попробовать...но первый это более сложный вариант
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.