Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Все чаще начали появляться баг репорты с материал-разделом, мол, не работают, не обновлены, не ищут, не видит чит и т.п, а ведь все решается тем, что люди спустя несколько десятков минут (не дай бог некоторые часы) попыток понимают, что они накосячили а не чит.
Тема создана для раскрытие системы материалов в lua-документации ее работы.
author: me
Тема создана для раскрытие системы материалов в lua-документации ее работы.
1. materials.get(path: string[, force_load: boolean])
Возвращает объект материала по указанному пути. Если будет указан путь до нескольких материалов - функция вернёт nil.
Аргумент force_load подгружает материал, если он не подгружен.
Пример:
2. materials.get_materials(partial_path: string[, force_load: boolean, callback: function])
Возвращает таблицу материалов, полная противоположность функции materials.get. Может быть использована в каллбеке (таблица).
force_load подгружает все объекты, если они не загружены (ВНИМАНИЕ, он подгрузит все объекты по новой, если хотя бы 1 объект не будет загружен в рендер чита).
Пример:
3. materials.create(name: strings, key_values: string)
Создает и возвращает объект материала, который вы сами настроили.
Примечание: он вернёт в любом случае материал, даже если он будет пустым.
Пример:
Возвращает объект материала по указанному пути. Если будет указан путь до нескольких материалов - функция вернёт nil.
Аргумент force_load подгружает материал, если он не подгружен.
Пример:
Lua:
local forearm = materials.get("custom/models/forearmvarianta.mdl", false)
2. materials.get_materials(partial_path: string[, force_load: boolean, callback: function])
Возвращает таблицу материалов, полная противоположность функции materials.get. Может быть использована в каллбеке (таблица).
force_load подгружает все объекты, если они не загружены (ВНИМАНИЕ, он подгрузит все объекты по новой, если хотя бы 1 объект не будет загружен в рендер чита).
Пример:
Lua:
local object = materials.get_materials("custom/models/gitler", false)
-- вариант без каллбека
local object = materials.get_materials("custom/models/gitler", false, function(mdl)
print(tostring(mdl.head_layer))
end)
-- вариант с каллбеком
3. materials.create(name: strings, key_values: string)
Создает и возвращает объект материала, который вы сами настроили.
Примечание: он вернёт в любом случае материал, даже если он будет пустым.
Пример:
Lua:
local key_value =
{
[[
$phong = 3,
$originaltextureshaders = 0,
$texture = "purplelaser3.vmt"
]]
}
local material = materials.create("Brokencore", key_value)
1. :get_name()
Возвращает название материала в формате string, например viewmodel:get_name() -> viewmodelworld
2. material:get_texture_group_name()
Возвращает группу текущего материала, к примеру: Игрок - player.
3. material:var_flag(flag: number[, value: boolean])
Устанавливает или получает флаг для материала.
Чтобы установить, укажите номер флаг и его значение (флаги от 0-32)
Чтобы получить, оставьте значение value нетронутым.
4. material:shader_param(name: string[, value: any])
Устанавливает или получает параметры шейдеров для материала.
Чтобы установить, укажите название шейдера и его значение, например $phong.
Чтобы получить, оставьте значение value нетронутым.
5. material:color_modulate([color: color]) / material:alpha_modulate([alpha: number])
Получают или устанавливают цвет и альфу материала.
Чтобы получить, просто вызывайте функцию, без аргументов.
Внимание: alpha_modulate работает не на всех объектах, это связано из-за рендера чита.
6. material:is_valid()
Возвращает true, если материал является валидным для использованием, иначе false.
К примеру, если попытаться получить валидность нулевого материала (как я привел пример в material.create), то оно вернёт true.
7. material:reset()
Восстанавливает значения (var_flag, shader_param, color-alpha modulate) материала на исходные, заданные игрой.
Внимание: функция сбрасывает даже материал, который вы создали, но если материал будет пустой, то произойдет ошибка.
8. material:override(mat: Material)
Переносит значения с одного материала на другой.
Внимание: переносите значения между материалами, который в одной группе. Иначе будет ошибка с материалом, или он криво установится, что ломает PaintTraverse хук.
Возвращает название материала в формате string, например viewmodel:get_name() -> viewmodelworld
2. material:get_texture_group_name()
Возвращает группу текущего материала, к примеру: Игрок - player.
3. material:var_flag(flag: number[, value: boolean])
Устанавливает или получает флаг для материала.
Чтобы установить, укажите номер флаг и его значение (флаги от 0-32)
Чтобы получить, оставьте значение value нетронутым.
4. material:shader_param(name: string[, value: any])
Устанавливает или получает параметры шейдеров для материала.
Чтобы установить, укажите название шейдера и его значение, например $phong.
Чтобы получить, оставьте значение value нетронутым.
5. material:color_modulate([color: color]) / material:alpha_modulate([alpha: number])
Получают или устанавливают цвет и альфу материала.
Чтобы получить, просто вызывайте функцию, без аргументов.
Внимание: alpha_modulate работает не на всех объектах, это связано из-за рендера чита.
6. material:is_valid()
Возвращает true, если материал является валидным для использованием, иначе false.
К примеру, если попытаться получить валидность нулевого материала (как я привел пример в material.create), то оно вернёт true.
7. material:reset()
Восстанавливает значения (var_flag, shader_param, color-alpha modulate) материала на исходные, заданные игрой.
Внимание: функция сбрасывает даже материал, который вы создали, но если материал будет пустой, то произойдет ошибка.
8. material:override(mat: Material)
Переносит значения с одного материала на другой.
Внимание: переносите значения между материалами, который в одной группе. Иначе будет ошибка с материалом, или он криво установится, что ломает PaintTraverse хук.
author: me