PDA

Просмотр полной версии : [Вопрос] Таймеры



Killer
10.05.2017, 16:50
Я хочу избавиться и сделать как можно меньше таймеров, чтобы не было жесткой нагрузки на игровой мод.
Но я слишком запарился, как мне это сделать.

У меня есть например таймер (единый):


SetTimer("MainTimer",1000,true);

Мне нужно, чтобы в этом паблике, когда натикает 5 минут, срабатывало действие. Подскажите кодом, как реализовать пожалуйста!

SooBad
10.05.2017, 17:16
От того, что ты сделаешь меньше таймеров - нагрузка меньше не станет.
5 минут = 1000 * 60 * 5 (млс) = 300000 млс
В чём проблема реализации индивидуальных таймеров?

Killer
10.05.2017, 17:18
Как-то не удобно мне, хочется сделать все в 1 таймере. Это возможно?

SooBad
10.05.2017, 17:31
Практического смысла в этом никакого нет.
В любом случае, тебе потребуются отрезки в 5, 10, 20, 30 и т.п. минут, а не только единый секундный таймер.

Alpano
10.05.2017, 17:38
Горе оптимизаторы.
Вы лучше думайте над содержимым таймеров, чем над их количеством.

vasyok28
10.05.2017, 22:22
От того, что ты сделаешь меньше таймеров - нагрузка меньше не станет.
5 минут = 1000 * 60 * 5 (млс) = 300000 млс
В чём проблема реализации индивидуальных таймеров?

Не самый хороший вариант, код может не успеть выполниться и действие не сработает

SooBad
11.05.2017, 00:07
Не самый хороший вариант, код может не успеть выполниться и действие не сработает

Наоборот, задержка может проявиться при вызове одновременно нескольких функций в одном таймере.
С индивидуальным всё проще, обработка идёт для каждого игрока в отдельности.
В качестве примера такой реализации можно привести Nex-Ac, а проверки там следуют в точности до ms.

DeimoS
11.05.2017, 00:33
Вообще, как по мне, следует делать разделение таймеров не только по игрокам, но и по группам систем (отдельно таймер на PayDay, отдельно на время в тюрьме, отдельно на античиты и т.п.). Такой подход позволит обрабатывать код только в тот момент, когда это нужно, без всяких "глушилок" в виде условий

Killer
12.05.2017, 20:13
Всё понятно, принял к сведению, просто с таймерами мало работал. А сейчас приходится..
Можно закрывать.