Привет, хотел бы узнать можно ли поставить фильтр постобработки на профессию, например , чтобы у профессии “Джагернаут” вид был таким.
@Karlend возможно, ты подскажешь?
-- addons/anyname/lua/autorun/client/jaggernaut_effect.lua
hook.Add("RenderScreenspaceEffects", "JaggernautEffect", function()
local lp = LocalPlayer()
if (lp:Alive() and lp:Team() == TEAM_JAGGERNAUT) then
DrawMaterialOverlay("effects/combine_binocoverlay", 0.1)
end
end)
мне кажется ты потерял папку autorun, потому что не работает, профессию проверил
tehya#6666
Данная проблема решена, код работает)
так напишите сюда, в чем была проблема…
Человек не туда закинул файлы, и все)
Где можно найти все пути к эффектам по типу?
“effects/combine_binocoverlay”
С помощью софтины GCFScape открывать .vpk
файлы и искать в них. Конкретно этот эффект лежит в GarrysMod\sourceengine\hl2_textures_dir.vpk
Для каждой профы отдельно создавать блакнотик?
Или все в 1?
Просто я делаю хл2рп и там много проф где нужен визор.
Или можно в 1 код запихнуть.
TEAM_RCT, TEAM_UNION?
-- addons/anyname/lua/autorun/client/jaggernaut_effect.lua
hook.Add("RenderScreenspaceEffects", "JaggernautEffect", function()
local lp = LocalPlayer()
if not lp:Alive() then return end
if (lp:Team() == TEAM_RCT or lp:Team() == TEAM_UNION or lp:Team() == TEAM_I_TAK_DALEE) then
DrawMaterialOverlay("effects/combine_binocoverlay", 0.1)
end
end)
Не советую прописывать прямо в коде скриптов TEAM_CONSTANT, потому что это усложняет дальнейшую поддержку кода. Вместо этого предлагаю такой вариант:
-- Есть смысл сделать эту функцию глобальной, например DarkRP.jobTableValue
local function jobTableValue(pl, key, fallback)
local t = pl:getJobTable()
return t and t[key] or fallback
end
-- addons/anyname/lua/autorun/client/jaggernaut_effect.lua
hook.Add("RenderScreenspaceEffects", "JaggernautEffect", function()
local lp = LocalPlayer()
if lp:Health() <= 0 then return end -- поскольку функция довольно тяжелая, то проверка на Health вместо Alive предпочтительне из-за своей скорости
if jobTableValue(lp, "combineoverlay") then
DrawMaterialOverlay("effects/combine_binocoverlay", 0.1)
end
end)
Затем для каждой желаемой профы прописать combineoverlay = true