Помощь - Поиск - Пользователи - Календарь
Полная версия: Снова про цвета
UoKit.com Форумы > Кликер > UO Pilot > UO Pilot в онлайн играх
Vitol
Что сюда нужно вписать? sad.gif

set #d findcolor (1317, 624 1628, 923 1 1 (16777167) %arr 2 -1 3)
if #d > 0
<-------- //что сюда вписать, что бы он отталкиваясь от этого цвета (16777167) нажал на несколько пикселей влево(27) и вниз (52) левый клик, который прописан далее.
kleft %arr [1 1], %arr [1 2]
wait 250 + random(50)
kleft 821, 503
wait 3000 + random(50)
DarkMaster
set #x %arr [1 1] + 27
set #y %arr [1 2] + 52
kleft #x #y
Vitol
Идиотский вопрос, а можно ли сделать, так что бы он проверял на наличие цвета, 4-5 раз, если не находил, то шел дальше по скрипту? А то упрется в текстуру и бежит на нее sad.gif
DarkMaster
обычно делаю по времени, а не по количеству прогонов.
прогоны:
Код
set #count 0
while #count < 5 and #a < 1
    set #count #count + 1
    set #a findcolor....
    wait 10 // опционально
end_while


По таймеру:
Код
set #timeout timer + 1000
while #timeout > timer and #a < 1
    set #a findcolor....
    wait 10
end_while
Vitol
Что бы это прогнать по таймеру скажем в 10 секунд, как это выглядит? Oo

if 659, 776 15067629 and 668, 790 16251895 //цвет моба и то, что персонаж вне боя
end_if


Так?
set #timeout timer + 10000
while #timeout < timer and #a < 1
if 659, 776 15067629 and 668, 790 16251895 //цвет моба и то, что персонаж вне боя
end_if
end_while
DarkMaster
set #timeout timer + 10000
while #timeout > timer and #a < 1
if 659, 776 15067629 and 668, 790 16251895 //цвет моба и то, что персонаж вне боя
break // выходим из цикла, если нашли.
end_if
end_while
Vitol
Цитата(DarkMaster @ 4.12.2018, 19:25) *

set #timeout timer + 10000
while #timeout > timer and #a < 1
if 659, 776 15067629 and 668, 790 16251895 //цвет моба и то, что персонаж вне боя
break // выходим из цикла, если нашли.
end_if
end_while


Спасибо, помогло, только он теперь не понимает, когда он бежит до цели и еще не в бою и когда он бежит, а она за текстурой blink.gif
DarkMaster
возвращайте какое-нибудь значение через переменную. Подставить перед break
Vitol
Возник еще один вопрос, если есть один из этих цветов и он появляется и не пропадает в течении 2-3 минут, то нужно делать следующее, это вообще реально или я уже на луну улетел?

if 1075, 761 9155021 or 637, 670 16777215 or 637, 648 14672871 (цвета)

сделать это, если один из цветов выше был в данных координатах в течении 2-3 мин.
send M
wait 750 + random(50)
kleft 645, 556
end_if

Думал через timer, но что-то не пойму как sad.gif
cirus
Варианты разные могут быть, в любом случае через таймер. Один из возможных:
Код
set #timeout timer + 3000    // 3 секунды

// ждать пока есть хотя бы один из цветов и не вышло время
while (1075, 761 9155021 or 637, 670 16777215 or 637, 648 14672871) and timer < #timeout
    hint timer < #timeout   // можно убрать
    wait 1
end_while
if timer >= #timeout    // если вышло время
    log +++
end_if
end_script
Vitol
Он берет цвет в координатах 1514, 226 (я так понял). Как сделать так, что бы он взял этот цвет и работал только до тех пор, пока цвет есть в данной координате? Если цвета нет, то завершал скрипт.
P.S. цвет не постоянен.
if #time2 < timer
kleft 1231, 54
wait 1000
sendex @{}
left 1377, 136
wait 500
sendex
sendex @{}
left 1514, 226
wait 500
sendex
get color #color 1514, 226
set #time2 timer 180000000
end_if
if //цвет есть работаем.
end_if
if_not //цвета нет, стоп скрипт
end_script
end_if
Vitol
Я ерунду спросил да?
cirus
Цитата
Как сделать так, что бы он взял этот цвет и работал только до тех пор, пока цвет есть в данной координате?

Код
get color #color 1514, 226    // получить цвет
while 1514, 226 #color  // пока цвет есть
    // тут скрипт
    wait 1
end_while
end_script
Vitol
Цитата(cirus @ 2.8.2019, 3:32) *

Код
get color #color 1514, 226    // получить цвет
while 1514, 226 #color  // пока цвет есть
    // тут скрипт
    wait 1
end_while
end_script




А что так можно было ? Блин спасибо!!!
Vitol
Ребят, взял ноут win 10 с рук, при наведении на цвет, выдает не тот цвет.
Примерно я точно вижу, что цвет синий, он показывает коричневый, это как?
cirus
В параметрах экрана выставить масштаб 100%.
Vitol
Не пойму как сделать правильно goto
Код

while 1207, 139 41466         //оранж цвет на выборе персонажа
    wait 210min
    send {Enter}
end_while
set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
if  #a > 0
    send 1                                         //возвращался сюда
    wait 500 + random (500)
end_if
if_not #a > 0                                
    if  1514, 226 16777215                 //проверил это и если это есть, закрыл его
        kleft 1562, 200 abs
        wait 500
    end_if
    wait 500 + random (250)
    if_not #a > 0                   //но переходил не сюда, а в send 1,если это все еще есть #a > 0
        send f12
        wait 2000
        end_script
    end_if
end_if
cirus
Цитата
как сделать правильно goto

Вообще убрать его. Что пытаетесь сделать?
Vitol
Цитата(cirus @ 10.12.2019, 23:20) *

Вообще убрать его. Что пытаетесь сделать?

Что бы скрипт после того как нажал ко kleft 1562, 200 abs координатам, перешел к if #a > 0,и начал нажимать 1 а не к if_not #a > 0 (закрытие клиента), если после клика по kleft 1562, 200 abs , цвет в #a > 0 остался таким же, скрипт продолжал нажимать 1
Код
while 1207, 139 41466         //оранж цвет на выборе персонажа
    wait 210min
    send {Enter}
end_while
set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
if  #a > 0
    send 1                                         //возвращался сюда
    wait 500 + random (500)
end_if
if_not #a > 0                                
    if  1514, 226 16777215                 //проверил это и если это есть, закрыл его
        kleft 1562, 200 abs
        wait 500
    end_if
    wait 500 + random (250)
    if_not #a > 0                   //но переходил не сюда, а в send 1,если это все еще есть #a > 0
        send f12
        wait 2000
        end_script
    end_if
end_if
cirus
Код
while 1207, 139 41466         //оранж цвет на выборе персонажа
    wait 210min
    send {Enter}
end_while

while 1 = 1
    set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
    if  #a > 0    // если найдено
        send 1
        wait 500 + random (500)
    else    // если не найдено
        if  1514, 226 16777215
            kleft 1562, 200 abs
            wait 500
        end_if
    end_if

    wait 500
end_while
// если нужно выйти с цикла, в нужном месте break
Vitol
Если нужно send f12, то как? Мне же нужно, закрыть ее, если вдруг цвет #a пропал, после клика по abs.

while 1207, 139 41466 //оранж цвет на выборе персонажа
wait 210min
send {Enter}
end_while

while 1 = 1
set #a findcolor (1514, 226 1514, 226 1 1 (12712440) %a 2 -1 2)
if #a > 0 // если найдено
send 1
wait 500 + random (500)
else // если не найдено
if 1514, 226 16777215
kleft 1562, 200 abs
wait 500
end_if
end_if

wait 500
end_while
while_not #a > 0 //но переходил не сюда, а в send 1,если это все еще есть #a > 0
send f12
wait 2000
end_script
end_while
Vitol
Как сделать, что бы после клика(kleft 1562, 200 abs)цвета, если цвет остался ( #a > 0), то он начал делать пункт 1 атака. А не закрыл клиент
Код

while 1207, 139 41466         //оранж цвет на выборе персонажа
    wait 210min
    send {Enter}
end_while
set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
if  #a > 0
    send 1                                         //пункт 1 атака
    wait 500 + random (500)
end_if
if_not #a > 0                                   //если цвет пропал
    if  1514, 226 16777215                 //если на его месте появился этот цвет
        kleft 1562, 200 abs                  //клик сюда, появившийся цвет пропал
        wait 500
    end_if
    wait 500 + random (250)
    if_not #a > 0                             //если после клика(kleft 1562, 200 abs)цвета не стало,клиент закроется
        send f12
        wait 2000
        end_script
    end_if
end_if

P.S объясняю как дурак я, извините
Fors1k
Цитата(Vitol @ 10.12.2019, 21:52) *
Мне же нужно, закрыть ее, если вдруг цвет #a пропал, после клика
Vitol,В конце кода подсказка:
Цитата(cirus @ 10.12.2019, 21:45) *
// если нужно выйти с цикла, в нужном месте break
Код
while 1207, 139 41466   //оранж цвет на выборе персонажа
    wait 210min
    send {Enter}
end_while

while 1 = 1
    set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
    if  #a > 0          // если найдено
        send 1
        wait 500 + random (500)
    else                // если не найдено
        if  1514, 226 16777215
            kleft 1562, 200 abs
            1500
            set #a findcolor (1514, 226 1514, 226    1 1 (12712440)   %a  2 -1 2)
            if #a < 1
                break   // выходим, если цвет #a не появился после клика
            end_if
        end_if
    end_if
end_while
send f12                // закрыть клиент
end_script
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.