Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include Оптимизированный таймер от Mr.Green'a

Mr Green

Новичок
Приветствую пользователей pawno-info.ru

На связи Mr.Green, сегодня я хочу представить вам, свою новую разработку GreenTimer.

Это новый (в кавычках :bq:) вид таймеров, более удобный, не создает такой нагрузки как стандартный SetTimer.

Теперь давайте разберемся как его использовать:

Использование:

Первое что нужно, это подключить include:

PHP:
#include <greentimer>
Второе, нужно объявить саму функцию GreenTimer в нужном вам месте:

PHP:
GreenTimer("functionname", count, repeating);
где:
functionname - имя функции;
count - значение таймера;
repeating - проверка повторения (true, false).
функция GreenTimer возвращает, номер последнего таймера.

Пример использования GreenTimer
PHP:
synctimer = GreenTimer("SyncUp", 60, true);
unjailtimer = GreenTimer("SetPlayerUnjail", 1, true);
reklamatimer = GreenTimer("ReklamaTimer",900,true);
GreenTimer("Fresh",1,true);
GG = GreenTimer("AFKProcessor", 1,true);
TT = GreenTimer("CountEx", 5,true);
othtimer = GreenTimer("OtherTimer", 3, true);
Hptimer = GreenTimer("HPCheck", 30, true);
pickuptimer = GreenTimer("CustomPickups", 1, true);
GreenTimer("GzCheck",5,true);
GreenTimer("MzCheck",10,true);
Теперь давайте рассмотрим достоинства и недостатки, по отношению с стандартному SetTimer:

ДОСТОИНСТВА:
- более меньшая нагрузка;
- поддержка до 100 таймеров;
- удобство в использовании;
- не нужно применять функцию KillTimer().

НЕДОСТАТКИ
- нет возможности использовать, дробное значение.
- теоретически возможны пропуски тиков таймера (не доказано).


ЗАПОМНИТЕ:
PHP:
GreenTimer("имя функции", секунды, повторение);
- Имя функции - только public функции;
- Секунды - нужно писать только секунды, если 5 секунд то пишем 5, а не 5000;
- Повторение - можно писать только true или false, любые другие значения не принимаются;

Ссылка на pastebin

Сохраните код в файл greentimer.inc (include короче)





ТЕСТИРОВАНИЕ:

Так как некоторые пользователи просили показать результаты, выкладываю результаты тестирования со всеми прилагающимися данными:

Код для тестирования №1:



Вид тестирования: 10 функций с пустыми циклами по 2*10^5 итераций

Время тестирования: 10 секунд

Средняя скорость: 57.9 мс

Время загрузки данных: 10*10^-23 мс

Результат тестирования: Успешно!

[19:24:41] GreenTimer v 2.0.0 has been loaded
[19:24:41] Author: Mr.Green
[19:24:41] ----------------------------------

[19:24:41] Number of vehicle models: 0
[19:24:42] func10 finished
[19:24:42] func9 finished
[19:24:42] func8 finished
[19:24:42] func7 finished
[19:24:42] func6 finished
[19:24:42] func5 finished
[19:24:42] func4 finished
[19:24:42] func3 finished
[19:24:42] func2 finished
[19:24:42] func1 finished
[19:24:42] GreenTimer 64
[19:24:44] func10 finished
[19:24:44] func9 finished
[19:24:44] func8 finished
[19:24:44] func7 finished
[19:24:44] func6 finished
[19:24:44] func5 finished
[19:24:44] func4 finished
[19:24:44] func3 finished
[19:24:44] func2 finished
[19:24:44] func1 finished
[19:24:44] GreenTimer 55
[19:24:45] func10 finished
[19:24:45] func9 finished
[19:24:45] func8 finished
[19:24:45] func7 finished
[19:24:45] func6 finished
[19:24:45] func5 finished
[19:24:45] func4 finished
[19:24:45] func3 finished
[19:24:45] func2 finished
[19:24:45] func1 finished
[19:24:45] GreenTimer 62
[19:24:46] func10 finished
[19:24:46] func9 finished
[19:24:46] func8 finished
[19:24:46] func7 finished
[19:24:46] func6 finished
[19:24:46] func5 finished
[19:24:46] func4 finished
[19:24:46] func3 finished
[19:24:46] func2 finished
[19:24:46] func1 finished
[19:24:46] GreenTimer 50
[19:24:47] func10 finished
[19:24:47] func9 finished
[19:24:47] func8 finished
[19:24:47] func7 finished
[19:24:47] func6 finished
[19:24:47] func5 finished
[19:24:47] func4 finished
[19:24:47] func3 finished
[19:24:47] func2 finished
[19:24:47] func1 finished
[19:24:47] GreenTimer 53
[19:24:48] func10 finished
[19:24:48] func9 finished
[19:24:48] func8 finished
[19:24:48] func7 finished
[19:24:48] func6 finished
[19:24:48] func5 finished
[19:24:48] func4 finished
[19:24:48] func3 finished
[19:24:48] func2 finished
[19:24:48] func1 finished
[19:24:48] GreenTimer 69
[19:24:49] func10 finished
[19:24:49] func9 finished
[19:24:49] func8 finished
[19:24:49] func7 finished
[19:24:49] func6 finished
[19:24:49] func5 finished
[19:24:49] func4 finished
[19:24:49] func3 finished
[19:24:49] func2 finished
[19:24:49] func1 finished
[19:24:49] GreenTimer 63
[19:24:50] func10 finished
[19:24:50] func9 finished
[19:24:50] func8 finished
[19:24:50] func7 finished
[19:24:50] func6 finished
[19:24:50] func5 finished
[19:24:50] func4 finished
[19:24:50] func3 finished
[19:24:50] func2 finished
[19:24:50] func1 finished
[19:24:50] GreenTimer 55
[19:24:51] func10 finished
[19:24:52] func9 finished
[19:24:52] func8 finished
[19:24:52] func7 finished
[19:24:52] func6 finished
[19:24:52] func5 finished
[19:24:52] func4 finished
[19:24:52] func3 finished
[19:24:52] func2 finished
[19:24:52] func1 finished
[19:24:52] GreenTimer 52
[19:24:53] func10 finished
[19:24:53] func9 finished
[19:24:53] func8 finished
[19:24:53] func7 finished
[19:24:53] func6 finished
[19:24:53] func5 finished
[19:24:53] func4 finished
[19:24:53] func3 finished
[19:24:53] func2 finished
[19:24:53] func1 finished
[19:24:53] GreenTimer 61

Код для тестирования №2:



Вид тестирования: 10 функций с циклами по 2*10^5 итераций, проверкой условия и отправкой сообщения игроку

Время тестирования: 10 секунд

Средняя скорость работы: 98 мс

Результат тестирования: Успешно!

[19:29:17] GreenTimer v 2.0.0 has been loaded
[19:29:17] Author: Mr.Green
[19:29:17] ----------------------------------

[19:29:17] Number of vehicle models: 0
[19:29:18] func10 finished
[19:29:18] func9 finished
[19:29:18] func8 finished
[19:29:18] func7 finished
[19:29:18] func6 finished
[19:29:18] func5 finished
[19:29:18] func4 finished
[19:29:18] func3 finished
[19:29:18] func2 finished
[19:29:18] func1 finished
[19:29:18] GreenTimer 91
[19:29:19] func10 finished
[19:29:19] func9 finished
[19:29:19] func8 finished
[19:29:19] func7 finished
[19:29:19] func6 finished
[19:29:19] func5 finished
[19:29:19] func4 finished
[19:29:19] func3 finished
[19:29:19] func2 finished
[19:29:19] func1 finished
[19:29:19] GreenTimer 94
[19:29:20] func10 finished
[19:29:20] func9 finished
[19:29:20] func8 finished
[19:29:20] func7 finished
[19:29:20] func6 finished
[19:29:20] func5 finished
[19:29:20] func4 finished
[19:29:20] func3 finished
[19:29:20] func2 finished
[19:29:20] func1 finished
[19:29:20] GreenTimer 85
[19:29:21] func10 finished
[19:29:22] func9 finished
[19:29:22] func8 finished
[19:29:22] func7 finished
[19:29:22] func6 finished
[19:29:22] func5 finished
[19:29:22] func4 finished
[19:29:22] func3 finished
[19:29:22] func2 finished
[19:29:22] func1 finished
[19:29:22] GreenTimer 107
[19:29:23] func10 finished
[19:29:23] func9 finished
[19:29:23] func8 finished
[19:29:23] func7 finished
[19:29:23] func6 finished
[19:29:23] func5 finished
[19:29:23] func4 finished
[19:29:23] func3 finished
[19:29:23] func2 finished
[19:29:23] func1 finished
[19:29:23] GreenTimer 95
[19:29:24] func10 finished
[19:29:24] func9 finished
[19:29:24] func8 finished
[19:29:24] func7 finished
[19:29:24] func6 finished
[19:29:24] func5 finished
[19:29:24] func4 finished
[19:29:24] func3 finished
[19:29:24] func2 finished
[19:29:24] func1 finished
[19:29:24] GreenTimer 103
[19:29:25] func10 finished
[19:29:25] func9 finished
[19:29:25] func8 finished
[19:29:25] func7 finished
[19:29:25] func6 finished
[19:29:25] func5 finished
[19:29:25] func4 finished
[19:29:25] func3 finished
[19:29:25] func2 finished
[19:29:25] func1 finished
[19:29:25] GreenTimer 103
[19:29:26] func10 finished
[19:29:26] func9 finished
[19:29:26] func8 finished
[19:29:26] func7 finished
[19:29:26] func6 finished
[19:29:26] func5 finished
[19:29:26] func4 finished
[19:29:26] func3 finished
[19:29:26] func2 finished
[19:29:26] func1 finished
[19:29:26] GreenTimer 90
[19:29:28] func10 finished
[19:29:28] func9 finished
[19:29:28] func8 finished
[19:29:28] func7 finished
[19:29:28] func6 finished
[19:29:28] func5 finished
[19:29:28] func4 finished
[19:29:28] func3 finished
[19:29:28] func2 finished
[19:29:28] func1 finished
[19:29:28] GreenTimer 103
[19:29:29] func10 finished
[19:29:29] func9 finished
[19:29:29] func8 finished
[19:29:29] func7 finished
[19:29:29] func6 finished
[19:29:29] func5 finished
[19:29:29] func4 finished
[19:29:29] func3 finished
[19:29:29] func2 finished
[19:29:29] func1 finished
[19:29:29] GreenTimer 109

В реальной ситуации такое количество итераций не используются (кроме частных случаев), показатели при MAX_PLAYERS 5 - 8 мс.
Желающие можете провести собственные тесты, помните одно любой механизм можно сломать, если прилагать к нему большое усилие!

Авторские права принадлежат Mr.Green (c)
 
Последнее редактирование модератором:
Сверху Снизу