Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как выйти из цикла?

Страниц (1): [1]
 

1. Budni - 23 Февраля, 2019 - 11:24:21 - перейти к сообщению
Как выйти из этого цикла когда будет найден объект? куда break; поставить?
looptime(30000) {if (click()==1) finde();}
2. Zireael - 23 Февраля, 2019 - 11:31:46 - перейти к сообщению
CODE:
looptime(30000)
{
if (click()==1)
{
if(finde()==1)break; // если finde() вернула 1
}
}

Или так:
CODE:
looptime(30000)
{
if (click()) // функция должна возвращать не 0 чтобы условие выполнилось
{
if(finde())break; // функция должна возвращать не 0 чтобы условие выполнилось
}
}
3. Budni - 23 Февраля, 2019 - 11:37:40 - перейти к сообщению
Спасибо а в таком случае как выйти?
looptime(30000) {if (click()==1) sleep (1000);}
4. Zireael - 23 Февраля, 2019 - 11:49:07 - перейти к сообщению
 Цитата:
а в таком случае как выйти?
looptime(30000) {if (click()==1) sleep (1000);}

CODE:
looptime(30000)
{
if (click()==1) sleep (1000);
else break;
}
5. Budni - 23 Февраля, 2019 - 17:15:44 - перейти к сообщению
 Zireael пишет:
looptime(30000)
{
if (click()==1)
{
if(finde()==1) click2();break; // если finde() вернула 1
}
}

Почему то не выходит из цикла таким образом.
6. Zireael - 23 Февраля, 2019 - 17:48:57 - перейти к сообщению
 Цитата:
Почему то не выходит из цикла таким образом.

Значит функция click() возращает не 1. К тому же неизвестно что находится в функциях.
 Цитата:
if(finde()==1) click2();break;

Тут возможно ошибка в логике, потому что:
CODE:
if(finde()==1) click2();break;

и
CODE:
if(finde()==1){click2();break;}

не одно и тоже.
В первом случае выйдет из цикла независимо от того, что вернёт finde(), а втором выйдёт только, если finde() вернёт 1.
7. Budni - 23 Февраля, 2019 - 18:01:36 - перейти к сообщению
 Zireael пишет:
looptime(30000)
{
if (click()==1) sleep (1000);
else break;
}

в данном случае выход из цикла если условие не выполнилось. А как сделать чтобы при выполнении условия был выход?
8. Zireael - 23 Февраля, 2019 - 18:09:21 - перейти к сообщению
 Цитата:
А как сделать чтобы при выполнении условия был выход?

CODE:
looptime(30000)
{
if (click()==1)
{
messagebox(333);
break;
}
}

function click()
{
messagebox(111);
messagebox(222);
return 1;
}

Powered by ExBB FM 1.0 Final