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

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

1. 007wan - 05 Декабря, 2017 - 08:50:38 - перейти к сообщению
Понадобится: диалог с кнопкой, таймер.
Принцип работы: При запуске таймер не запущен. Как только нажали кнопку таймер запускается, идет отсчет (10, 9, 8, 7, 6...0) . Если это время вышло, то кнопку обнуляем, таймер вырубаем, время обнуляем(т.е оно станет первоначальным"10"). Если время не вышло, то отсчет будет на кнопке, либо просто textout'ом.

PS.Понимайте дело не в том, что я не могу создать диалог, кнопку, сделать таймер, а в том, что я не могу сделать скрипт с отсчетом, уже было пару скриптов, пробовал их переделывать, но всё плохо, бомбить начало. даже темы были такие, я смотрел и ничего не работает.
2. Kibor - 05 Декабря, 2017 - 09:09:29 - перейти к сообщению
Я так понимаю это надо для кнопки отправки сообщений?
3. Zireael - 05 Декабря, 2017 - 09:21:30 - перейти к сообщению
Спойлер (Отобразить)
4. 007wan - 05 Декабря, 2017 - 09:28:38 - перейти к сообщению
Я что-то наподобие этого делал, только через слип и пару переменных, а у меня не работало, просто скрипт очень громадный
(Добавление)
 Kibor пишет:
Я так понимаю это надо для кнопки отправки сообщений?

Да. я просто что только не делал и у меня почему-то не так работало, текст в кнопке вообще пару раз повялися, а потом перестал менятся(только с перезагрузкой программы)
5. Kibor - 05 Декабря, 2017 - 09:45:43 - перейти к сообщению
Zireael Так будет вернее. Так как кроме счетчика надо сделать что бы пока счетчик идет нажатие больше не отрабатывалось.
Проверить это можно так:


 Цитата:
loop()
{
if(flag_button0[0] > 0) // если нажата кнопка
{
flag_button0[0] = 0; // обнуляем флаг кнопки
beep(1000, 100);
enabletimer(0); // включаем таймер
}
sleep(100);
}



CODE:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];
int count=10;

pos_size_button0[0][0]=7; pos_size_button0[0][1]=6; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="10";

//////////

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

showdialog(0, "Диалог", 835, 390, 136, 61, 1, 1);
//////////


loop()
{
if(flag_button0[0]==1) // если нажата кнопка
{
flag_button0[0]=1000;
beep(1000, 100);
enabletimer(0); // включаем таймер
}
sleep(100);
}


CREATE_TIMER(0, 1000)
{
if(flag_button0[0]>999)
{
count=count-1;
if (count==-1)
{
count=10;
flag_button0[0] = 0; // обнуляем флаг кнопки
disabletimer(0); // отключаем
}
text_button0[0]=format(count);
}
}
6. 007wan - 05 Декабря, 2017 - 09:48:30 - перейти к сообщению
А еще можно вопрос не по теме:
У меня короче стоит при нажатии Ентера кнопка равняется 1, то идет текст с эдита на статик, проблема в том, что если удержать ентер, а так как эдит уже активен, то можно писать в статик сколько угодно, а есть код только на одноразовое нажатие кнопки? только 1, не удерживание. я где-то видел такой код, там еще он отслеживает нажатие капса
7. Kibor - 05 Декабря, 2017 - 09:51:36 - перейти к сообщению
Может то решение что выше привел поможет?
8. 007wan - 05 Декабря, 2017 - 09:52:31 - перейти к сообщению
 Kibor пишет:
Может то решение что выше привел поможет?

да помогло. просто это уже о другом
(Добавление)
CODE:
external(INT, "GetKey", "GetKeyState", "user32.dll");if (GetKey(13)==1)
{
flag_button20[0]=1;
}

Нашел!
9. 007wan - 07 Декабря, 2017 - 06:57:11 - перейти к сообщению
Ай еще, пожалуйста. помогите сделать это:
знайте обычно когда что-то пишут, то показывают когда было написано. вот мне нужен код, который после того как напишу в эдит любое слово или что угодно, оно запишется в статик и туда добавится еще время когда было написано, например, "30 сек назад; 5 минут; 4 дня; 1 мес.;"Понимайте я в этих таймерах не шарю
(Добавление)
просто надо как-то зациклить статик, что бы время менялось
(Добавление)
CODE:
text_static20[0]=text_edit0[0]+": "+text_edit20[0]+perevod+text_static20[0];

Типа как тут, только еще будет время
10. Kibor - 07 Декабря, 2017 - 06:59:35 - перейти к сообщению
Что бы в чате было время сообщения?
Так для этого надо синхронизация к одному времени. Серверному. А отправка времени компьютерного не то.

Powered by ExBB FM 1.0 Final