new number[3];
number[0] = 111;
number[1] = 222;
number[2] = 333;
SetTimerEx("Test", 1000, false, "ddd", number[0], number[1], number[2]);
---
forward Test(...);
public Test(...) {
for(new id = 0; id != numargs(); ++id) {
printf("[%d]: %d", id, getarg(id, 0));
}
return 1;
}
[19:34:38] [0]: 0
[19:34:38] [1]: 0
[19:34:38] [2]: 0
Может попробовать заменить (...) на ({Float,_}:...)? Изначально ведь SetTimerEx может принимать не только целые числа.
|
stock SetTimerEx.(funcname[], interval, repeating, const format[], {Float,_}:...)
{
for(new i, p = strlen(format); i < p; ++i)
{
switch(format[i])
{
case 83, 115: //Заполнителем указан "s" или "S"
{
//Записываем в глобальный массив значение аргумента "i"
}
case 68, 100: //Заполнителем указан "D" или "d"
{
//Записываем в глобальную переменную значение аргумента "i"
}
case 70, 102: //Заполнителем указан "F" или "f"
{
//И опять записываем, только уже в переменную вещественного типа
}//И так с остальными заполнителями
}
}
SetTimer(funcname, interval, repeating);//В функции, вызванной таймером, уже работаем с переменными
return;
}