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

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

UoKit.com Форумы _ UO Pilot в онлайн играх _ Снова про цвета

Автор: Vitol 2.12.2018, 9:18

Что сюда нужно вписать? 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 2.12.2018, 10:42

set #x %arr [1 1] + 27
set #y %arr [1 2] + 52
kleft #x #y

Автор: Vitol 4.12.2018, 16:41

Идиотский вопрос, а можно ли сделать, так что бы он проверял на наличие цвета, 4-5 раз, если не находил, то шел дальше по скрипту? А то упрется в текстуру и бежит на нее sad.gif

Автор: DarkMaster 4.12.2018, 16:47

обычно делаю по времени, а не по количеству прогонов.
прогоны:

Код
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 4.12.2018, 17:19

Что бы это прогнать по таймеру скажем в 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 4.12.2018, 17:25

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

Автор: Vitol 4.12.2018, 18:53

Цитата(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 4.12.2018, 19:00

возвращайте какое-нибудь значение через переменную. Подставить перед break

Автор: Vitol 15.3.2019, 22:46

Возник еще один вопрос, если есть один из этих цветов и он появляется и не пропадает в течении 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 16.3.2019, 1:44

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

Код
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 1.8.2019, 15:19

Он берет цвет в координатах 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 1.8.2019, 17:45

Я ерунду спросил да?

Автор: cirus 2.8.2019, 1:32

Цитата
Как сделать так, что бы он взял этот цвет и работал только до тех пор, пока цвет есть в данной координате?

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

Автор: Vitol 2.8.2019, 20:04

Цитата(cirus @ 2.8.2019, 3:32) *

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




А что так можно было ? Блин спасибо!!!

Автор: Vitol 16.8.2019, 21:51

Ребят, взял ноут win 10 с рук, при наведении на цвет, выдает не тот цвет.
Примерно я точно вижу, что цвет синий, он показывает коричневый, это как?

Автор: cirus 17.8.2019, 1:22

В параметрах экрана выставить масштаб 100%.

Автор: Vitol 10.12.2019, 18:24

Не пойму как сделать правильно 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 10.12.2019, 21:20

Цитата
как сделать правильно goto

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

Автор: Vitol 10.12.2019, 21:35

Цитата(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 10.12.2019, 21:45

Код
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 10.12.2019, 21:52

Если нужно 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 10.12.2019, 22:46

Как сделать, что бы после клика(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 11.12.2019, 2:06

Цитата(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 (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)