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

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

1. rev41k - 05 Декабря, 2013 - 17:00:38 - перейти к сообщению
Всем доброго времени суток! Помогите пожалуйста с простым примером динамики - голова уже совсем не варит... Заранее спасибо!
CODE:

win w=window (-1, "GeckoPluginWindow", window ("Игра - Mozilla Firefox", "MozillaWindowClass", -1));
int x[20], y[20];//êîîðäèíàòû ìîáîâ
int Mob_X=6, Mob_Y=6;//Öåíòð ìîáà
int Mob_Din_X=150, Mob_Din_Y=150;//Îáúåìû ìîáà
//----------------------------------------------------------

a:;

search();
click();

a;
//===================================
function search()
{
poisk:
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 295, 130, 1071, 449, w);
sleep(500);
int k=finddynamic(10, #x[0], #y[0], Mob_X, Mob_Y, Mob_Din_X, Mob_Din_Y, 295, 130, 1071, 449, w);

if (k>12)goto poisk;
if (k<2)goto poisk;
}

//==================================

function click()
{
n=0;
b:
if (n<k)
{
mousemove(x[n], y[n]);
sleep(1000);
n++;
return 1;
b;
}
return 0;
}
//===================================


При запуске скрипта - ругается

или сюда
2. Kibor - 05 Декабря, 2013 - 17:11:21 - перейти к сообщению
Что такое a;??
 rev41k пишет:

a:;

search();
click();

a;


Что такое b;??
 rev41k пишет:
b:
if (n<k)
{
mousemove(x[n], y[n]);
sleep(1000);
n++;
return 1;
b;


Наверно
goto a;
goto b;
3. rev41k - 05 Декабря, 2013 - 17:18:19 - перейти к сообщению
 Kibor пишет:
Что такое a;??
 rev41k пишет:

a:;

search();
click();

a;


Что такое b;??
 rev41k пишет:
b:
if (n<k)
{
mousemove(x[n], y[n]);
sleep(1000);
n++;
return 1;
b;


Наверно
goto a;
goto b;


Не успел отредактировать сообщение... я уже сам заметил ... тупит мозг Не на того напал
Код исправил, проблема с ошибкой , что на скрине осталась (
4. Kibor - 05 Декабря, 2013 - 17:34:37 - перейти к сообщению
Есть... Проблема в комментариях.. Это можно отнести к недоработке программы. Надо фиксить...
Проблема в кавычках в комментах. Удалил комментарии и пошло
CODE:
win w=window (-1, "GeckoPluginWindow", window ("Игра - Mozilla Firefox", "MozillaWindowClass", -1));
int x[20], y[20];//
int Mob_X=6, Mob_Y=6;//
int Mob_Din_X=150, Mob_Din_Y=150;//
//----------------------------------------------------------

a:;

search();
click();

goto a;
//===================================
function search()
{
poisk:
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 295, 130, 1071, 449, w);
sleep(500);
int k=finddynamic(10, #x[0], #y[0], Mob_X, Mob_Y, Mob_Din_X, Mob_Din_Y, 295, 130, 1071, 449, w);

if (k>12)goto poisk;
if (k<2)goto poisk;
}

//==================================

function click()
{

int n=0;
b:
if (n<k)
{
mousemove(x[n], y[n]);
sleep(1000);
n++;
return 1;
goto b;
}
return 0;
}
//===================================


В коде ошибка:
Нет объявления n...
n=0;

Неверная логика в этом месте:

n=0;
b:
if (n<k)
{
mousemove(x[n], y[n]);
sleep(1000);
n++;
return 1;
goto b;


goto не наступит вообще никогда так как перед ним идет выход с функции..
5. rev41k - 05 Декабря, 2013 - 17:46:09 - перейти к сообщению
Спасибо за переменную , но так и не работает ((( вылетает практически та же ошибка (для просмотра ссылки Вам необходимо авторизоваться)

Мой скрипт тепер:
 Цитата:

win w=window (-1, "GeckoPluginWindow", window ("Игра - Mozilla Firefox", "MozillaWindowClass", -1));
int x[20], y[20];
int Mob_X=10, Mob_Y=10;
int Mob_Din_X=150, Mob_Din_Y=150;
//----------------------------------------------------------

a:

search();
click();

goto a;
//===================================
function search()
{
poisk:
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 295, 130, 1071, 449, w);
sleep(500);
int k=finddynamic(10, #x[0], #y[0], Mob_X, Mob_Y, Mob_Din_X, Mob_Din_Y, 295, 130, 1071, 449, w);

if (k>10)goto poisk;
if (k<2)goto poisk;
}

//==================================

function click()
{
int n=0;
b:
if (n<k)
{
mousemove(x[n], y[n],w);
sleep(1000);
n++;
goto b;
}
}
//===================================


Извините за надоедливость ... очень нужно понять этот пример. Из-за этого не могу писать дальше скрипт.
6. Kibor - 05 Декабря, 2013 - 17:48:48 - перейти к сообщению
Русский шрифт в программе отображается?
7. rev41k - 05 Декабря, 2013 - 17:49:11 - перейти к сообщению
 Kibor пишет:
Русский шрифт в программе отображается?

Да
8. Kibor - 05 Декабря, 2013 - 17:51:08 - перейти к сообщению
В таком случае скопируйте код со своего же поста. Я отредактировал каракули. У меня все нормально..
(Добавление)
Хотя. стоп... ошибка после клика..
посмотрю...
9. rev41k - 05 Декабря, 2013 - 17:53:16 - перейти к сообщению
не заметил отредактированное ваше сообщение ...
10. Kibor - 05 Декабря, 2013 - 18:04:51 - перейти к сообщению
Ошибка... Не заметил...
Проблема в переменной k в search
Она объявлена в функции и видна только в ней.
Ее не видно в click где она тоже используется. Ее надо вынести в начало программы. Объявить вне функции тогда она будет видна везде.

В Кибор как и C есть локальные и глобальные переменные.
Локальные переменные объявляются в середине функции и они видны только там. Глобальные надо объявлять не в функции. Они видны везде.
Так в разных функциях можно объявлять переменные имеющие одни и те же названия.

http://filesd.net/kibor/functions.php
 Цитата:
Объявленные в параметрах и теле функций переменные видны только в этой функции и могут иметь одинаковые имена в разных функциях.
Это же относится и к команде перехода goto и их меткам.

Powered by ExBB FM 1.0 Final