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

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

1. Kostick - 25 Января, 2022 - 12:13:51 - перейти к сообщению
Допустим, есть пауза 2 минуты. Нужно, чтобы во время этой паузы появлялась надпись через textout, в которой бы отчитывались секунды с моменты начала паузы, и после окончания 2-х минут код продолжался бы.
Я так понял, это можно сделать через gettime или getlocaltime, но не могу придумать, как. Или можно обойтись без них?
(Добавление)
 Kostick пишет:
Допустим, есть пауза 2 минуты. Нужно, чтобы во время этой паузы появлялась надпись через textout, в которой бы отчитывались секунды с моменты начала паузы, и после окончания 2-х минут код продолжался бы.
Я так понял, это можно сделать через gettime или getlocaltime, но не могу придумать, как. Или можно обойтись без них?

Сделал:
CODE:
int T;

int T_time=5;
int time1, time2;

int X_text=1300; // ïîëîæåíèå ñîîáùåíèÿ ïî X
int Y_text=100; // ïîëîæåíèå ñîîáùåíèÿ ïî Y


time1=gettime();
time2=time1;
for(T=1; T<T_time; T++)
{
goto KIB_3;
KIB_4: TextOut(0, format(T), 0, X_text, Y_text, 0, 16777215);
pause(1000);
goto KIB_C1;
KIB_3: if(time2-time1<1000) goto KIB_4;
goto KIB_4;
KIB_C1:
}

function TextOut(int n, string text, int o, int x, int y, int colt, int colf)
{
textbkcolor (colt,colf);
textout(n, x, y, text, o);
}

(Добавление)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
2. Ilya001 - 25 Января, 2022 - 12:26:12 - перейти к сообщению
CODE:
for (int n=2000; n>0; n--)
{
textout(0, 200, 200, format(n), 2);
sleep(1);
}
3. Kibor - 25 Января, 2022 - 12:31:05 - перейти к сообщению
 Ilya001 пишет:
CODE:
for (int n=2000; n>0; n--)
{
textout(0, 200, 200, format(n), 2);
sleep(1);
}

Не стоит так делать.
 Kibor пишет:
Появилась возможность выводить текст на экран во время выполнения программы.

textout - Печатает строку указанным цветом в указанных координатах экрана. Будучи напечатанной работает в отдельном потоке и всегда находится поверх всех окон. Исключением может являться полно экранный режим некоторых игр.
Если не выводится текст включить Аэро..

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

Синтаксис:

textout(0, 100, 50, "текст", 0);
textout(1, 100, 70, "текст1 "+format(5), 0);
textout(2, 100, 90, "текст2", 0);
4. Zireael - 25 Января, 2022 - 17:45:44 - перейти к сообщению
CODE:
external(INT, "wsprintf", "wsprintfA", "User32.dll" );

int t1, t2;
int timeout = 120; // 120 секунд (2 минуты)

t1=gettime()/1000; t2=t1;
enabletimer(0);

loop()sleep(100);


function SecondsToNormalTime(int Seconds)
{
char c[1024];
int Min=Seconds/60, Sec=Seconds-Min*60;
wsprintf(address(#c[0]), "%02d:%02d", Min, Sec);
return format(#c[0]);
}


CREATE_TIMER(0, 100)
{
if(timeout > -1)
{
textout(0, 0, 0, SecondsToNormalTime(timeout), 1);
t1=gettime()/1000;
if(t1!=t2){t1=gettime()/1000; t2=t1; timeout--;}
}
}

Powered by ExBB FM 1.0 Final