Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: подскажите
Kibor
Отправлено: 18 Мая, 2014 - 23:41:01
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Prusak пишет:
а как взять их от туда

Да просто. Просто об ъявляйте переменные глобальные. То есть не в функции..




CODE:
int hp_e; int hp_c; int hp_n;
int mp_e; int mp_c; int mp_n;



hpmp();
if (hp_e...)//тут уже в hp_e значение будет
if (mp_c...)//тут уже в mp_c значение будет
............
.......

hpmp();
if (hp_e...)//тут уже в hp_e значение будет
if (mp_c...)//тут уже в mp_c значение будет
............
.......


hpmp();
if (hp_e...)//тут уже в hp_e значение будет
if (mp_c...)//тут уже в mp_c значение будет
............
.......





function hpmp()//проверка ХП и МП
{

int r=5;


hp_e=scanpixel(222,38,3642461,r,r,r,r,r,r,aa);//хп есть
hp_c=scanpixel(126,38,2325306,r,r,r,r,r,r,aa);//хп среднее
hp_n=scanpixel(87,38,1930289,r,r,r,r,r,r,aa);//хп нет


mp_e=scanpixel(222,52,12938823,r,r,r,r,r,r,aa);//мп есть
mp_c=scanpixel(126,52,12275505,r,r,r,r,r,r,aa);//мп среднее
mp_n=scanpixel(68,52,12274992,r,r,r,r,r,r,aa);//мп нет
}
 
 Top
Prusak
Отправлено: 19 Мая, 2014 - 09:14:56
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2014  
Репутация: 0




А ларчик оказывается просто открывался Улыбка . спасибо помогло.
 
 Top
Prusak
Отправлено: 31 Мая, 2014 - 15:08:33
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2014  
Репутация: 0




PHP:
loop:;
1.функция()
2.функция()
goto loop;

function 1.функция()
{
ну очень много кода
3.функция()
}

function 2.функция()
{
ну очень много кода
3.функция()
}

function 3.функция()
{
много кода
}


в описании function сказано, что с return что без, мы возвращаемся в следующую строку от ее вызвавшей. но может быть есть возможность из 3.функции попасть на метку loop . если возможно подскажите, как? goto loop; не помогло.
 
 Top
RussianRemaker
Отправлено: 31 Мая, 2014 - 19:47:13
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Февр. 2014  
Репутация: 0




Примерно так:
CODE:
// Для отладки
char CR = formatic(13);
char LF = formatic(10);
string CRLF = CR + LF;
// -----------

int f = 0; // Флаг, для возврата значения при выходе из '3.функция'
loop:;
1.функция();
if (f == 1) goto loop;
2.функция();
if (f == 1) goto loop;
goto loop;

function 1.функция(){
// ну очень много кода
/* Отладка */ messagebox("Выполняется первая функция.");
3.функция();
}

function 2.функция(){
// ну очень много кода
/* Отладка */ messagebox("Выполняется вторая функция.");
3.функция();
}

function 3.функция(){
// много кода
// Обработка условия, по результатам которого будет решено, переходить к метке 'loop' или не переходить
if (/* Отладка */ messageboxyn("Выполняется третья функция." + CRLF + CRLF + "Вернуться на метку 'loop'?") == 1){
f = 1;
}
else{
f = 0;
}
// Функция должна вернуть единицу, чтобы произошёл переход к метке 'loop'
return f;
}
 
 Top
Prusak
Отправлено: 31 Мая, 2014 - 20:08:09
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2014  
Репутация: 0




спасибо,очень познавательно. но в моем случае не подходит, 3.функция это функция проверок жив ли перс есть ли интернет и тд. стоит данная функция в каждом зацикленном блоке прочих функций
PHP:
a:;
код
код
3.функция
goto a;
код

а данный метод сработает только если 3.функция стоит в конце прочих функций.
(Добавление)
натолкнуло на мысль Улыбка
PHP:
// Для отладки
char CR = formatic(13);
char LF = formatic(10);
string CRLF = CR + LF;
// -----------

int f=0; // Флаг, для возврата значения при выходе из '3.функция'
loop:;
1.функция();
if (f == 1) goto loop;
2.функция();
if (f == 1) goto loop;
4.функция();
if (f == 1) goto loop;
goto loop;

function 1.функция(){
// ну очень много кода
/* Отладка */ messagebox("Выполняется первая функция.");
3.функция();
if(f==1){return;}
messagebox("Выполняется первая функция..п1");
}

function 2.функция(){
// ну очень много кода
/* Отладка */ messagebox("Выполняется вторая функция.");
3.функция();
if(f==1){return;}
messagebox("Выполняется вторая функция..п1");
}

function 4.функция(){
// ну очень много кода
/* Отладка */ messagebox("Выполняется четвертая функция.");
3.функция();
if(f==1){return;}
messagebox("Выполняется четвертая функция.п1");
}




function 3.функция(){
if (/* Отладка */ messageboxyn("Выполняется третья функция." + CRLF + CRLF + "Вернуться на метку 'loop'?") == 1){
f = 1;}
else{
f = 0;
}
return f;
}

вот так.
 
 Top
Kibor
Отправлено: 31 Мая, 2014 - 22:04:28
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Prusak пишет:
может быть есть возможность из 3.функции попасть на метку loop

Уверены что в данном коде из функции3 надо попадать на начало??
Просто тогда 2 функция не выполнится так как вызов 3 идет с первой... и после первой будет идти на старт...

ну а вообще вот код..
 Цитата:
loop:;
if (функция1()==1)goto loop;
if (функция2()==1)goto loop;
goto loop;

function функция1()
{
messagebox ("1");
if (функция3()==1)return 1;
return 0;
}

function функция2()
{
messagebox ("2");
if (функция3()==1)return 1;
return 0;
}

function функция3()
{
messagebox ("3");
return 1;
}




 Prusak пишет:
в описании function сказано, что с return что без, мы возвращаемся в следующую строку от ее вызвавшей

Если точнее то вот с хелпа:

 Цитата:
Если после оператора return находится возвращаемое значение, функция завершается и возвращается управление в строку ее вызвавшую и она заново выполняется, только вместо вызова функции находится возвращаемое ей выражение стоящее после return.
 
 Top
Prusak
Отправлено: 31 Мая, 2014 - 22:35:13
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 32
Дата рег-ции: Март 2014  
Репутация: 0




 Kibor пишет:
Уверены что в данном коде из функции3 надо попадать на начало??

да уверен, вобщем суть такова 3.функция имеет функцию проверки интернет соединения и отлова появления сообщения игры о разрыве соединения,если связь прервана и игра закрылась скрипт запускает игру. по идее было задумано чтоб после запуска игры скрипт продолжил работу с того же места.return тут как к стати, но было замечено что скрипт после начинает подглючивать, где то моя видимо ошибка,выявить ее не смог. решил сделать после запуска игры чтоб скрипт начинал работу сначала.
З.Ы за пример спасибо, блин похоже все таки придется искать ошибку чтобы скрипт работал так как было задумано.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by