А так можно: вызывать функции из таймера которые в основном коде. Перезапись переменных произойдет,функция отработает, но управление уже не вернется в ту функцию, которую прервал таймер и использовал?
CODE:int x = 0;
enabletimer(0);
me:;
a();
function a(){
loop(){
x = x + b(1);
textout(0, 184, 571, format(x), 1);
looptime(200)pause(1);
}
}
function b(int c){
return c;
}
CREATE_TIMER(0, 200){
x = x + b(1000000);
goto me;
}
(Добавление)
Извините за кривой вопрос. Перефразирую: можно ли вызвать дополнительную функцию add() в таймере, пока идет её выполнение в основной функции test(). По итогу разобрался. Если запустить отладчик, выставить галочки: сканировать значения переменных, пауза между командами 100мс и показать лог в реальном времени, то при коменте "goto me;" вместо -2 будет периодически появляться 200.
CODE:int h = 0;
enabletimer(3);
me:;
test();
function test(){
loop()textout(1, 302, 512, format(add(-1, -1)), 1);
}
function add(int c, int g){
return c + g;
}
CREATE_TIMER(3, 1000){
textout(0, 269, 621, format(add(100, 100)), 1);
goto me;
}
(Отредактировано автором: 28 Марта, 2021 - 17:42:43) |