Английская версия | Справочник API | Руководство автора
Для передачи серверных материалов нужны AMX Mod X и серверный модуль NextClientServerApi. Поддерживаемые операции описаны в справочнике API.
- Создайте пресет по описанию формата и сохраните его как
materials/my_server/skins.mat. - Проверьте его командой
matgen check <preset.mat> --game <game>/cstrike. - Зарегистрируйте пресет и каждое пользовательское изображение через
ncl_upload_fileвplugin_precache. Для файлов.mat,.pngи.tgaи серверный, и клиентский путь должны находиться внутриmaterials/. Изображения поставляемой коллекции уже установлены с клиентом. - Привяжите материал к оружию, затем задайте параметры экземпляра конечными значениями float.
На совместимом клиенте с включенными шейдерами и материалами назначенный материал появляется на соответствующей текстуре модели. Имя текстуры в пресете должно совпадать с именем текстуры модели.
- Проверьте, что установленный клиент поддерживает это API материалов и использует
r_studio_shader 1иr_studio_materials 1. - Проверьте, что пресет получен по тому же относительному пути, который передан в
ncl_mat_bind. - Проверьте имя материала в пресете и имя текстуры модели. Команда
matgen uv <model.mdl>выводит текстуры модели. - Проверьте журнал серверного модуля на ошибки аргументов нативов. Выполните
matgen check <preset.mat> --game <game>/cstrike, чтобы проверить формат, манифест, пути и изображения. - Проверьте привязки загруженного клиента командами из таблицы.
Изменения через r_mat_bind, r_mat_param и аргументы r_mat_presets разрешены только отключенному клиенту. В сетевой игре подкраска и обводка включаются явными серверными параметрами экземпляра uOccludedAmount и uOutlineWidth, как описано в эффектах материалов.
| Команда | Действие |
|---|---|
r_mat_presets [file|clear] |
Вывести пресеты в кеше, загрузить пресет или очистить кеш пресетов и все клиентские привязки материалов. |
r_mat_entities |
Вывести индексы и имена моделей из следующих 64 отрисованных сущностей, пропуская повторные индексы. |
r_mat_bind |
Вывести привязки; (never drawn) отмечает индекс, к которому рендерер не обращался. |
r_mat_bind <entity> <preset> <material> |
Применить локальную диагностическую привязку. |
r_mat_bind <entity> |
Очистить локальные привязки этого индекса. |
r_mat_param <entity> <name|texture/name> <value> |
Задать параметр экземпляра для всех подходящих материалов или одной указанной текстуры. |
Консольные команды предназначены для локальной проверки. Они имеют приоритет над серверными назначениями для той же текстуры. Обновление параметров с сервера может заменить локальные изменения. У одной сущности одновременно используются материалы не более чем для 16 разных текстур; при достижении лимита удалите ненужные локальные привязки. Снимки изображения и дампы помогают проверить, какой материал отображается; см. диагностику Studio.