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

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

1. Lilia - 21 Сентября, 2013 - 06:09:19 - перейти к сообщению
CODE:

if([здесь работающий код])
{
mouse(LEFT, x[0]+2, y[0]+5)
next: // та самая злополучная метка
sleep(15000);
if( findimage(1, #Coin[0][0], 0, #x[0], #y[0], 0, 0, 1366, 768, -1)>0)//эту картинку находит
{
mouse(LEFT, x[0]+9, y[0]+10); sleep(1000);//строка выполняется правильно
if( findimage(1, #Done[0][0], 0, #x[0], #y[0], 0, 0, 1366, 768, -1)>0)//на экране картинки нету,
//поэтому переходит к else
{mouse(LEFT, x[0]+152, y[0]+10); sleep(1000); goto first;}//результата выполнения этой строки нету,
//значит картинку #Done не находит и переходит к следующей строке
else
{goto next;}//тот самый goto
}
}
else
{[здесь работающий код]}


В результате вместо перехода по метке выбивает "Ошибка в goto next".
Думала, проблема в названии метки(может очепяталась), поменяла название - всё равно ошибка, только вместо "next" - новое имя метки.

Подскажите, где я туплю?
2. Kibor - 21 Сентября, 2013 - 07:49:34 - перейти к сообщению
Вот если отдельно рассматривать такой кусок кода, то он одна сплошная ошибка.

Что это?
 Lilia пишет:
if([здесь работающий код])


Нет точки запятой.
 Lilia пишет:
mouse(LEFT, x[0]+2, y[0]+5)


Где метка first?
 Lilia пишет:
goto first;


Я добавил объявление нужных переменных, метки, исправил ошибки и все начало работать.
Выкладывайте полный код.

А вообще в данном случае не найдена метка next. Ведь нет точки запятой после mouse(LEFT, x[0]+2, y[0]+5)... То есть next продолжение той строки а не метка....
3. Lilia - 21 Сентября, 2013 - 10:09:22 - перейти к сообщению
Точка с запятой! Ну как я могла её не заметить!?
Спасибо Улыбка
4. Kibor - 21 Сентября, 2013 - 10:31:00 - перейти к сообщению
Обращайтесь Улыбка

По поводу sleep(15000)... совет..
Долгие ожидания стоит реализовать не таким образом. Во время sleep невозможно будет остановить...

Лучше так:

CODE:
int tim;

messagebox("старт");
//код...
//код...

//sleep(15000);//пауза 15 сек. скрипт не остановить......

tim=gettime();
a: if(gettime()-tim<15000){sleep(20); goto a;}//Так вернее долгие ожидания. скрипт останавливается......

//код...
//код...
//код...
//код...
messagebox("финиш");
//код..

Powered by ExBB FM 1.0 Final