- Автор
- Совместимость с
- Amx Mod X 1.8.2, Amx Mod X 1.9.0
- Требования
-
- HLDS или ReHLDS
- AMX Mod X 1.8.2 или выше
- Модуль Engine (engine.inc)
- Благодарности
-
PRoSToTeM@ - за рекомендации по улучшению кода и неоднократные консультации
Данный плагин призван исключить "конфликты" при работе с функциями типа set_user_rendering / set_rendering. Такие "конфликты" могут иметь место быть, когда два и более плагинов используют эти функции для одного игрока.
Принцип работы:
Функция add_user_rendering устанавливает модели указанного игрока режим визуализации, добавляет переданные аргументы в динамический (array) массив, присваивает установленному режиму уникальный индекс и возвращает его в виде целого числа. Функция remove_user_rendering удаляет из динамического массива аргументы по уникальному индексу (ранее полученному как результат функции add_user_rendering) и устанавливает последние доступные. Таким образом, при удалении какого-либо режима визуализации (завершении работы функции в плагине), будет установлен последний из ранее установленных режимов (либо "никакой", то есть с аргументами по умолчанию, если аргументов в массиве не осталось).
native-функции:
Примечание:
В архиве имеется тестовый скрипт, который предоставляется в качестве примера использования native-функций.
Принцип работы:
Функция add_user_rendering устанавливает модели указанного игрока режим визуализации, добавляет переданные аргументы в динамический (array) массив, присваивает установленному режиму уникальный индекс и возвращает его в виде целого числа. Функция remove_user_rendering удаляет из динамического массива аргументы по уникальному индексу (ранее полученному как результат функции add_user_rendering) и устанавливает последние доступные. Таким образом, при удалении какого-либо режима визуализации (завершении работы функции в плагине), будет установлен последний из ранее установленных режимов (либо "никакой", то есть с аргументами по умолчанию, если аргументов в массиве не осталось).
native-функции:
Код:
/* Функция устанавливает модели игрока режим визуализации
- Присваивает установленному режиму уникальный индекс и возвращает его в виде целого числа (2 аргумент)
- Пример использования: add_user_rendering(id, g_index[id], kRenderFxGlowShell, 0, 100, 200, kRenderGlow, 10); */
native add_user_rendering(const id, &r_index, const fx = kRenderFxNone, const r = 255, const g = 255, const b = 255, const render = kRenderNormal, const amount = 16);
/* Функция удаляет режим визуализации по уникальному индексу
- В случае удачи присваивает уникальному индексу (2 аргумент) значение 0 (R_INDEX_NULL) и возвращает его в виде целого числа
- В случае провала возвращает -1 (INVALID_HANDLE)
- Пример использования: remove_user_rendering(id, g_index[id]); */
native remove_user_rendering(const id, &r_index);
Примечание:
В архиве имеется тестовый скрипт, который предоставляется в качестве примера использования native-функций.