[DarkRP] Как удалить материалы на сервере? Мне нужно удалить некоторые материалы!
Уточните вопрос, какие материалы именно?
Всякие прозрачнные.
Путь: garrysmod\gamemodes\sandbox\entities\weapons\gmod_tool\stools
Файл: material.lua
В нём:
Строка: 75 по 119
list.Add( "OverrideMaterials", "models/wireframe" )
list.Add( "OverrideMaterials", "debug/env_cubemap_model" )
list.Add( "OverrideMaterials", "models/shadertest/shader3" )
и всё что начинается на list.Add()
это материалы, можешь просто удалить строчки не нужных материалов или же приставить “–” перед ним, то есть вот так:
-- list.Add( "OverrideMaterials", "models/wireframe" )
-- list.Add( "OverrideMaterials", "debug/env_cubemap_model" )
list.Add( "OverrideMaterials", "models/shadertest/shader3" )
Так же важный момент, если хочешь узнать какой материал из игры находится в коде, можешь просто в игре навести на него курсор в Q меню, и высветится название материала, плюс ко всему этому они все показываются по порядку как в коде.
Благодарю.
Если лезть в файлы гмода, то намного труднее будет обновляться и бекапить сервер. Не делайте так. Можно запретить использовать материал через CanTool
хук. В примере ниже я запрещал наносить материал на пропы, которые становились прозрачными только с одной стороны, но похожим принципом можно запретить и сам материал
-- addons/anyname/lua/autorun/server/foobar.lua
local restricted_props = {
["models/props_building_details/storefront_template001a_bars.mdl"] = true,
["models/props_combine/combine_window001.mdl"] = true,
["models/props_combine/combine_fence01a.mdl"] = true,
["models/props_combine/combine_fence01b.mdl"] = true
}
local material_tools = {
["material"] = true,
["submaterial"] = true
}
local GetWeapon = PLAYER.GetActiveWeapon
local GetModel = ENTITY.GetModel
hook.Add("CanTool","FuckCheatWalls",function(pl,tr,tool)
-- Прозрачные с одной стороны пропы
if (material_tools[tool] and restricted_props[GetModel(tr.Entity)])
-- Режим "свечение мира". trigon.im/index.php?posts/36895/
or (tool == "colour" and GetWeapon(pl)["Tool"] and GetWeapon(pl)["Tool"]["colour"]:GetClientNumber("mode",0) == 9)
-- Админам + разрешаем
and !pl:isAdmin() then
notif(pl,"Извините, но на нашем сервере нельзя делать читерные укрытия",NRED)
return false
end
end)