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

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

UoKit.com Форумы _ UO Pilot в онлайн играх _ Repeat

Автор: Vitol 30.6.2019, 14:42

Примерно так, фармит 1 классом, если цвет пропал, то пере заходит(1 раз) на 2 класс и фармит. И если уже у 2 класса цвет пропал(2 раз), то просто закрывает игру и останавливает скрипт. Как это можно редактировать?

set #a findcolor (1514, 226 1514, 226 1 1 (13041149) %a 2 -1 2)
if #a > 0
if 856, 773 16238699
send 6
wait 1000 + random (300)
end_if
if 900, 772 4544639
send 7
wait 1000+ random (300)
end_if
if 950, 774 2569549
send 8
wait 1000 + random (300)
end_if
if 1005, 778 11052710
send 9
wait 1000 + random (300)
end_if
if 978, 777 0
send 0
wait 3000 + random (300)
end_if
send f
wait 450 + random (250)
if 1074, 335 15790320
wait 1000 + random (50)
kleft 1097, 338 abs
wait 1000 + random (50)
kleft 1097, 338 abs
end_if
if_not 15, 825 3554632
right 136, 825
wait 250 + random(50)
left 136, 825
wait 250 + random(50)
left 825, 465
wait 850 + random(50)
end_if
end_if
if_not #a > 0
send f12 //что бы повторил от сих
wait 2000
kleft 791, 472
wait 3800
kleft 305, 888 abs
wait 5000
kleft 1339, 31 abs
wait 10500 //до сих 1 раз, тут надо что-то вроде вернутся к началу скрипта
wait 2500 //если цвет пропал 2 раз, выполнил эту функцию
kleft 1570, -10
end_script //закрывает игру и останавливает скрипт
end_if

Автор: cirus 30.6.2019, 18:06

Если правильно понял что нужно, то примерно так:

Код
set #flag 0
while #flag < 2   // пока переменная #flag меньше 2
    set #a findcolor (1514, 226 1514, 226 1 1 (13041149) %a 2 -1 2)
    if  #a > 0  // если цвет найден
        // нужный код
    else  // иначе
        send f12 //что бы повторил от сих
        wait 2000
        kleft 791, 472
        wait 3800
        kleft 305, 888 abs
        wait 5000
        kleft 1339, 31 abs
        wait 10500 //до сих 1 раз, тут надо что-то вроде вернутся к началу скрипта
        
        set #flag #flag + 1   // увеличиваем переменную на 1
        log #flag  // можно убрать
    end_if
    wait 10
end_while
wait 2500 //если цвет пропал 2 раз, выполнил эту функцию
kleft 1570, -10
end_script //закрывает игру и останавливает скрипт

Изначально переменная #flag равна 0, если цвет не найден, то выполнится код, находящийся в else, переменная #flag увеличится на 1, если цвет щё раз не найдётся, то #flag станет 2, в итоге из цикла while выйдет и выполнится код после end_while.

Автор: Vitol 6.7.2019, 10:32

Сработало, спасибо, а таймер перед всем этим как поставить, скажем что бы скрипт сработал через 120 минут, после того как я его запустил и ушел от компа?

set #flag 0
while #flag < 2 // пока переменная #flag меньше 2
set #a findcolor (1514, 226 1514, 226 1 1 (13041149) %a 2 -1 2)
if #a > 0 // если цвет найден
// нужный код
else // иначе
send f12 //что бы повторил от сих
wait 2000
kleft 791, 472
wait 3800
kleft 305, 888 abs
wait 5000
kleft 1339, 31 abs
wait 10500 //до сих 1 раз, тут надо что-то вроде вернутся к началу скрипта

set #flag #flag + 1 // увеличиваем переменную на 1
log #flag // можно убрать
end_if
wait 10
end_while
wait 2500 //если цвет пропал 2 раз, выполнил эту функцию
kleft 1570, -10
end_script //закрывает игру и останавливает скрипт

Автор: cirus 6.7.2019, 12:10

Цитата
после того как я его запустил и ушел от компа?

Так когда запустили или отошли от компа?
Если первое, то просто wait на 2 часа.
Если второе, то отслеживать движение мыши, если не было движения в течении 2 часов, то выполнить скрипт.

Автор: Vitol 6.7.2019, 13:31

Если я пропишу wait 120min, когда скрипт пойдет по 2 кругу, он будет еще раз ждать 120min или я не правильно понял? Или он, прежде чем дойти до end_script будет ждать опять же эти 120min?

Цитата(cirus @ 6.7.2019, 14:10) *

Так когда запустили или отошли от компа?
Если первое, то просто wait на 2 часа.
Если второе, то отслеживать движение мыши, если не было движения в течении 2 часов, то выполнить скрипт.


Автор: cirus 6.7.2019, 15:34

Код
wait 10000 // ждать 10 секунд
while 1 = 1
    // тут код
    wait 1
end_while

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