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

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

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

> Описание: Как поставить скрипт на паузу
ivantu
Отправлено: 20 Марта, 2018 - 08:09:49
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Здравствуйте, уважаемые знатоки, подскажите как реализовать кнопку запуска бота,

Которая запускала бы основной цикл бота, и приостанавливала бы его при повторном нажатии на нее, перебрал уже все что смог придумать мозг кипит...

CODE:
// Осн цикл
starting:
if (flag_button0[0]>0)
{
start_battle();
auto_battle();
victory_battle();
repeat_battle();
sleep(50);
}
else goto starting;
sleep(50);
goto starting;


CODE:

CREATE_TIMER(0, 50)//выполнение таймера через 50 мсек.
{
if (flag_button0[0]>0)
{
flag_button0[0]=0;
textout(1,100,50, format(flag_button0[0]), 1);
}
}
 
 Top
Kibor
Отправлено: 20 Марта, 2018 - 08:34:24
Post Id



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


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




Останавливает в любой позиции работы и продолжением с позиции остановки.

CODE:
int START=0;

int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=28; pos_size_button0[0][1]=68; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////

showdialog(0, "Диалог", 281, 157, 163, 133, 1, 1);
//////////
enabletimer(0);
while(START==0)sleep(100);
loop()
{


beep(1200, 200);



sleep(10);//Убрать после теста
}


CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
E:;
if (flag_button0[0]>0)
{
flag_button0[0]=0;
if (START==1)START=0;
else START=1;
}
if(START==0){sleep(100); goto E;}
}

 
 Top
ivantu
Отправлено: 20 Марта, 2018 - 08:39:34
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Огромное спасибо, за такую реализацию! Сам бы никогда не додумался... ( Не понял
 
 Top
Kibor
Отправлено: 20 Марта, 2018 - 08:40:10
Post Id



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


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




Подправил немного только что..
 
 Top
ivantu
Отправлено: 20 Марта, 2018 - 08:53:04
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Все просто супер, как и хотел, сейчас еще текст кнопочки сделаю меняющийся, и все как задумано будет )) Ламер
(Добавление)
Как всегда возникают трудности на ровном месте, что не так почему не меняет надписи?

CODE:


CREATE_TIMER(0, 50)// Создаем таймер
{
start_button:;
textout(1,100,50, format(start_status), 1);
if (flag_button0[0]>0)
{
flag_button0[0]=0;
if (start_status==1)start_status=0;
else start_status=1;
}
if(start_status==0){sleep(100); goto start_button;}


}

CREATE_TIMER(1, 200)//Создаем второй т,к, первый полностью занят циклом кнопки
{
if(flag_check0[0]==1)sell_rune=1;
else sell_rune=0;

if (start_status==1)text_button0[0]="Стоп";
if (start_status==0)text_button0[0]="Запустить";
}

(Отредактировано автором: 20 Марта, 2018 - 09:09:19)

 
 Top
Kibor
Отправлено: 20 Марта, 2018 - 09:16:38
Post Id



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


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




Этот код не рабочий.
выкладывайте запускаемый код, а не отрезок.
CODE:
int START=0;

int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=28; pos_size_button0[0][1]=68; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="пуск";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////

showdialog(0, "Диалог", 281, 157, 163, 133, 1, 1);
//////////
enabletimer(0);
while(START==0)sleep(100);
loop()
{


beep(1200, 200);



sleep(10);//Убрать после теста
}


CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
E:;
if (flag_button0[0]>0)
{
flag_button0[0]=0;
if (START==1){START=0; text_button0[0]="пуск";}
else {START=1; text_button0[0]="стоп";}

}
if(START==0){sleep(100); goto E;}
}
 
 Top
ivantu
Отправлено: 20 Марта, 2018 - 09:31:46
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Извиняюсь за не полный код, просто использую #include собирать рабочий код воедино сложно, Ваш код полностью рабочий, спасибо за помощь.
 
 Top
dulger
Отправлено: 28 Марта, 2018 - 23:31:55
Post Id



Пользователь
Участник


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




 Kibor пишет:
Этот код не рабочий.
выкладывайте запускаемый код, а не отрезок.
CODE:
int START=0;

int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=28; pos_size_button0[0][1]=68; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="пуск";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////

showdialog(0, "Диалог", 281, 157, 163, 133, 1, 1);
//////////
enabletimer(0);
while(START==0)sleep(100);
loop()
{


beep(1200, 200);



sleep(10);//Убрать после теста
}


CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
E:;
if (flag_button0[0]>0)
{
flag_button0[0]=0;
if (START==1){START=0; text_button0[0]="пуск";}
else {START=1; text_button0[0]="стоп";}

}
if(START==0){sleep(100); goto E;}
}


Как раз хотел себе такое сделать. Спасибо за реализацию, но тут есть одно но. Спустя примерно пару минут кнопка "стоп" сменяется на кнопку "пуск" и скрипт встаёт на паузу, после чего нужно опять нажимать на "пуск" что бы скрипт продолжил свою работу. И так по кругу. В чём может быть проблема?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by