Боты и читы. Программируемый автокликер.


Визуальное создание ботов в Кибор

 Помощь      Поиск      Пользователи

 

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

 Страниц (6): [1] 2 3 4 5 6 »   

> Описание: Добавление функции таймера (код выполняемый по времени)
Kibor
Отправлено: 25 Ноября, 2014 - 21:03:37
Post Id



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


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




Добавлен Таймер.
CREATE_TIMER - обозначает блок кода выполняемый по таймеру.

Синтаксис:

CREATE_TIMER(0, 1000)
{
//тут код выполняемый каждые 1000 мсек.
}

Параметры:
первый - номер таймера. Создавать можно до ста таймеров от 0 до 99.
второй - время в мсек через кторое будет выполняться блок кода в таймере.

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

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

С таймера можно выходить с помощью goto на любую метку в коде (кроме в функции). В таком случае возврат в прерванную строку не произойдет.
В таймере можно вызывать функции и отрабатывать любой код без исключения.

пример:
 Цитата:
int a=0;
int x, y;
int color;

enabletimer(0);
enabletimer(1);

j:textout(0, 100, 100, format(a), 1);
textout(1, x+10, y+10, format(color), 1);
sleep(10);
goto j;

exit:;

CREATE_TIMER(0, 1000)
{
a++;
if (a>100)a=0;
}

CREATE_TIMER(1, 100)
{
getmouse(x, y);
color=getcolor(x, y);
if (color==0) goto exit;
}


Управлять таймером можно с помощью следующих функций:
enabletimer - включает созданный таймер и обнуляет время таймера на 0.
enabletimer(0);


disabletimer - выключает созданный таймер.
disabletimer(0);


sendtimer - меняет время срабатывания созданного таймера.
sendtimer(0, 1000);
 
 Top
Stanislaw
Отправлено: 26 Ноября, 2014 - 06:30:12
Post Id



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


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




enabletimer - это получается функция с периодической задержкой по таймеру. Просто иногда нужно обозначить какой то блок кода который бы пропускался какое то время при срабатывании определенных условий. Тут другое. Спасибо за новую конструкцию,ей можно будет разгрузить процессор такие вещи как автоподключение, проверка редких, некритических событий и пр.
 
 Top
Kibor
Отправлено: 26 Ноября, 2014 - 08:19:12
Post Id



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


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




 Stanislaw пишет:
обозначить какой то блок кода который бы пропускался какое то время при срабатывании определенных условий

проверять просто условие каждые n...... мсек
CREATE_TIMER(0, 1000)
{
if (условие )
{

}
}
 
 Top
Bubblegum
Отправлено: 26 Ноября, 2014 - 16:32:59
Post Id



Пользователь
Прохожий


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




Поправьте, если я неправильно понял. Заключенная в CREATE_TIMER{n} последовательность выполняется каждые n секунд? Отслеживание таймера параллельно с основной программой? Т.е. каждые n секунд управление передается в этот таймер независимо от того на каком этапе выполнения основного кода я нахожусь?

Если все так, то это же супер функционал для постоянного независимого отслеживания различных событий независимо от места выполнения основной программы!

(Отредактировано автором: 26 Ноября, 2014 - 16:33:30)

 
 Top
Kibor
Отправлено: 26 Ноября, 2014 - 16:38:43
Post Id



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


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




да. так.
(Добавление)
 Цитата:
enabletimer(0);
//цикл кода
a: for (int n=0; n<5000; n++)
{
beep(1000, 200);
}
goto a;

er:;
CREATE_TIMER(0, 200)// слежение за нажатой ё для выхода с цикла
{
if (getkeystate(192)==1)goto er;
}
 
 Top
Bubblegum
Отправлено: 26 Ноября, 2014 - 17:11:41
Post Id



Пользователь
Прохожий


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




Спасибо, такой функционал очень нужен.
 
 Top
nawigatr
Отправлено: 28 Ноября, 2014 - 11:54:13
Post Id



Пользователь
Прохожий


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




Во время исполнения функций pause() и sleep() таймер не работает( в частности слежение за нажатием клавиш. Можно сделать что бы и при исполнении этих функций таймер работал?

(Отредактировано автором: 28 Ноября, 2014 - 11:54:36)

 
 Top
Kibor
Отправлено: 28 Ноября, 2014 - 12:08:41
Post Id



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


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




не.
разве что можно с pause... сделать...

если надо что б таймер работал в паузе паузу надо самому делать так примерно...

CODE:
my_pause(5000);



function my_pause(int pp)
{
int tim=gettime();
a: if (gettime()-tim>pp)return;
sleep(5);goto a;
}
 
 Top
nawigatr
Отправлено: 28 Ноября, 2014 - 17:56:07
Post Id



Пользователь
Прохожий


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




Спасибо,Владимир! Попробую...
 
 Top
yo1
Отправлено: 28 Ноября, 2014 - 18:54:54
Post Id



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


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




Требуется вписать в скрипт стоп\паузу\продолжить по нажатию комбинации клавиш. Sleep и pause приспособить не смог. Какие есть варианты? Главное условие в том, что бы скрипт не обрывался, а продолжил с остановленного места.
 
 Top
Страниц (6): [1] 2 3 4 5 6 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


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




Powered by ExBB FM 1.0 Final