Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.33 Добавление функции таймера (код выполняемый по времени)

Страниц (10): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
 

11. Kibor - 28 Ноября, 2014 - 10:09:33 - перейти к сообщению
 yo1 пишет:
Требуется вписать в скрипт стоп\паузу\продолжить по нажатию комбинации клавиш. Sleep и pause приспособить не смог. Какие есть варианты? Главное условие в том, что бы скрипт не обрывался, а продолжил с остановленного места.


нажать ё

CODE:
enabletimer(0);


a:beep(1000, 200);goto a;







CREATE_TIMER(0, 200)
{
if (getkeystate(192)==1)
{
ha:if (getkeystate(192)==1){sleep(10); goto ha;}
{
sa: if (getkeystate(192)==1)
{
ha1:if (getkeystate(192)==1){sleep(10); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}
12. yo1 - 30 Ноября, 2014 - 10:26:57 - перейти к сообщению
Вписал данный код в конец скрипта и, увы, не работает. Требуется параметр int a?
13. Kibor - 30 Ноября, 2014 - 10:30:55 - перейти к сообщению
 yo1 пишет:
Вписал данный код в конец скрипта и, увы, не работает. Требуется параметр int a?

какой параметр? CREATE_TIMER(0, 200) принимает только числа..

перед вписанием к скрипту своему надо просто этот отсюда скопировать и разобраться.
14. yo1 - 30 Ноября, 2014 - 10:43:43 - перейти к сообщению
Как я понял:
CODE:
a:beep(1000, 200);goto a;
издает звук при задействии таймера?
CODE:
CREATE_TIMER(0, 200)
{
if (getkeystate(192)==1)
{
ha:if (getkeystate(192)==1){sleep(10); goto ha;}
{
sa: if (getkeystate(192)==1)
{
ha1:if (getkeystate(192)==1){sleep(10); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}

Т.е. при нажатии ё -> происходит проверка на нажатие с паузой в 10 мс, записывается в ha. Потом мы снова нажимаем ё -> идет проверка уже на ha1.
Дальше я не понял, что означают "ex", "sa" и зачем на них возвращаться.
(Добавление)
Точнее понятно, что на одной из этих идет возврат на изначальное состояние, но где и как...
15. Kibor - 30 Ноября, 2014 - 11:18:38 - перейти к сообщению
 yo1 пишет:
издает звук при задействии таймера?

чего это?? это цикл программы. он на паузу ставится

 Цитата:
if (getkeystate(192)==1)// нажали ё если
{
ha:if (getkeystate(192)==1){sleep(10); goto ha;}// ждать пока отпустим
{
sa: if (getkeystate(192)==1)//нажали ё если при паузе
{
ha1:if (getkeystate(192)==1){sleep(10); goto ha1;}// ждать пока отпустим
goto ex;//выход
}
sleep(10);
goto sa;
}
}
ex:;

красный эт цикл в паузе
16. yo1 - 30 Ноября, 2014 - 11:32:44 - перейти к сообщению
 Kibor пишет:
чего это?? это цикл программы. он на паузу ставится

Смотрел тут(для просмотра ссылки Вам необходимо авторизоваться) Снова вставил в конец скрипта. Скрипт работает на отлично, пауза не ставится. Клавиша ё не занята в скрипте, т.е. помех быть не должно.
п.с. не работает ни в конце, ни в начале скрипта.
(Добавление)
Если ставить вначале, вообще весь скрипт ломает.
17. Kibor - 30 Ноября, 2014 - 11:45:52 - перейти к сообщению
что ставил.. куда ставил...
в конец
CODE:
CREATE_TIMER(0, 200)
{
if (getkeystate(192)==1)
{
ha:if (getkeystate(192)==1){sleep(10); goto ha;}
{
sa: if (getkeystate(192)==1)
{
ha1:if (getkeystate(192)==1){sleep(10); goto ha1;}
goto ex;
}
sleep(10);
goto sa;
}
}
ex:;
}

в начало
CODE:

enabletimer(0);


все sleep ы и pause сделать как тут(для просмотра ссылки Вам необходимо авторизоваться)
еще проследить что б не было переменных и меток sa ex ha ha1
18. nawigatr - 30 Ноября, 2014 - 20:28:32 - перейти к сообщению
...а у меня всё получилось, заменил все паузы тем, как посоветовал Владимир, подкорректировал функцию в таймере и всё работает на ура! Спасибо за помощь в реализации pause() с помощью функции!
19. Adomb - 04 Августа, 2015 - 08:38:50 - перейти к сообщению
Если сработало условие в первом таймере и начала выполняться нужная функция, остальные таймеры не ждут пока выполнится эта функция и всё равно срабатывают/реагируют на то, что в них прописано?
Если так, не плохо было бы иметь команду на включение/отключение группы таймеров.
20. Kibor - 04 Августа, 2015 - 10:07:31 - перейти к сообщению
?
enabletimer - включает созданный таймер и обнуляет время таймера на 0.
enabletimer(0);


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

Powered by ExBB FM 1.0 Final