Некорректно работают таймеры (плагин timerfix от KashCherry)
Приветствую, уважаемые пользователи форума. У меня возникла небольшая проблема касаемо таймера на хостинге.
В игровом моде есть таймер, который создается через функцию плагина timer_fix (by Kash Cherry)
Он должен срабатывать в xx:00:00, но на хостинге этого почему-то работает неправильно, таймер рассчитывается по этой формуле.
#define int:%0(%1) \
forward %0(%1); \
public %0(%1)
{
SetCustomTimer
("OnFlatTime", (3600 - (gettime()%3600)) * 1000, 0, 1);}
int:OnFlatTime()
{
SetCustomTimer("OnFlatTime", 3600*1000, 0, 1);
new s, m, h, string[90];
printf("[%02d:%02d:%02d] - FlatTimer", h
, m
, s
); }
лог:
[07:00:00] [07:00:00] - FlatTimer
[07:05:51] [07:05:51] - FlatTimer
[07:41:39] [07:41:39] - FlatTimer
[08:17:26] [08:17:26] - FlatTimer
[08:53:14] [08:53:14] - FlatTimer
[09:29:01] [09:29:01] - FlatTimer
[10:04:49] [10:04:49] - FlatTimer
[10:40:36] [10:40:36] - FlatTimer
[11:16:24] [11:16:24] - FlatTimer
[11:52:11] [11:52:11] - FlatTimer
[12:27:59] [12:27:59] - FlatTimer
[13:03:46] [13:03:46] - FlatTimer
[13:39:34] [13:39:34] - FlatTimer
[14:15:21] [14:15:21] - FlatTimer
Забыл упомянуть, что на localhost (виндовс) всё работает отлично
Также пробовал использовать такую формулу
{
new minute, second;
gettime(.minute
= minute
, .second
= second
); SetCustomTimer("OnHourTimer", 0, ((60-minute) * 60 + (60-second)) * 1000, 1);
}
Когда совсем отчаялся, попробовал так
new bool: FlatTimer;
{
SetCustomTimer("TSecondUpdate", 1000, 0, 1000000);
}
int:TSecondUpdate()
{
if(ValidFlatTimer == false)
{
new minute, second;
gettime(.minute
= minute
, .second
= second
); if(minute == 0 && second == 0)
{
ValidFlatTimer = true;
SetCustomTimer("OnFlatTime", 3600*1000, 0, 100000);
}
}
return 1;
}
лог:
[01:35:23] [01:35:23] - FlatTimer
[02:11:11] [02:11:11] - FlatTimer
[02:46:58] [02:46:58] - FlatTimer
[03:22:46] [03:22:46] - FlatTimer
Я без понятия с чем это может быть связано.
К слову это уже второй хостинг, и вряд ли проблема в нём.
:dance: *просит помощи*